循环1
一、单项选择题
1、以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是__A____。
A. if((a>b)&&(b>c)) k=1; B. if((a>b)||(b>c)) k=1
else k=0; else k=0;
C. if(a<=b) k=0; D. if(a>b) k=1;
else if(b<=c) k=1; else if(b>c) k=1;
else k=0;
2、C语言的do_while循环中,循环由do开始,用while结束;而且在while表达式后面的___B___不能丢,它表示do_while循环的结束。
A. \n B. “;” C. “%” D. “,”
3、执行程序段: x=-1; do { x=x*x;} while(!x); 的结果是__C____。
A. 死循环 B. 循环执行2次
C. 循环执行一次 D. 有语法错误
4、下面程序段的输出结果是__D____。
int i,sum;
for(i=1;i<=10;i++)sum+=sum;
printf("%d\n",i);
A. 10 B. 9 C. 15 D.不确定
5、以下叙述正确的是___C___。
A. for循环中设置for(条件)break,当条件成立时中止程序执行。
B. for循环中设置for(条件)continue,当条件成立时中止本层循环。
C. for循环中设置for(条件)break,当条件成立时中止本层循环。
D. for循环中设置for(条件)break,当条件成立时暂停本次循环。
6、下面有关for循环的正确描述是__D____。
A. for循环只能用于循环次数已经确定的情况。
B. for循环是先执行循环体语句,后判断表达式。
C. 在for循环中,不能用break语句跳出循环体。
D. for循环的循环体语句中,可以包含多条语句。
7、以下能正确计算1×2×3×4...×10的程序段是__C____。
A. do {i=1; s=1; s=s*i; i++; } while(i<=10);
B. do {i=1; s=0; s=s*i; i++; } while(i<=10);
C. i=1; s=1; do {s=s*i; i++; } while(i<=10);
D. i=1; s=0; do {s=s*i; i++; } while(i<=10);
8、有以下程序 B
#include <stdio.h>
void main()
{ int a=5,b=4,c=3,d=2;
if (a>b>c) printf("%d\n", d);
else if ( (c-1>=d) ==1) printf("%d\n", d+1);
else printf("%d\n", d+2);
}
执行后输出结果是__B____。
A. 2 B. 3
C. 4 D. 编译时有错,无结果
9、以下程序段的输出结果是__D____。
int x,i;
for (i=1;i<=100;i++)
{ x=i; if (++x%2==0) if (++x%3==0) if (++x%7==0) printf("%d ",x); }
A. 39 81 B. 42 84 C. 26 68 D. 28 70
10、设有程序段: int k=10; while(k=0) k=k-1; ,则下面描述正确的是___C___。
A. while 循环执行10次 B.循环是无限循环
C. 循环体语句一次也不执行 D.循环体语句执行一次
11、有以下程序:
#include<stdio.h>
void main() { while(putchar(getchar())!='?'); }
当输入"china?"时,程序的执行结果是_D_____。
A. china B. dijob C. dijob? D. china?
12、下面程序的运行结果是_B_____。
#include<stdio.h>
void 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
13、若有条件表达式(expression) ?a++:b--,则以下表达式中能完全等价于表达式(expression)的是___B___。
A. (expression==0) B. (expression!=0)
C. (expression==1) D. (expression!=1)
14、下面循环的循环次数是___D___。
int x=3; while(x=0){printf("%d\n",x); x--;}
A. 3次 B. 2次 C. 1次 D. 0次
15、设i为整型量,执行循环语句for(i=500;i>=0;i-=100);后,i值为___D___。
A. 500 B. 0 C. 100 D. -100
16、以下_B_____为不正确的if语句。
A. if(x<y);
B. if(x!=y) scanf("%d",&x) else scanf("%d",&y);
C. if(x==y) x+=y;
D. if(x<y) {x++;y++;}
17、下面程序段运行结果是_A_____。
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
18、下面程序段的输出结果是___A___。
int i,j,k;
for(i=2;i<6;i++,i++)
{ k=1; for(j=i;j<6;j++) k+=j;}
printf("%d\n",k);
A. 10 B. 9 C. 8 D. 11
19、循环语句for(i=0,x=0;!x&&i<=5;i++);的执行次数为__B____。
A. 5次 B. 6次 C. 1次 D. 无限
20、以下描述正确的是__C____。
A. goto语句只能用于退出多层循环
B. switch语句中不能出现continue语句
C. 只能用continue语句来终止本次循环
D. 在循环中break语句不能独立出现
21、对于for(表达式;;表达式3)可理解为___B___。
A. for(表达式;0;表达式3)
B. for(表达式;1;表达式3)
C. for(表达式;表达式1;表达式3)
D. for(表达式;表达式3;表达式3)
22、以下不正确的描述是__B____。
A. break 语句不能用于循环语句和switch语句外的任何其他语句
B. 在switch语句中使用break语句或continue语句的作用相同
C. 在循环语句中使用continue语句是为了结束本次循环,while语句都可以用for改写而不是终止整个循环的执行
D. 在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环
23、下面程序段的输出结果是__D____。
int x=3;
do{printf("%3d",x-=2);} while(!(--x));
A. 1 2 B. 3 2 C. 2 3 D. 1 -2
24、请阅读以下程序:
#include <stdio.h>
void main ()
{ char c; c=getchar();
if ((c>='A'&&c<='Z')||(c>='a'&&c<='z'))
printf("input character is letter\n");
else if (c>='0'&&c<='9')
printf("input character is digit\n");
else
printf("other character\n");
}
若运行时输入大写字母A,则上面程序的输出结果是__A____。
A. input character is letter
B. input character is digit
C. other character;}
D. A
25、有如下语句 int x=3; do { printf("%d\n",x-=2);} while(!(--x)); 则上面程序段___B___。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论