scanf(“%d”,&a);}
printf(“%d”,max); }
A.a==0 B.a C.!a=1 D. !a
5.下面程序的运行结果是______。
#include
main()
{ int num=0;
while(num<=2)
{ num++;
printf(“%dn”,num);}
}
A.1 B.1 C.1 D.1
2 2 2
3 3
4
6.若运行以下程序时,从键盘输入2473↙,则下面程序的运行结果是_______。
#include
main()
{ int c;
while((c=getchar()!=’n’))
switch(c-‘2’)
{ ca 0:
ca 1: putchar(c+4);
ca 2: putchar(c+4);break;
ca 3: putchar(c+3);
defauit: putchar(c+2); break;}
printf(“n”);
}
A.668977 B.668966 C.66778777 D.6688766
7.C语言中while 和do—while循环的主要区别是_______。
—while的循环体至少无条件执行一次
的循环控制条件比do—while的循环控制条件严格。
C. do—while允许从外部转到循环体内。
D. do—while的循环体不能是复合语句。
1
8.以下程序段________。
x=-1;
do
{ x=x*x;
while(!x);
A.是死循环。B.循环执行二次。
C.循环执行一次。C.有语法错误。
9.以下描述中正确的是_________。
A.由于do—while循环中的循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。
B. do—while循环由do开始,用while 结束,在while
(表达式)后面不能写分号。
C.在do—while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作。
D. do—while循环中,根据情况可以省略while 。
10.若有如下程序:int x=3;
do{printf(“%dn”,x-=2);}
while(!(--x));
则上面程序段_________。
A.输出的是1 B.输出的是1和-2
C.输出的是3和0 D.是死循环
11.等比数列的第一项a=1,公比q=2,下面程序的功能是求满足前n项和小于100的最大数n,请选择填空。
#include
main()
{int a=1,q=2,n,sum;
n=sum=0;
do
{ ______1______;
while(num<100);
_____2____;
printf(“%dn”,n);}
1)++ +=a *=a D.a+=sum
2)A.n=n-2 B.n=n C.n++ D.n-=1
13.下面有关for循环的正确描述是_____。
循环只能用于循环次数已近确定的情况。
循环是先执行循环体语句,后判断表达式。
C.在for循环中,不能用break语句跳出循环体。
循环的循环体语句中,可以包含多条语句,但必须用花括号阔起来。
14.对于for(表达式1; ;表达式3)可理解为:
A. for(表达式1;0 ;表达式3)
B. for(表达式1;1 ;表达式3)
C. for(表达式1;表达式1 ;表达式3)
D. for(表达式1;表达式3 ;表达式3)
15.若i为整型变量,则以下循环执行的次数是:
for(i=2;i==0 ;)printf(“%d”,i--);
A> 无限次 B> 0次 C> 1次 D> 2次
16.下面程序段的运行结果为__________。
for(y=1;y<10;) y=((x=3*y,x+1),x-1)
printf(“x=%d,y=%d”,x,y);
A.x=27,y=27 B. x=12,y=13
C. x=15,y=14 D. x=y=27
17.下面程序段的运行结果是_______。
for(x=3;x<6;x++)
printf(“(x%2)?(“* * %d”)(“# # %dn”),x”);
A.* * 3 B.# # 3 C. # # 3 D. * * 3 # # 4
# # 4 * * 4 * * 4 # # 5 * * 5
* * 5 # # 5
18.下列程序段不是死循环的是________。
i=100; (; ;); s=36;
while(1) k=0; while(s);
{ i=i%100+1; do{k++;} --s;
if(i>100)break;} while(k>=0);
19.下面程序的功能是计算1至50中是7的倍数的数值之和。请选择填空。
#include A. (int)(i/7)==i/7
main() B. (int)i/7==i/7
{ int i,sum=0; C. i%7=0
for(i=1;i<=50;i++) D. i%7==0
if(________)sum+=i;
printf(“%d”,sum);}
20.下面程序的运行结果为_______。
#include
main()
{ int i;
for(i=1;i<=5;i++)
switch(i%5)
{ ca 0:printf(“*”);break;
ca 1:printf(“#”);break;
default: printf(“n”);
ca 2:printf(“&”);}}
A.#&&&* B.#& C.# D.#&
& & 空格
&* & *
&
*
21.下面程序的运行结果为________。
2
#include
main()
{ int i,b,k=0; A.3,-1
for(i=1;i<=5;i++) B.8,-1
{ b=i%2; C.3,0
while(b--﹥=0) k++; D.8,-2
}
printf(“%d,%d”,k,b);}
21.下面程序段________。
for(t=1;t<=100;t++) A.当x<0时整个循环结束
{ scanf(“%d”,&x); 函数永远也不执行
if(x<0) continue; C.x>=0时什么也不输出
printf(“%3d”,t);}D.最多允许输出100个非负整数
22.下面程序段_______。
x=3;
do{ y=x--;
if(!y){printf(“x”);continue;}
printf(“#”);}
while(1<=x<=2);
A.将输出## B.将输出##* C.是死循环
D.含有不合法的表达式
23.下面程序的运行结果是_______。
#include
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(“%dn”,a);}
A.7 B.8 C.9 D.10
24.下面程序的功能是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。请填空。
int n=0,c;
c=getchar();
while(_____________)
{ if(____________)n++;c=getchar();}
25.有1025个西瓜,第一天卖了一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?填空。
#include
main()
{ int day=0,x1=1024,x2;
while(______)
{x2=________;x1=x2;day++;}
printf(“day=%dn”,day);}
26.下面程序段执行后,k的值是______。
k=1;n=263
do{ k*=n%10;n/=10;} while(n);
27.鸡兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只。请填空。
for(x=1;x<=29;x++)
{ y=30-x;
if(____________)printf(“%d,%dn”,x,y);}
28.下面程序的功能是求出用数字0至9可以组成多少个没有重复的三位偶数。填空。
main()
{ int i,j,k,n=0;
for(i=1;i<=9;i++)
for(k=0;k<=8;______)
if(k!=i)
for(j=0;j<=9;j++)
if(_________)n++;
printf(“n=%dn”,n);}
29.下面程序是打印100以内个位数是6且能被3整除的数。填空。
#include
main()
{ int i,j;
for(i=0;__________;i++)
{ j=i*10+6;
if(________)continue;
printf(“%d”,j);}}
30.下面程序的运行结果______________。
#include
main()
{ int y=2,a=1;
while(y--!=-1)
{ do {a*=y;a++;} while (y--); }
printf(“a=%d,y=%dn”,a,y);}
3