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);
default:
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.下面程序的运行结果是()
#include
main()
{inty=10;
do{y--;}while(--y);
printf(“%d\n”,--y);}
A.-1B.1C.8D.-8
20.若运行以下程序时,从键盘输入ADescriptot(表示回车),下面程序的运行结果是
#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’o’:
case’O’:
case’u’:
case’U’:
v1+=1;
default:
v0+=1;v2+=1;}
}while(c!
=’\n’);
printf(“v0=%d,v1=%d,v2=%d\n”,v0,v1,v2);}
A)v0=7,v1=4,v2=7B)v0=8,v1=4,v2=8
C)v0=11,v1=4,v2=11D)v0=12,v1=4,v2=12
21.下面程序的运行结果是
#include
main()
{inta=1,b=10;
do
{b-=a;a++;}while(b--<0);
printf(“a=%d,b=%d\n”,a,b);}
a=3,b=11B)a=2,b=8C)a=1,b=-1D)a=4,b=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.不定