D
本题应该是a<0&&a
15.下面程序的输出结果是
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
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);
}
16.下面程序的输出结果是
#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
#include
main()
{inta=2,b=7,c=5;
switch(a>0)
{case1:
switch(b<0)
{case1:
printf("@");break;
case0:
printf("!
");break;
}没有break;
case0:
switch(c==5)
{case0:
printf("*");break;
case1:
printf("#");break;
default:
printf("%%");break;
}没有break;
default:
printf("&");
}printf("\n");
}
17.运行下面程序时,若从键盘输入数据为"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
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);
}
}
18.运行下面程序时,若从键盘输入数据为"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
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");
}
19.以下程序的运行结果是()。
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
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);
}
20.运行下面程序时,从键盘输入"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
main()
{intt,h,m;
scanf("%d",&t);
h=(t/100)%12;/*h=4*/
if(h==0)h=12;
printf("%d:
",h);
m=t%100;/*m=5*/
if(m<10)printf("0");
printf("%d",m);
if(t<1200||t==2400)
printf("AM");
elseprintf("PM");
}
21、运行下面程序时,从键盘输入数据为"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
#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;
}
}
22、若k是int型变量,且有下面的程序片段:
k=8;
if(k<=0)
if(k==0)printf("####")
elseprintf("&&&&");
elseprintf("****");
上面程序片段的输出结果是
A)####B)&&&&
C)****D)有语法错误,无输出结果
D
k=8;
if(k<=0)
if(k==0)printf("####")/*缺分号;*/
elseprintf("&&&&");
elseprintf("****");
23、若执行下面的程序从键盘上输入5,则输出结果是
main()
{intx;
scanf("%d",&x);
if(x++>5)printf("%d\n",x);/*(x++>5)x先和5比较,结果未假,不执行此if语句执行else,x加1成为6*/
elseprintf("%d\n",x--);/*x为6,先输出6,x变为5*/
}
A)7B)6
C)5D)4
B
main()
{intx;
scanf("%d",&x);
if(x++>5)printf("%d\n",x);/*(x++>5)x先和5比较,结果假,不执行此if语句执行else,x成为6*/
elseprintf("%d\n",x--);/*x为6,先输出6,x变为5*/
}
24、当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
if(a
if(celse
if(aif(belsex=3;
elsex=6;
elsex=7;
25、下面的程序片段所表示的数学函数关系是
┌-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
26、假定所有变量均已正确说明,下列程序段运行后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
a=b=c=0;x=35;
if(!
a)x--;
elseif(b);
if(c)x=3;
elsex=4;
27、与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
28、执行下列程序,输入为1的输出结果是()。
#include
main()
{
intk;
scanf("%d",&k);
switch(k)
{
case1:
printf("%d\n",k++);
case2:
printf("%d\n",k++);
case3:
printf("%d\n",k++);
case4:
printf("%d\n",k++);break;
default:
printf("Full!
\n");
}
}
A)1B)2
C)2D)1
32
43
54
D
#include
main()
{
intk;
scanf("%d",&k);
switch(k)
{
case1:
printf("%d\n",k++);
case2:
printf("%d\n",k++);
case3:
printf("%d\n",k++);
case4:
printf("%d\n",k++);break;
default:
printf("Full!
\n");
}
}
29.执行下面程序时,若从键盘输入"2",则程序的
运行结果是()。
#include
main()
{intj,k;charcp;
cp=getchar();
if(cp>='0'&&cp<='9')
k=cp-'0';
elseif(cp>='a'&&cp<='f')
k=cp-'a'+10;
elsek=cp-'A'+10;
printf("%d\n",k);
}
A)2B)4
C)1D)10
A
#include
main()
{intj,k;charcp;
cp=getchar();
if(cp>='0'&&cp<='9')
k=cp-'0';
elseif(cp>='a'&&cp<='f')
k=cp-'a'+10;
elsek=cp-'A'+10;
printf("%d\n",k);
}