循环2
一、单项选择题
1. 以下程序的输出结果是______。
#include<stdio.h>
void main()
{ int num=0; while(num<=2) { num++; printf("%d",num); } }
A. 2 B. 1 C. 123 D. 12
参考标准答案 :C
2. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是______。
#include <stdio.h>
void main()
{ int x; scanf("%d",&x);
if(x>5)printf("%d",x);
else printf("%d\n",x--);
}
A. 7和5 B. 6和3 C. 7和4 D. 6和4
参考标准答案 : D
3. 以下描述中正确的是______。
A. 由于do-while循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。
B. do-while循环由do开始,用while结束,因此在while(表达式)后无需加分号。
C. 在do-while循环体中,一定要有能使while后面表达式的值变为“假”的操作。
D. do-while循环中,根据情况可以省略while。
参考标准答案 : C
4. 下面程序段的输出结果是______。
int i=10;
while(i>7) { i--; printf(" %d",i); }
A. 10 9 8 B. 9 8 7 C. 10 9 8 7 D. 8 9 10
参考标准答案 :B
5. 若i为整型变量,则以下循环执行的次数是______。
for(i=2;i==0;) printf("%d",i--);
A. 无限次 B. 0次 C. 1次 D. 2次
参考标准答案 : B
6. 执行下面程序段后,i值是______。
int i=0; do {++i; if(i%2!=0);}while(i<=100);
A. 101 B. 100 C. 99 D. 98
参考标准答案 : A
7. 若变量都已正确说明,则以下程序段输出为______。
int a=1,b=2,c,d;
if (a==b) c=d=a;
else c=b;
d=b;
printf("c=%d,d=%d",c,d);
A. c=1,d=1 B. c=1,d=2 C. c=2,d=1 D. c=2,d=2
参考标准答案 : D
8. 以下程序输出结果是______。
#include <stdio.h>
void main ( )
{ int m=5;
if (m++>5) printf("%d\n",m);
else printf("%d\n",m--); }
A. 7 B. 6 C. 5 D. 4
参考标准答案: B
9. 在C语言中______。
A. 不能使用do_while语句构成的循环
B. do_while语句构成的循环必须用break语句才能退出
C. do_while语句构成的循环,当while语句中的表达式为非0时结束循环
D. do_while语句构成的循环,当while语句中的表达式为0时结束循环
参考标准答案案: D
10. 在下列选项中,没有构成死循环的程序段是______。
A. int i=100; while (1) {i=i%100+1; if(i>100)break;}
B. for(;;);
C. int k=1000; do{--k} while (k)
D. int s=36; while(s>=0);++s;
参考标准答案: C
11. 以下叙述正确的是______。
A. 可以把define和if定义为用户标识符
B. 可以把define定义为用户标识符,但不能把if定义为用户标识符
C. 可以把if定义为用户标识符,但不能把define定义为用户标识符
D. define和if都不能定义为用户标识符
参考标准答案: B
12. 下面有关for循环的正确描述是______。
A. for循环只能用于循环次数已经确定的情况
B. for循环是先执行循环体语句,后判定表达式
C. 在for循环中,不能用break语句跳出循环体
D. for循环体语句中,可以包含多条语句,但要用花括号括起来 参考标准答案: A
13. 下面说法中正确的是______。
A.编程时,应该尽量控制嵌套循环的重数。
B.编程时,变量名应尽可能的简短。
C.编程时,应多用goto语句,以增强程序的灵活性。
D.编程时,要尽可能的简洁而新颖,可理解性是第二位的。
参考标准答案: Awhile语句怎么退出
14. 以下程序的输出结果是______。
# include <stdio.h>
void main()
{ int i=0, j=0, k=6;
if ((++i>0)||(++j>0)) k++;
printf("%d, %d, %d\n", i, j, k);
}
A. 0, 0, 6 B. 1, 0, 7 C. 1, 1, 7 D. 0, 1, 7
参考标准答案 B
15. C语言的for语句中的表达式可以部分或全部省略,但两个______不可省略。但当三个表达式均省略后,因缺少判断条件,循环会无限制地进行下去,形成死循环。
A. “<” B. “++” C. “;” D. “,”
参考标准答案 C
16. 以下程序段中不能根据x值正确计算出y值的是______。
A. if(x>0) y=1; B. y=0;
else if(x==0) y=0; if(x>0) y=1;
else y=-1; else if(x<0) y=-1 ;
C. y=0; D. if(x>=0)
if(x>=0); if(x>0) y=1;
if(x>0) y=1 ; else y=0;
else y=-1; else y=-1;
参考标准答案 C
17. 设有程序段: int x=0,s=0; while(!x!=0) s+=++x; printf("%d",s); ,则运行程序段后______。
A.输出0 B.输出1
C.控制表达式是非法的 D.执行无限次
参考标准答案 B
18. 以下的for循环,______。for(x=0,y=0;(y!=123)&&(x<4);x++);
A.执行3次 B.执行4次
C.循环次数不定 D.是无限循环
参考标准答案 B
19.请阅读以下程序:
#include<stdio. h>
void main()
{ float a,b; scanf("%f",&a);
if (a<10.0) b=1.0/a;
else if((a<0.5)&&(a!=2.0))b= 1.0/(a十2.0);
else if(a<10.0) b= 1.0/a ;
else b=10.0;
printf("%f\n",b);
}
若运行时输入2.0(回车),则上面程序的输出结果是______。
A. 0.000000 B. 0.500000 C. 1. 000000 D. 0.250000
参考标准答案 B
20. 语句while (!e);中的条件!e等价于______。
A. e==0; B. e!=1 C. e!=0 D. ~e
参考标准答案 A
21. 以下程序输出结果为______。
#include <stdio.h>
void main()
{ int i,b,k=0;
for(i=1;i<=5;i++) { b=i%2; while (b-->=0) k++;} printf("%d,%d\n",k,b); }
A. 3,-1 B. 8,-1 C. 3,0 D. 8,-2
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论