D
29.请读程序:
#include
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:
a++;break;
case1:
b++;break;
}
case2:
a++;b++;break;
}
printf("a=%d,b=%d\n",a,b);
}
上面程序的输出结果是
A)a=2,b=1B)a=1,b=1
C)a=1,b=0D)a=2,b=2
A
30.下面程序的输出结果是
main()
{intx=100,a=10,b=20,ok1=5,ok2=0;
if(a
if(b!
=15)
if(!
ok1)
x=1;
else
if(ok2)x=10;
x=-1;
printf("%d\n",x);
}
A)-1B)0
C)1D)不确定的值
A
31.请读程序:
#include
main()
{charc1,c2,c3,c4;
intn;
longintx;
c1=c2=c3=c4='';
scanf("%ld",&x);
if(x>=1000)n=4;
elseif(x>=100)n=3;
elseif(x>=10)n=2;
elsen=1;
switch(n)
{case4:
c4=x%10+'0';x=x/10;
case3:
c3=x%10+'0';x=x/10;
case2:
c2=x%10+'0';x=x/10;
case1:
c1=x%10+'0';
}
printf("%c%c%c%c\n",c4,c3,c2,c1);
}
若执行程序时,从键盘上输入1234,则输出结果是
A)1234B)1234
C)4321D)432
C
32.下面程序的输出结果是
#include
main()
{inta=2,b=7,c=5;
switch(a>0)
{case1:
switch(b<0)
{case1:
printf("@");break;
case0:
printf("!
");break;
}
case0:
switch(c==5)
{case0:
printf("*");break;
case1:
printf("#");break;
default:
printf("%%");break;
}
default:
printf("&");
}printf("\n");
}
A)&B)!
#&
C)%%D)@*&
B
33.运行下面程序时,若从键盘输入数据为"123",
则输出结果是()。
main()
{intnum,i,j,k,place;
scanf("%d",&num);
if(num>99)
place=3;
elseif(num>9)
place=2;
else
place=1;
i=num/100;
j=(num-i*100)/10;
k=(num-i*100-j*10);
switch(place)
{case3:
printf("%d%d%d\n",k,j,i);
break;
case2:
printf("%d%d\n",k,j);
break;
case1:
printf("%d\n",k);
}
}
A)123B)1,2,3
C)321D)3,2,1
C
34.运行下面程序时,若从键盘输入数据为"86",
则输出结果是()。
main()
{intt;
scanf("%d",&t);
if(t>=90)printf("A\n");
elseif(t>=80)printf("B\n");
elseif(t>=70)printf("C\n");
elseif(t>=60)printf("D\n");
elseprintf("E\n");
printf("OK\n");
}
A)BB)BOK
C)BD)B
OKC
D
E
OK
C
35.以下程序的运行结果是()。
main()
{inta=0,b=1,c=0,d=20,x;
if(a)d=d-10;
elseif(!
b)
if(!
c)x=15;
elsex=25;
printf("%d\n",d);
}
A)15B)25
C)20D)10
C
36.以下程序的运行结果是()。
main()
{inta=-1,b=3,c=3;
ints=0,w=0,t=0;
if(c>0)s=a+b;
if(a<=0)
{if(b>0)
if(c<=0)w=a-b;
}
elseif(c>0)w=a-b;
elset=c;
printf("%d,%d,%d\n",s,w,t);
}
A)2,0,0B)0,0,2
C)0,2,0D)2,0,2
A
37.运行下面程序时,从键盘输入"1605",
则输出结果是()。
main()
{intt,h,m;
scanf("%d",&t);
h=(t/100)%12;
if(h==0)h=12;
printf("%d:
",h);
m=t%100;
if(m<10)printf("0");
printf("%d",m);
if(t<1200||t==2400)
printf("AM");
elseprintf("PM");
}
A)6:
05PMB)4:
05PM
C)16:
05AMD)12:
05AM
B
38、运行下面程序时,从键盘输入数据为"2,13,5",
则输出结果是()。
#include
main()
{inta,b,c;
scanf("%d,%d,%d",&a,&b,&c);
switch(a)
{case1:
printf("%d\n",b+c);break;
case2:
printf("%d\n",b-c);break;
case3:
printf("%d\n",b*c);break;
case4:
{if(c!
=0){printf("%d\n",b/c);break;}
else{printf("error\n");break;}
}
defualt:
break;
}
}
A)10B)8
C)65D)error
B
39、下列程序的执行结果是()。
main()
{intx=2000,a=15,b=30,c=5,d=0;
if(a
if(b==25)
if(c)
x=123;
else
if(d)x=321;
x=-123;
printf("%d\n",x);
}
A)-123B)321
C)123D)0
A
40、以下程序的执行结果是()。
#include"stdio.h"
main()
{inta=8,b=-7,c=5;
switch(a>0)
{case1:
switch(b<0)
{case1:
printf("@");break;
case2:
printf("!
");break;
}
case0:
switch(c!
=0)
{case0:
printf("*");break;
case1:
printf("#");break;
default:
printf("$");break;
}
default:
printf("&");
}
printf("\n");
}
A)*#$B)&
C)@#&D)@*&
C
41、以下程序的输出结果是
#include
main()
{
inta,b,d=241;
a=d/100%6;
b=1&&(-1);
printf("%d,%d\n",a,b);
}
A)6,1B)2,1
C)6,0D)2,0
B
42、有以下程序
#include
main()
{inta,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
输出结果是
A)2,1B)3,2
C)4,3D)2,-1
A
43、若k是int型变量,且有下面的程序片段:
k=8;
if(k<=0)
if(k==0)printf("####")
elseprintf("&&&&");
elseprintf("****");
上面程序片段的输出结果是
A)####B)&&&&
C)****D)有语法错误,无输出结果
D
44、若执行下面的程序从键盘上输入5,则输出结果是
main()
{intx;
scanf("%d",&x);
if(x++>5)printf("%d\n",x);
elseprintf("%d\n",x--);
}
A)7B)6
C)5D)4
B
45、当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为
if(a
if(celse
if(aif(belsex=3;
elsex=6;
elsex=7;
A)1B)2
C)3D)6
B
46、下面的程序片段所表示的数学函数关系是
┌-1(x<0)┌1(x<0)
││
A)y=┤0(x=0)B)y=┤-1(x=0)
││
└1(x>0)└0(x>0)
┌0(x<0)┌-1(x<0)
││
C)y=┤-1(x=0)D)y=┤1(x=0)
││
└1(x>0)└0(x>0)
y=-1;
if(x!
=0)
if(x>0)y=1;
elsey=0;
C
47、下面的程序
A)有语法错误不能通过编译。
B)输出****。
C)可以通过编译,但是不能通过连接,因而不能运行。
D)输出####。
main()
{intx=3,y=0,z=0;
if(x=y+z)printf("****");
elseprintf("####");}
D
48、以下程序的输出结果是
main()
{inta=100;
if(a>100)printf("%d\n",a>100);
elseprintf("%d\n",a<=100);
}
A)a<=100B)100
C)0D)1
D
49、假定所有变量均已正确说明,下列程序段运行后x的值是
a=b=c=0;x=35;
if(!
a)x--;
elseif(b);
if(c)x=3;
elsex=4;
A)34B)4
C)35D)3
B
50、若已定义inta=25,b=14,c=19;以下三目运算符(?
:
)所构成的
语句的执行结果是
a++<=25&&b--<=2&&c—
?
printf("***a=%d,b=%d,c=%d\n",a,b,c):
printf("###a=%d,b=%d,c=%d\n",a,b,c);
A)***a=26,b=13,c=19B)***a=25,b=13,c=18
C)###a=26,b=13,c=19D)###a=25,b=13,c=18
C
51、与y=(x>0?
1:
x<0?
-1:
0);的功能相同的if语句是
A)if(x>0)y=1;B)if(x)
elseif(x<0)y=-1;if(x>0)y=1;
elsey=0;elseif(x<0)y=-1;
elsey=0;
C)y=-1;D)y=0;
if(x)if(x>=0)
if(x>0)y=1;if(x>0)y=1;
elseif(x==0)y=0;elsey=-1;
elsey=-1;
A
52、有如下程序
main()
{inta=2,b=-1,c=2;
if(a
if(b<0)c=0;
elsec++;
printf("%d\n",c);
}
该程序的输出结果是
A)0B)1
C)2D)3
C
53、假定w、x、y、z、m均为int型变量,有如下程序段:
w=1;x=2;y=3;z=4;
m=(ww:
x;m=(mm:
y;m=(mm:
z;
则该程序段执行后,m的值是
A)4B)3
C)2D)1
D
54.选择出合法的if语句(设intx,y;)。
A)if(x!
=y)if(x>y)printf("x>y\n");
elseprintf("xB)if(x!
=y)
if(x>y)printf("x>y\n")
elseprintf("x elseprintf("x==y\n");
C)if(x!
=y)if(x>y)printf("x>y\n");
elseprintf("x elseprintf("x==y\n");
D)if(x!
=y)
if(x>y)printf("x>y\n");
elseprintf("x elseprintf("x==