C
以下程序的运行结果是 : main() {int m=5;
if(m++> 5) printf(\ e1se printf(\ A)4 B)5 C)6 D)7 * B
当a=1,b=3,c=5,d=4 ,执行完下面一段程序后x 的值是 : if(a
if(c if(b A)1 B)2 C)3 D)6 * C 以下程序的输出结果是: main() {int a=100,x =10,y=20,okl=5,ok2=0; if (x if(ok2) a=10; a=-1; printf(\ A) 1 B) 0 C)-1 D)值不确定 * B 以下程序的输出结果是: main() {int x= 2,y=-1,z=2; if (x if(y<0) z= 0; else z+ =1; printf(\ A)3 B )2 C)1 D) 0 * B 为了避免在嵌套的条件语句If一else中产生二义性, C语言规定else子句总是与( )配对。 A)缩排位置相同的if B)其之前最近的if C) 之后最近的if D)同一行上的if * B 以下不正确的语句为: A) if(x>y); B) if (x= y) &&(x! = 0) x+= y; C) if(x!= y)scanf(\ D) if(x< y){x++ ;y++;} * B 请阅读以下程序: #include {float a,b scanf(\if (a<0.0) b=0.0; else if((a<0.5) &&(a!=2.0)) b= 1.0/(a+2.0); else if(a<10.0) b= 1.0/x ; else b=10.0; printf(\ 若运行时输入2.0(回车),则上面程序的输出结果是: A)0.000000 B)0.500000 C) 1. 000000 D) 0.250000 * B 若有条件表达式(exp) ? a++:b--,则以下表达式中能完全等价 于表达式(exp)的是: A) (exp==0) B) (exp!=0) C) (exp==1) D) (exp!=1) A 若运行时给变量x 输入12,则以下程序的运行结果是: main() {int x,y; scanf(\ y=x>12 ? x+10:x-12; printf(\ A)0 B)22 C)12 D)10 * D 以下程序的运行结果是: main()' {int k= 4,a=3,b=2,c=1; printf(\ A)4 B )3 C)2 D)1 * B 执行以下程序段后,变量a,b,c的值分别是: int x=10,y=9; int a,b,c; a =(--x==y++)?--x:++y ; b = x++; c = y; A)a=9,b=9,c= 9 B )a=8,b=8,c=10 C)a=9,b=10,c=9 D)a=1,b=11,c=10 * A 若w,x,y,z,m均为int型变量,则执行下面语句后的m值是: w= 1;x = 2;y= 3;z=4; m=(w A)1 B )2 C)3 D)4 * D 若w=1,x=2,y=3,z=4,则条件表达式w 执行以下程序段后的输出结果是 int w=3, z=7,x =10; printf(\ printf(\ printf(\ printf(\ A)0 B) 1 C)0 D) 0 * C 设有程序段 int k=10; while (k=0) k= k-1; 则下面描述中正确的是 A) while循环执行10次 B)循环是无限循环 C) 循环体语句一次也不执行 D)循环体语句执行一次 * B 有以下程序段 int x=0,s=0; while (!x!= 0) s+=++x; printf(\则 A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中的控制表达式是非法的 D)程序段执行无限次 * A 语句while(!E)中的表达式!E等价于: A) E==0 B) E!=1 C) E!=0 D) E==1 * A 下面程序段的运行结果是: a=1;b= 2;c=2; while(a A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,1 * C 下面程序段的运行结果是: x=y=0; while(x<15) y++,x+=++y; printf(\ A) 20,7 B)6,12 c) 20,8 D)8,20 * C 下面程序段的运行结果是 int n=0; while(n++<=2); printf(\ A)2 B)3 C)4 D)有语法错 * B 设有程序段 t=0; while (printf(\ {t++; if(t<3) break } 下面描述正确的是: A)其中循环控制表达式与0等价 B)其中循环控制表达式与'0'等价 C)其中循环控制表达式是不合法的 D)以上说法部不对 * B 下面程序的功能是将从键盘输入一对数,由小到大排序输出。 当输入一对相等数时结束循环,请选择填空: #include {int a,b,t; scanf(\while( 【1】 ) {if(a>b) {t=a;a=b;b=t;} printf(\scanf(\ 【1】 A) !a=b B) a!=b C) a==b D) a=b * C 下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m 和小写字母的个数n,并输出m、n中的较大者,请选择填空: #include \ main() {int m=0,n=0; char c; while((【1】)!='\\n') { if(c>='A' && C<='Z') m++ ; if(c>='a' && c<='z') n++; } printf(\ 【1】 A) c=getchar() B) getchar() C)c=getchar() D) scanf(\* C 下面程序的功能是将小写字母变成对应大写字母后的第二个字母。 其中y变成A,z 变成B.请选择填空。 #include \ main() {char c; while((c=getchar())!='\\n') {if(c>= 'a'&& c<='z') c-=30; if(c>'Z' && c<='Z'+ 2) 【2】; } printf(\ 【2】A) c='B' B) c='A' C) c-=26 D) c=c+26 * B 下面程序的功能是在输入的一批正整数中求出最大者,输入0 结束循环,请选择填空。 #include {int a,max= 0; scanf(\ while(【1】) {if(max 【1】 A) a==o B)a C) !a==1 D)!a * C 下面程序的运行结果是。 #include { int num= 0; while(num<=2) {num++ printf (\ A)1 B ) 1 c)1 D)1 2 2 2 3 3 4 * C 以下程序段 x= -1; do {x=x*x;} while(!x); A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误 * C 以下描述中正确的是: A)由于do一while循环中循环体语句只能是一条可执行语句, 所以循环体内不能使用复合语句 B)do一while循环由do开始,用while结束,在while(表达式) 后面不能写分号 C)在do一while循环体中,一定要有能使while后表达式值 变为零(\假\的操作 D)do一while循环中,根据情况可以省略while * B 若有如下语句 int x=3; do { printf(\ 则上面程序段 A)输出的是 1 B)输出的是1和-2 C)输出的是3和0 D)是死循环 * 下面程序的功能是计算正整数2345的各位数字平方和,请选择填空。 #include {int n,sum=0; n=2345 do{ sum=sum+(n)*(n)}; n=【2】; }while(n); printf(\ 【2】 A) n/1000 B)n/100 C) n/10 D) n * B 下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入 0时结束循环。请选择填空。 # include {1ong int num; scanf(\ do { if( 【1】) printf(\ scanf(\ }while(!num==0);} 【1】 A) num B) num>0==0 C)!num==0 D) !num!= 0 * B 下面程序的功能是把316表示为两个加数的和,使两个加数分别能被 13和11整除。请选择填空。 #include {int i=0,j,k; do{ i++;k=316-13*i;} while(【1】);j=k/11; printf(\ 【1】A)k/11 B) k C) k/11==0 D) k/11== 0