← 返回章节
C 语言表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。
S1 C语言 › S1-2 数据类型及其运算 › S1-2.4 C 语言表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。
随机组卷按大纲配比:判断 8 · 单选 20 · 填空 10 · 综合 2(共 40 题 · 80 分)
- 填空98 以下程序的运行结果是______。 main() {int x,y,z; x=3; y=z=4; printf("%d,",(x>=y>=x)?1:0); printf("%d\n",z>=y&&y>=x); }做这题 →
- 填空102 当运行时输入:1992<CR>,则以下程序的运行结果是______。 main() {int y,t; scanf("%d",&y); t=((y%4==0)&&(y%100!=0)||y%400==0)?1:0; if(t) printf("%d is",y); else printf("%d is not",y); printf("a leap year"); }做这题 →
- 填空103 以下程序是计算x,y,z三个数中最小的。请分析程序填空。 main() {int x=4,y=5,z=8; int u,v; u=x<y?【1】; v=u<z?【2】; printf("%d",v); }做这题 →
- 填空105 执行以下程序后,a=【1】,b=【2】,c=【3】。 int x=10,y=9; int a,b,c; a=(x-- == y++) ? x-- : y++; b=x++; c=y;做这题 →
- 填空109 根据以下嵌套的if语句所给条件,填写switch语句,使它完成相同的功能。 (假设mark的取值在1-100之间) if语句: if(mark<60) k=1; else if(mark<70) k=2; else if(mark<80) k=3; else if(mark<90) k=4; else k=5; switch语句: switch(【1】) {【2】k=1;break; case 6 :k=2;break; case 7 :k=3;break; case 8 :k=4;break; 【3】k=5; }做这题 →
- 填空111 以下程序段的运行结果是______。 int x=1,y=0; switch(x) {case 1: switch(y) {case 0:printf("**1**\n");break; case 1:printf("**2**\n");break; } case 2:printf("**3**\n"); }做这题 →
- 填空112 根据以下函数关系,对输入的每个x值,计算出相应的y值。请分析程序填空。 main() {int x,c; float y; scanf("%d",&x); if(【1】) c=-1; else c=【2】; switch(c) {case –1:y=0;break; case 0:y=x;break; case 1:y=10;reak; case 2:case 3:y=-0.5*x+20;break; default:y=-2; } if(【3】) printf("y=%f",y); else printf("error\n"); }做这题 →
- 填空113 以下程序的运行结果是______。 main() {int a=2,b=7,c=5; switch(a>0) {case 1:switch(b<0) {case 1:printf("@");break; case 2:printf("!");break; } case 0:switch(c==5) {case 0:printf("*");break; case 1:printf("#");break; default:printf("#");break; } default:printf("&"); } printf("\n"); }做这题 →
- 填空114 下面程序的运行结果是______。 #include <stdio.h> main() {int x=1,y=0,a=0,b=0; switch(x) {case 1:switch(y) {case 0:a++;break; case 1:b++;break; } case 2:a++;b++;break; } printf("a=%d,b=%d",a,b); }做这题 →
- 填空117 以下程序计算某年某月有几天。其中判别闰年的条件是:能被4整除但不能被100整除的年是闰年,能被400整除的年也是闰年。请分析程序填空。 main() {int yy,mm,len; printf("year,month="); scanf("%d %d",&yy,&mm); switch(mm) {case 1: case 3: case 5: case 7:case 8: case 10:case 12:【1】;break; case 4: case 6: case 9: case 11:len=30;break; case 2:if(yy%4==0&&yy%100!=0||yy%400==0)【2】; else【3】; break; default:printf("input error");break; } printf("the length of %d %d is %d\n",yy,mm,len); }做这题 →
- 填空123 将以下程序段改用非嵌套的if语句实现。 int s,t,m; t=(int)(s/10); switch(t) {case 10:m=5;break; case 9:m=4;break; case 8:m=3;break; case 7:m=2;break; case 6:m=1;break; default: m=0; } ;做这题 →
- 填空126 请将以下语句改写成为switch语句。 if(s>0&&s<=10) if(s>=3&&s<=6) x=2; else if(s>1||s>8) x=3; else x=1; else x=0;做这题 →
- 填空127编程实现以下功能:读入两个运算数(data1和data2)及一个运算符(op),计算表达式data1 op data2的值,其中op可为+,-,*,/(用switch语句实现)。做这题 →
- 填空128 编一程序,对于给定的一个百分制成绩,输出相应的五分值成绩。设90分以上为'A',80-89分为'B',70-79分为'C',60-69分为'D',60分以下为'E'(用switch语句实现)。做这题 →
- 填空4下面程序段的运行结果是______。 a=1;b=2;c=2; while(a<b<c){t=a;a=b;b=t;c--;} printf("%d,%d,%d",a,b,c); A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,1做这题 →
- 填空5 下面程序段的运行结果是______。 x=y=0; while(x<15) y++,x+=++y; printf("%d,%d",y,x); A)20,7 B)6,12 C)20,8 D)8,20做这题 →
- 填空6下面程序段的运行结果是______。 int n=0; while(n++<=2); printf("%d",n); A)2 B)3 C)4 D)语法错误做这题 →
- 单选11下面程序的功能是在输入一批正整数中求出最大者,输入0结束循环,请选择填空______。 #include "stdio.h" main() {int a,max=0; scanf("%d",&a); while ( ) {if (max<a) max=a; scanf("%d",&a); } printf("%d",max);}做这题 →
- 单选14 C语言中while和do while循环的主要区别是______。做这题 →
- 单选15 以下能正确计算10!的程序段是______。做这题 →
- 填空18 若有语句如下,则程序段的输出是______。 int x=3; do {printf("%d",x-=2);}while(!(--x)); A)1 B)1和-2 C)3和0 D)死循环做这题 →
- 填空23 下面程序的运行结果是______。 #include <stdio.h> main() {int y=10; do {y--;}while(--y); printf("%d\n",y--); } A)-1 B)1 C)8 D)0做这题 →
- 填空25 下面程序的运行结果是______。 #include <stdio.h> main() {int a=1,b=10; do {b-=a;a++;}while(b--<0); printf("a=%d,b=%d\n",a,b); } A)a=3,b=11 B)a=2,b=8 C)a=1,b=-1 D)a=4,b=9做这题 →
- 单选27对for(表达式1; ;表达式3)可理解为______。做这题 →
- 填空28 若i为整型变量,则以下循环执行次数是______。 for (i=2;i==0;)printf("%d",i--); A)无限次 B)0次 C)1次 D)2次做这题 →
- 填空31下面程序段的运行结果是______。 for(y=1;y<10;)y=((x=3*y,x+1),x-1); printf("x=%d,y=%d",x,y); A)x=27,y=27 B)x=12,y=13 C)x=15,y=14 D)x=y=27做这题 →
- 填空32下面程序段的运行结果是______。 for(x=3;x<6;x++) printf((x%2)?("**%d"):("##%d\n")),x); A)**3 B)##3 C)##3 D)**3##4 ##4 **4 **4##5 **5 **5 ##5做这题 →
- 填空38 下面程序的运行结果是______。 #include<stdio.h> main() {int i; for(i=1;i<=5;i++) switch(i%5) {case 0:printf("*");break; case 1:printf("#");break; default:printf("\n");break; case 2:printf("&"); } } A)#&&* B)#& C)# D)#& & & &* & * &*做这题 →
- 填空39 下面程序的运行结果是______。 #include<stdio.h> main() {int x,i; for(i=1;i<=100;i++) {x=i; if(++x%2==0) if(++x%3==0) if(++x%7==0) printf("%3d",x); } } A) 39 81 B)42 84 C)26 68 D)28 70做这题 →
- 填空43 下面程序的运行结果是______。 #include<stdio.h> main() {int i,b,k=0; for(i=1;i<=5;i++) {b=i%2; while(b-->=0) k++; } printf("%d,%d",k,b); } A)3,-1 B)8,-1 C)3,0 D)8,-2做这题 →
- 单选47 以下是死循环的程序段是______。做这题 →
- 填空53下面程序的运行结果是______。 #include<stdio.h> main() {int a,b; for(a=1,b=1;a<=100;a++) {if(b>=20) break; if(b%3==1){b+=3;continue;} b-=5; } printf("%d\n",a); } A)7 B)8 C)9 D)10做这题 →
- 填空54下面程序的运行结果是______。 #include<stdio.h> main() {int i,j,x=0; for(i=0;i<2;i++) {x++; for(j=0;j<=3;j++) {if(j%2) continue; x++; } x++; } printf("x=%d\n",x); } A)x=4 B)x=8 C)x=6 D)x=12做这题 →
- 填空56下面程序的运行结果是______。 main() {int i,j,a=0; for(i=0;i<2;i++) {for(j=0;j<4;j++) {if(j%2) break; a++; } a++; } printf("%d\n",a); } A)4 B)5 C)6 D)7做这题 →
- 填空62下面程序的运行结果是______。 #include<stdio.h> main() {int a,s,n,count; a=2;s=0;n=1;count=1; while(count<=7) {n=n*a;s=s+n;++count;} printf("s=%d\n",s); }做这题 →
- 填空64 执行下面程序段后,k值是______。 k=1;n=263; do{k*=n%10;n/=10;}while(n);做这题 →
- 填空65 下面程序段中循环体的执行次数是______。 a=10;b=0; do{b+=2;a-=2+b;}while(a>=0);做这题 →
- 填空67下面程序段的运行结果是______。 i=1;a=0;s=1; do{a=a+s*i;s=-s;i++;}while(i<=10); printf("a=%d",a);做这题 →
- 单选20 对说明语句int a[10]={6,7,8,9,10};的正确理解是_______。做这题 →
- 单选21 以下不正确的定义语句是______。做这题 →
- 单选25以下程序段的作用是______。 int a[]={4,0,2,3,1},i,j,t; for (i=1;i<5;i++) {t=a[i];j=i-1; while (j>=0&&t>a[j]) {a[j+1]=a[j];j- -;} a[j+1]=t; }做这题 →
- 单选19 若用数组名作为函数调用的实参,传递给形参的是______。做这题 →
- 单选21 若使用一位数组名作为函数实参,则以下正确的说法是______。做这题 →
- 填空84 已有变量定义和函数调用语句:int x=57; isprime(x);函数isprime()用来判断一个整型数a是否为素数,若是素数,函数返回1,否则返回0。请编写isprime函数。做这题 →
- 填空设数组 a[1..10,1..8] 中的元素按行存放,每个元素占用 4 个存储单元,已知第一个数组元素 a[1,1] 的地址为 1004,那么 a[5,6] 的地址为()。做这题 →
- 填空利用条件运算符的嵌套来完成此题:学习成绩>=90 分的同学用 A 表示, 60-89 分之间的用 B 表示,60 分以下的用 C 表示。做这题 →
- 填空利用条件运算符的嵌套来完成此题:学习成绩>=90 分的同学用 A 表示,60-89 分之间的用 B 表示,60 分以下的用 C 表示。做这题 →
- 多选下列不属于 C 语言特点的是( )做这题 →
- 多选(3 分)【多选题】33.对于 switch 语句,一下描述正确的是( )。做这题 →
- 多选(3 分)【多选题】23.C 语言的运算符有以下几种( )。做这题 →