第4章循环结构
一、选择题
1、有以下程序段
int k=0;
while(k=1)k++;
while 循环执行的次数是( A)
A) 无限次 B) 有语法错,不能执行
C) 一次也不执行 D) 执行1次
2、t为int类型,进入下面的循环之前,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 -2 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=2;i= =0;) printf(“%d”,i——);
A)无限次 B)0次 C)1次 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 B)963 C)852 D)875421
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);
}
A)1,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小时内删除。
发表评论