一、选择题
1. 设有如下程序段,则下面描述正确的是
int k=10;
while (k=0) k=k—1;
A.while循环执行10次 B.循环是无限循环
C.循环体语句一次也不执行 D.循环体语句执行一次
2. 下面程序段的运行结果是
a=1; b=2; c=2;
while(a<b<c) { t=a; a=b; b=t; c--;}
pirntf(“%d, %d, %d”,a,b,c);
A.1,2,0 B.2,1,0 C.1,2,1 D.2,1,1
3。 下面程序段的运行结果是 。
int n=0;
while(n〈=2) n++; printf(“%d”,n);
A.2 B.3 C.4 D.有语法错误
4。 设有如下程序段,则描述正确的是 。
t=0;
while (printf(“*”))
{t++; if(t<3) break;}
A.其中循环控制表达式与0等价
B.其中循环控制表达式与‘0’等价
C.其中循环控制表达式是不合法的
D.以上说法都不对
5。 下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对等数时结束循环,请选择填空.
#include<stdio.h〉
int main()
{int a,b,t;
scanf(”%d%d",&a,&b);
while( )
{if(a〉b) {t=a;a=b;b=t;}
printf("%d,%d\n”,a,b);
scanf("%d%d”,&a,&b);
}
return 0;
}
A.!a=b B.a!=b C.a==b D.a=b
8. 下面程序的功能是在输入的一系列正整数中求出最大者,输入0结束循环,请选择填空.
#include〈stdio.h>
int main()
{int a,max=0;
scanf(”%d”,&a);
while( )
{if(max〈a) max=a;
scanf("%d”,&a);
}
printf(”%d\n",max);
return 0;
}
A.!a=0 B.a!=0 C.a= =0 D.a=0
9。 下面程序的运行结果是 。
#include<stdio。h〉
int main()
{int num=0;
while(num〈=2)
{num++;
printf(”%d”,num);
}
return 0;
}
A.1 B.12 C.123 D.1234
11. 以下程序的功能是计算一个整数的各位数字之和,请选择填空。
#include〈stdio.h〉
int main()
{int n,m=0;
scanf(”%d",&n);
for( ; n!=0; )
{m ;
n/=10;
}
printf("%d\n”,m);
return 0;
}
A.+=n%10 B.=n%10 C.+=n D.=n/10
13. 以下程序段 。
x=—1;
do
{ x=x*x;}while(!x);
A.是死循环 B.循环执行二次 C.循环执行一次 D.有语法错误
14. 以下描述中正确的是 。
A.while、do—while、for循环中的循环体语句都至少被执行一次
B.do-while循环中,while(表达式)后面的分号可以省略
C.while循环体中,一定要有能使while后面表达式的值变为“假”的操作
D.do-while循环中,根据情况可以省略while
15。下面程序的功能是计算正整数2345的各位数字的平方和,请填空.
#include <stdio。h>
int main( )
{ int n=2345,sum=0;
do
{ sum=sum+ ;
n= ;
}while(n);
printf(“sum=%d",sum);
return 0;
}
A.n%10 B.(n%10)*(n%10)
C.n/10 D.(n/10)*(n/10)
A.n/1000 B.n/100 C.n/10 D.n%10
17. 下面程序的运行结果是 .
#include〈stdio。h>
int main()
{ int y=10;
do
{y--;}while(--y);
printf(”%d\n",y--);
return 0;
}
A.—1 B.1 C.8 D.0
18.下面有关for循环的正确描述是 。
A.for循环只能用于循环次数已经确定的情况
B.for循环是先执行循环体语句,后判断表达式
C.for循环中,不能用break语句跳出循环体
D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
19. 对for(表达式1; ;表达式3)可理解为 。
A.for(表达式1;0;表达式3)
B.for(表达式1;1;表达式3)
C.for(表达式1;表达式1;表达式3)
D.or(表达式1;表达式3;表达式3)
20. 若i为整型变量,则以下循环执行次数是 。
for (i=2; i= =0; ) printf(“%d",i-—);
A.无限次 B.0次 C.1次 D.2次
21。 以下不是无限循环的语句为 。
A.for(y=0, x=1; x〉++y; x=i++) i=x;
B.for( ; ; x++=i);
C.while(1) {x++;}
D.for(i=10; ; i——) sum+=i;
24。 下面程序的功能是求算式xyz+yzz=532中的x,y,z的值(其中xyz和yzz分别表示一个三位数),请选择填空.
#include 〈stdio。h〉
int main( )
{ int x,y,z,I,result=532;
for(x=1;x〈10;x++)
printf函数输出整数时不能使用for(y=1;y〈10;y++)
for( ; z〈10; z++)
{ i=100*x+10*y+z+100*y+10*z+z;
if ( )
printf(“x=%d,y=%d,z=%d\n”,x,y,z);
}
return 0;
}
A.z=x B.z=1 C.z=0 D.z=y
A.i/result==1 B.i=result C.i!=result D.i==result
25。 以下正确的描述是 .
A.continue语句的作用是结束整个循环的执行
B.只能在循环体内和switch语句体内使用break语句
C.在循坏体内使用break语句或continue语句的作用相同
D.从多层循环嵌套中退出,只能使用goto语句
26。 在下面的程序中, 。
#include〈stdio。h>
int main()
{int t,x;
for(t=1;t<=100;t++)
{scanf(”%d”,&x);
if(x〈0) continue;
printf(”%3d",t);
}
return 0;
}
A.当x〈0时整个循环结束
B.x〉=0时什么也不输出
C.printf函数永远也不执行
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论