scanf(“%d”,&a);}
printf(“%d”,max);}
A.a==0B.aC!
a==1D.!
a
12、下面程序的运行结果是()
main()
{intnum=0;
while(num<=2)
{num++;printf(“%d\n”,num);}
A.1B.12C.123D.1234
13.若运行以下程序时,从键盘输入2473,则下面程序的运行结果是()
#include
main()
{intc;
while((c=getchar())!
=’\n’)
switch(c-‘2’)
{case0:
case1:
putchar(c+4);
case2:
putchar(c+4);break;
case3:
putchar(c+3);
case4:
putchar(c+2);break;}
printf(“\n”);}
A.668977B.668966C.66778777D.6688766
14.C语言中while和do-while循环的主要区别是()
A.do-while的循环体至少无条件执行一次
B.while的循环控制条件比do–while的循环控制条件严格
C.do-while允许从外部转到循环体内
D.do-while的循环体不能是复合语句
15.以下程序段()
x=-1
do{x=x*x;}
while(!
x);
A.是死循环B.循环执行二次C.循环执行一次D.有语法错误
16、以下描述中正确的是()
A.由于do-while循环中循环语句中只能是一条可执行语句,所以循环体内不能使用复合语句。
B.do-while循环由do开始,且while结束,在while(表达式)后面不能写分号。
C.在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作。
D.do-while循环中,根据情况可以省略while
17.若有以下后句
intx=3;
do{print("%d\n",x=2);}while(!
(-x));则上面程序段()
A.输入的是1B.输出的是1和-2C.输出的是3和0D.死循环
18.下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结束循环,填空。
main()
{longintnum;
scanf("%ld",&num);
do{if(_____)printf("%ld,num);
scanf("%ld",&num);}
while(______);}
A.num%100/10=3.Bnum/100%10=3C.num%10/10=3D.num/10%10=3
A.!
numB.num>0=0C.!
num=0D.!
num!
=0
19.下面程序的运行结果是()
main()
{inty=10;
do{y--;}while(--y);
printf("%d\n",y--);}
A.-1B.1C.8D.-8
20.下面程序的运行结果是()
#include
main()
{charc;intv0=0,v1=0,v2=0;
do{switch(c=getchar())
{case'a':
case'A':
case'e':
case'E':
case'i':
case'I':
case'0':
case'0':
case'u':
case'U':
v1+=1;
default:
v0+=1;v2+=1;}
}while(c!
='\n');
print(%d,%d,%d",v0,v1,v2);}
A.7,4,7B.8,4,8C.11,4,11D.12,4,12
21.下面程序的运行结果是()
main()
{inta=1,b=10,
do{b-=a;a++;}while(b-,0);
printf("%d,%d",a,b);}
A.3.11B.2,8C.1,-1D.4,9
22.下面有关for循环的正确描述是()
A.for循环只能有于循环次数已经确定的情况
B.for循环是先执行循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体
D.for循环的循环体语句中,可以包含多条语句,但必须花括号括起来
23.对for(表达式1;;表达式3)可理解为()
A.for(表达式1;0;表达式3)
B.for(表达式1;1;表达式3)
C.for(表达式1;表达式1;表达式3)
D.for(表达式1;表达式3;表达式3)
24.若i为整型变量,则以下循环执行的次数是()
for(i=2;i=0;)printf(“%d”,i--)
A.无限次B.0次C.1次D.2次
25.以下for循环的语句是()
for(x=0,y=0;(y=123)&&(x<4);x++);
A.是无限循环B.循环次数不定C.4次D.3次
26.以下不是无限循环的语句是()
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;
27.以下程序段的运行结果是()
for(y=1;y<10;)y=((x=3*y,x+1),x-1);
printf(“x=%d,y=%d”,x,y);
A.x=27,y=27B.x=12,y=13C.x=15,y=14D.x=y=27
28.下面程序段的运行结果是()
for(x=3’x<6;x++)printf((x%2)?
(“**%d”):
(“##%d\n”),x);
A.**3B.##3C.##3D.**3##4
##4**4**4##5**5
**5##5
29.下列程序段不是死循环的是()
A.intI=100
while
(1)
{I=I%100+1;
if(I>100)break;}
B.for(;;)
C.intk=0;
do{++k;}while(k>=0);
D.ints=36;while(s);--s;
30.执行语句for(I=1;I++<4;);后变量I的值是( )
A.3;B.4C.5D.不定
31.下面程序的功能是计算1到50中是7的倍数的数值之和,请选择填空。
Main()
{intI,sum=0;
for(I=1;I<=50;I++)
if(______)sun+=I;
printf(“%d”,sum);}
A.(int)(i/7)=i/7B.(int)i/7=i/7C.i%7+0D.i%7=0
32.下面程序的运行结果是( )
main()
{inta;
for(a=1;a<=5;a++
switch(a%5)
{case0:
printf(“*”);break;
case1;printf(“#”);break;
default:
printf(“\n”);
case2:
printf(“&”);}}
33.下面程序的运行结果是( )
main()
{intx,I;
for(I=1;I<100;I++)
{x=I;NO.14
if(++x%2==0)
if(++x%3==0)
if(++x%7==0)
ptintf(“%d”,x);}}
A.3981B.4284C.2668D.28