第4章循环结构
一、选择题
1有以下程序段
int  k=0
while(k=1)k++;
while  循环执行的次数是 A
A) 无限次                B) 有语法错,不能执行
C) 一次也不执行            D) 执行1
2tint类型,进入下面的循环之前,t的值为0
while( t=1)
{    ……  }
则以下叙述中正确的是 B
A) 循环控制表达式的值为0       
B 循环控制表达式的值为1
C) 循环控制表达式不合法   
D) 以上说法都不对
3、在C程序中,与while(m)中表达式m完全等价的是 (B )
A) m==0  B)  m!=0  C)  m==1  D) m!=1
4有以下程序,程序运行后的输出结果是(C ).
main()
{int i=1,sum=0;
while(i<=4)
  sum=sum+i;
  i=i+1;
}
printf(“%d\n”,sum);}
A)4    B)5    C)10  D)死循环
5有以下程序,程序运行后的输出结果是(D ).
main()
{ int i=1,sum=0;
while(i<=4)
sum=sum+i;
i=i+1;
printf(“%d\n”,sum);
A)4    B)5    C)10  D)死循环
6有如下程序
main(){   
int  n=9;
while(n>6){n-—;printf(“%d",n);}
}
该程序段的输出结果是B
A) 987      B) 876      C) 8765      D) 9876
7以下程序的输出结果是      B
main()
{  int  num= 0;
while(num<=2)
{  num++;  printf(“%d\n”,num);}
}
A)  1            B) 1              C)1      D) l
    2                2              2
    3                3
    4
8、有以下程序,若运行时输入3.6 2.4<回车,则输出的结果是( B)。
main()
{float x,y,z;
scanf(“%f%f”,&x,&y);
z=x/y;
while(1){
    if(fabs(z)>1。0)
      {
      x=y;
      y=z;
      z=x/y;}
    else
      break;}
  printf(“%f\n”,y);}
A)1.500000  B)1.600000  C)2。000000    D)2.400000
9、执行以下程序段时
x=—1;
do 
{ x=x*x; }
while(! x);
则下面描述正确的是(A )
A) 循环体将执行一次          B) 循环体将执行两次
C) 循环体将执行无限次        D) 系统将提示有语法错误
10、有以下程序段其输出结果是(C                  
int  x=3;
do
{ printf(”%d",x-=2); }
while (!(—-x));
A) 1  B) 3  0 C) 1  -    D) 死循环
11有如下程序 
main(){   
int  x=23;
do
{
printf(“%d",x);
x——;
}while(!x);
该程序的执行结果是(B
A) 321    B) 23    C) 不输出任何内容  D) 陷入死循环
12有以下程序段
int n=0,p;
do{scanf(“%d”,&p);n++;}while(p!=12345 &&n<3);
此处do—while循环的结束条件是( D)
A) P的值不等于12345并且n的值小于3
B) P的值等于12345并且n的值大于等于3
C) P的值不等于12345或者n的值小于3
D) P的值等于12345或者n的值大于等于3
13、以下不构成无限循环的语句或语句组是(A)
A) n=0;
  do {++n;}while(n〈0);
B) n=0;
  while(1){n++;}
C) n=10;
  while(n);{n——;}
D) for(n=0,i=1; ;i++)n+=i;
14、若i为整型变量,则以下循环执行的次数是(B)
for(i=2i= =0)  printf(“%d”,i——);
A)无限次  B0  C1  D)2
15、执行语句for(i=1;i++〈4;)变量i的值是(C
A) 3      B) 4      C) 5    D) 不定
16、有以下程序
main()
{
int  y=9 ;
for( ; y>0 ; y—-)
    if(y%3==0 )  printf(”%d" , -—y) ;
}
程序的运行结果是(C)
A 741      B963      C852      D875421
17以下程序执行后sum的值是( C
A)15            B)14        C) 不确定      D)0
main()
{ int  i ,  sum;
  for(i=1;i<6;i++) sum+=i;
  printf(“%d\n”,sum);
18有如下程序
main()
{ int i,sum=0;
for(i=1;i<=3;sum++) sum+=i;
printf(“%d\n",sum);
该程序的执行结果是C)
A) 6        B) 3      C) 死循环    D) 0
19执行语句for(i=3;i>0;i-—);i--;后,变量i的值是(C
A)0      B)10      C)—1    D)1
20执行下面程序片段的结果是(A )。
int x;
for(x=3;x<6;x++)
  printf((x%2)?(“**%d”):("##%d\n”),x);
A)**3##4            B)##3
  **5                **4##5
C)##3**4            D)**3##4
  **5                ##5
continue语句执行过程21、有以下程序,执行后输出的结果是(A )。
main()
{ int i;
for(i=0;i〈3;i++)
    switch(i)
      { case 1: printf("%d",i);
        case 2: printf("%d”,i);
        default: printf("%d",i);
      }
  }
A) 011122 B) 012 C) 012020 D) 120
22有以下程序,程序运行后的输出结果是(C )。
main()
{ int k=4,n=0;
  for( ; n〈k ; )
    { n++;
      if(n%3!=0) continue;
      k-—;
    }
printf("%d,%d\n”,k,n);
A1,1 B)2,2 C)3,3 D)4,4
23、设变量已正确定义,则以下能正确计算f = n!的程序段是(D
A) f=0 ;
  for(i=1;i〈=n;i++)  f*=i;
B) f=1;
for(i=1;i<n;i++)  f=f*i;
C) f=1; 
  for(i=n;i〉1;i++)  f*=i;
D) f=1;
for(i=n;i>=2;i-—)  f*=i;
24执行下面程序片段的结果是(B )。
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);

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