循环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;
2C语言的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小时内删除。