C语言循环结构选择题
1、在C语言中,下列说明正确的是
A) 不能使用 do-while构成的循环
B) do-while构成的循环必须用break才能退出
C) do-while构成的循环,当while中的表达式值为非零时结束循环
D) do-while构成的循环,当while中的表达式值为零时结束循环
D
2、以下叙述正确的是
A) do-while语句构成的循环不能用其它语句构成的循环来代替
B) do-while语句构成的循环只能用break语句退出
C) 用do-while语句构成的循环,在while后的表达式为非零时结束循环
D) 用do-while语句构成的循环,在while后的表达式为零时结束循环
D
3、若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是
  for (i=5;i;i--)
  for (j=0;j<4;j++){...}
A) 20        B) 25
C) 24        D) 30
A
4、设i,j,k均为int型变量,则执行完下面的for循环后,k的值为
  for(i=0,j=10;i<=j;i++,j--) k=i+j;
A) 12        B) 10
C) 11        D) 9
B
5、当执行以下程序段时
  x=-1;
  do { x=x*x;} while( !x);
A) 循环体将执行一次
B) 循环体将执行两次
C) 循环体将执行无限次
D) 系统将提示有语法错误
A
6、执行语句:for(i=1;i++<4;);后变量i的值是
A)3          B)4
C)5          D)不定
C
7、要使以下程序段输出10个整数,请填入一个整数。
  for(i=0;i<=___;printf("%d\n",i+=2));
A) 17        B) 18
C) 20        D) 21
B
8、若输入字符串:abcde<回车>,则以下while循环体将执行多少次。
  while((ch=getchar())=='e') printf("*");
printf函数输出整数时不能使用A) 5        B) 4
C) 6        D) 1
B
9、t为int型,进入下面的循环之前,t的值为0
  while (t=1) { …… }
则以下叙述中正确的是
A) 循环控制表达式的值为0  B) 循环控制表达式的值为1
C) 循环控制表达式不合法    D) 以上说法都不对
B
10、有以下程序段
  int k=0;
  while (k=1) k++;
while循环执行的次数是
A) 无限次        B) 有语法错,不能执行
C) 一次也不执行  D) 执行一次
A
11、C语言用(    )表示逻辑"真"值。
A) true          B) t 或 y
C) 1            D) 0
C
12、语句while(!e);中的条件 !e 等价于(    )。
A) e==0      B) e!=1
C) e!=0      D) ~e
A
13、以下for循环是(    )。
for(x=0,y=0;(y!=123) && (x<4);x++)
A) 无限循环    B) 循环次数不定
C) 执行4次      D) 执行3次
C
14、对于for(表达式1;;表达式3)可理解为(    )。
A) for(表达式1;0;表达式3)
B) for(表达式1;1;表达式3)
C) for(表达式1;表达式1;表达式3)
D) for(表达式1;表达式3;表达式3)
B
15、C语言中while 和do-while 循环的主要区别是(    )。
A) do-while的循环体至少无条件执行一次
B) while 的循环控制条件比do-while 的循环控制条件严格
C) do-while 允许从外部转到循环体内
D) do-while 的循环体不能是复合语句
A
16、下面关于for循环的正确描述是(    )。
A) for循环只能用于循环次数已经确定的情况
B) for循环的循环体可以是一个复合语句
C) 在for循环中,不能用break语句跳出循环体
D) for循环的循环体不能是一个空语句
B
17、若i为整型变量,则以下循环语句的循环次数是(  )。
  for(i=2;i==0;)
  printf("%d",i--);
A) 无限次      B) 0次
C) 1次          D) 2次
B
18、以下叙述正确的是(    )。
A) continue语句的作用是结束整个循环的执行
B) 只能在循环体内和switch语句体内使用break语句
C) 在循环体内使用break语句或continue语句的作用相同
D) 从多层循环嵌套中退出时,只能使用goto语句
B
19、对下面程序段,描述正确的是(    )。
  for(t=1;t<=100;t++)
  { scanf("%d",&x);
    if (x<0) continue;
    printf("%d\n",t);
  }
A) 当x<0时,整个循环结束
B) 当x>=0时,什么也不输出
C) printf函数永远也不执行
D) 最多允许输出100个非负整数
D
20、对下面程序段叙述的正确的是(    )。
  int k=0;
  while (k=0) k=k-1;
A) while循环执行10次      B) 无限循环
C) 循环体一次也不被执行    D) 循环体被执行一次
C
21、若i,j已定义成int型,则以下程序段中内循环体的总
执行次数是(    )。
  for(i=3;i;i--)
    for(j=0;j<2;j++)
      for(k=0;k<=2;k++)
        {......}
A) 18          B) 27
C) 36          D) 30
A
22、下面程序段中,循环体的执行次数是(    )。
  int a=10,b=0;
  do {b+=2;a-=2+b;} while(a>=0);
A) 4        B) 5
C) 3        D) 2
C
23、在下列选项中,没有构成死循环的程序段是
A) int i=100;
  while (1)
  { i=i%100+1;
    if (i>100) break;
  }
B) for( ; ; );
C) int k=1000;
  do {++k;} while (k>=1000);
D) int s=36;
  while (s) --s;
D
24、请读程序:
    #include <stdio.h>
    main( )
    { int a,b;
      for(a=1,b=1;a<=100;a++)
      { if (b>=20) break;
        if (b%3==1)
          { b+=3;
            continue;
          }
        b-=5;
      }
    printf("%d\n",a);
    }
上面程序的输出结果是
A) 7          B) 8
C) 9          D) 10
B
25、以下程序的输出结果是
  main( )
  { int a,b;
    for(a=1,b=1;a<=100;a++)
    { if (b>=10) break;
      if (b%5==1) { b+=5; continue;  }  }
    printf("%d\n",a);  }
A) 101        B) 6
C) 4          D) 3
D
26、若x是int型变量,且有下面的程序片段:
  for(x=3;x<6;x++)
  printf((x%2)?("**%d"):("##%d\n"),x);
上面程序片段的输出结果是
A) **3          B)  ##3
  ##4            **4
  **5            ##5
C) ##3        D) **3##4
  **4##5        **5
D
27、以下程序的输出结果是(    )。
  #include <stdio.h>
  main()
    {
    int i;
    for(i=1;i<=5;i++)
      if(i%2)
      printf("*");
    else  continue;
      printf("#");
    printf("$\n");
    }
A) ***#$              B) #*#*#*$
C) *#*#*#$            D) **#*$
A
28、下面程序的输出结果是(  )。
  main( )
  { int i;
    for(i=1;i<=5;i++)
    { if (i%2) printf("*");
      else continue;
      printf("#");
    }
    printf("$\n");
  }
A) *#*#*#$      B) #*#*#*$
C) #*#*$        D) *#*#$
A
29、以下程序段的输出结果是(  )。
  int k,j,s;
  for(k=2;k<6;k++,k++)
  { s=1;
    for(j=k;j<6;j++)
    s+=j;}
  printf("%d\n",s);
A) 1        B) 9
C) 11        D) 10
D
定义如下变量:
  int n=10;
则下列循环的输出结果是(  )。
  while(n>7)
  { n--; printf("%d\n",n);}
A) 10        B) 9          C) 10        D) 9

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。