循环结构练习一
1、若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是
  for (i=5;i;i--)
  for (j=0;j<4;j++){...}
A) 20        B) 25      C) 24        D) 30
2、设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
3、当执行以下程序段时
  x=-1
  do { x=x*x} while( !x)
A) 循环体将执行一次      B) 循环体将执行两次
C) 循环体将执行无限次    D) 系统将提示有语法错误
4、若输入字符串:abcde<回车>,则以下while循环体将执行多少次。
  while((ch=getchar())=='e') printf("*");
A) 5        B) 4        C) 6        D) 1
5、有以下程序段
  int k=0;
  while (k=1) k++;
while循环执行的次数是
A) 无限次        B) 有语法错,不能执行  C) 一次也不执行  D) 执行一次
6、语句while(!e);中的条件 !e 等价于(    )
A) e==0      B) e!=1    C) e!=0      D) ~e
7、以下for循环是(    )
for(x=0,y=0;(y!=123) && (x<4);x++)
A) 无限循环    B) 循环次数不定    C) 执行4      D) 执行3
8C语言中while do-while 循环的主要区别是(    )
A) do-while的循环体至少无条件执行一次
B) while 的循环控制条件比do-while 的循环控制条件严格
C) do-while 允许从外部转到循环体内
D) do-while 的循环体不能是复合语句
9、以下叙述正确的是(    )
A) continue语句的作用是结束整个循环的执行
B) 只能在循环体内和switch语句体内使用break语句
C) 在循环体内使用break语句或continue语句的作用相同
D) 从多层循环嵌套中退出时,只能使用goto语句
10、对下面程序段,描述正确的是(    )
  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个非负整数
11、在下列选项中,没有构成死循环的程序段是
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;
12、以下程序的输出结果是
  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
13、以下程序的输出结果是(    )
  #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) **#*$
14、以下程序段的输出结果是(  )
  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
15、以下程序段的输出结果是(  )
  int k,n,m;
  n=10;m=1;k=1;
  while (k<=n) {m*=2;k+=4;}
  printf("%d\n",m);
A) 4      B) 16  C) 8      D) 32
16、设有如下程序段:
  int i=0, sum=1;
  do
  { sum+=i++;}
  while(i<6);
  printf("%d\n", sum);
上述程序段的输出结果是(    )
A) 11          B) 16    C) 22          D) 15
17、以下程序的输出结果是(    )
  #include <stdio.h>
  main( )
  { int count,i=0;
  for(count=1; count<=4; count++)
    {i+=2; printf("%d",i);}
  }
A) 20        B) 246    C) 2468      D) 2222
18、下面程序的输出结果是(    )
  main( )
  { unsigned int num,k;
    num=26;k=1;
    do {
        k*=num%10;
        num/=10;
      } while(num);
    printf("%d\n", k);
  }
A) 2          B) 12    C) 60        D) 18
19、阅读以下程序:
  main( )
  { int x;
    for(x=5;x>0;x--)
    if (x--<5) printf("%d,",x);
    else printf("%d,",x++);  }
程序运行后的输出结果是(    )
A) 4,3,1        B) 4,3,1,    C) 5,4,2        D) 5,3,1,
20、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出
最高成绩和最低成绩,当输入负数时结束输入。请填空。
  main( )
  { float x,amax,amin;
    scanf("%f",&x);
    amax=x;
    amin=x;
    while (________ )
    { if (x>amax) amax=x;
      if (______) amin=x;
      scanf("%f",&x);
    }
    printf("\namax=%f\namin=%f\n",amax,amin);
  }
A) x<=0            B) x>0          C) x>0              D) x>=0
      x>amin              x<=amin          x>amin              x<amin
21、下面程序是计算n个数的平均值,请填空。
  main( )
  { int i,n;
    float x,avg=0.0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
      { scanf("%f",&x);
        avg=avg+______; }
        avg=________;
    printf("avg=%f\n",avg);
  }
A) i          B) x      C) x        D) i
      avg/i      avg/n      avg/x      avg/n
22、在执行以下程序时,如果从键盘上输入:ABCdef<回车>
则输出为
  #include <stdio.h>
  main( )
  { char ch;
    while ((ch=getchar( ))!='\n')
    { if (ch>='A' && ch<='Z') ch=ch+32;
      else if (ch>='a' && ch<'z') ch=ch-32;
      printf("%c",ch);
    }printf函数输出整数时不能使用
    printf("\n");
  }
A) ABCdef        B) abcDEF
C) abc            D) DEF
23、运行以下程序后,如果从键盘上输入:65 14<回车>
则输出结果为
  main( )
  { int m,n;
    printf("Enter m,n:");
    scanf("%d%d",&m,&n);
    while (m!=n)
    { while (m>n) m-=n;
      while (n>m) n-=m;
    }
  printf("m=%d\n",m);
  }
A) m=3        B) m=2      C) m=1        D) m=0
24、下面程序的输出结果是(  )
  main( )
  { int x=10,y=10,i;

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