if(a=b+c)printf(\\n\); else printf(\$$$\n\); } 以上程序
A)有语法错不能通过编译 B)可以通过编译但不能通过连接 C)输出*** D)输出$$$ 正确答案: D
5.16 若执行下述程序时,若从键盘输入6和8时,结果为 main() {int a,b,s;
scanf(\); s=a; if(a
printf(\); } A)36 B)64 C)48 D)以上都不对 正确答案: B
printf(\\n\);} 该程序的输出结果是 A)0.000000 B)0.250000 C)0.500000 D)1.000000 正确答案: C
5.18 以下4个选项中,不能看做一条语句的是 A);
B)a=5,b=2.5,c=3.6; C)if(a<5); D)if(b!=5)x=2;y=6; 正确答案: D
5.19 若int k=8;则执行下列程序后,变量k的正确结果是 main() {int k=8; switch(k) {case 9:k+=1; case 10:k+=1; case 11:k+=1;break; default:k+=1;} printf(\\n\);} A)12 B)11 C)10 D)9 正确答案: D 5.20 阅读如下程序段 #include \main()
{ int a=45,b=40,c=50,d; d=a>30?b:c; switch(d)
{ case 30 : printf(\); case 40 : printf(\); case 50 : printf(\); default : printf(\);}} 则输出的结果是 A)40,50, B)50,# C)40,# D)40,50,# 正确答案: D
5.21 现有如下程序段,此程序段编译有错误,则程序段的错误出在 #include main()
{ int a=30,b=40,c=50,d; d=a>30?b:c;
switch(d)
{ case a:printf(\); case b:printf(\); case c:printf(\); default:printf(\);}}
A)default:printf(\);这个语句 B)d=a>30?b:c;这个语句
C)case a:printf(\); case b:printf(\); case c:printf(\);这三个语句
D)switch(d)这个语句 正确答案: C
二、填空题(请将每一个空的正确答案写在答题卡相应序号后。) 5.22 设y是int型,请写出y为奇数的关系表达式 【1】 。 正确答案: (y%2)==1 或 (y%2)!=0
5.23 设int a=5,b=6,表达式(++a= =b- -)?++a:--b的值是【2】正确答案: 7
5.24 将以下程序写成三目运算表达式是【3】 。 if(a>b)max=a; else max=b;
正确答案: max=(a>b)?a:b; 5.25 以下程序输出的结果是【4】。 main()
{ int a=5,b=4,c=3,d; d=(a>b>c); printf(\\n\); }
正确答案: 0
5.26 若从键盘输入58,则以下程序输出的结果是 【5】 。 main() {int a;
scanf(\);
if(a>50)printf(\); if(a>40)printf(\); if(a>30)printf(\); }
正确答案: 585858
。
5.27 阅读下面语句,则程序的执行结果是 【6】 。 #include \main()
{ int a=-1,b=1,k;
if((++a<0)&&!(b- -<=0)) printf(\\n\); else printf(\\n\);} 正确答案: 1,0
5.28 阅读下面程序,则在执行时候的输出为 【7】 。 #include \main()
{int x=1,y=2,z=0; if(x=2)z=x,x=y,y=z; printf(\\n\);} 正确答案: 2,2
5.29 以下程序的输出结果是【8】。 main()
{ int x=100, a=10, b=20, ok1=5, ok2=0; if(a
else if(ok2)x=10; else x=-1;
printf(\\n\);} 正确答案: -1
5.30 阅读下面的程序,当程序在执行时,如果输入的是′A′,则输出结果为 【9】#include \main() {char a; a=getchar(); switch(a)
{ case 65: printf(\′A′); case 66: printf(\′B′); default :printf(\\n\);}} 正确答案: ABother
2011年计算机等级二级C语言章节习题及答案(5)
第6章 循环控制
。
一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。)
6.1 对表达式for(表达式1; ;表达式3)可理解为 A)for(表达式1;0;表达式3) B)for(表达式1;1;表达式3) C)for(表达式1;表达式1;表达式3) D)for(表达式1;表达式3;表达式3) 正确答案: B
6.2 在下列选项中,没有构成死循环的是 A)int i=100; while(1) {i=i0+1;
if(i>100)break; }
B)for(;;); C)int k=10000;
do{k++;}while(k>10000); D)int s=36; while(s)--s; 正确答案: D
6.3 下面有关for循环的正确描述是
A)for循环只能用于循环次数已经确定的情况 B)for循环是先执行循环体语句,后判断表达式 C)在for循环中,不能用break语句跳出循环体
D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 正确答案: D
6.4 若int i,j;,则for(i=j=0;i<10&&j<8;i++,j+=3)控制的循环体执行的次数是 A)9 B)8 C)3 D)2 正确答案: C
6.5 阅读下列程序段,则程序的输出结果是 #include \main()
{ int a=10,b=10,k; for(k=0;a>8;b=++k)
printf(\);