28.已知a=10,b=20,则表达式!
a
[28]A.真B.假C.1D.0
29.若有定义:
inti,j,k,*p;floata,b;[29]是不合法的赋值语句,[30]是正确的表达式
[29]A.++i;B.k=p==&j;C.a=a+b=1;D.k=(i=j=0);
[30]A.a%3B.y=float(i)C.b=(float)i*(a=3)D.p=i
30.若有定义:
floatw;inta,b;则合法的switCh语句是[31]
[31]A.switCh(w)B.switCh(a+b)
{Case1.0:
printf(”*\n”);{Case1printf(”*\n”);
Case2.0:
printf(”**\n”);}Case2printf(”**\n”);}
C.switCh(w+1.76)D.switCh(a);
{Case1:
printf(”*\n”);{Case1:
printf(”*\n”);
default:
printf(”\n”);Case2:
printf(”**\n”);
Case1+2:
printf(”***\n”);}default:
printf(”\n”);}
31.数学关系式x≤y≤z可用C语言表达式[32]表示
[32]A.x<=y<=zB.x<=yANDy<=zC.x<=y&&y<=zD.(x<=y)&(y<=z)
32.若有定义和语句:
Chara=3,b=6,C;C=a^b<<2;则C的二进制值是[33]
[33]A.00011000B.00011100C.00011011D.00010100
33.若有定义:
intx=4;则表达式x+=x*=x+1的值为[34]
[34]A.5B.20C.40D.无答案
34.若有定义和语句:
inta=4;floatx=7.5,y=4.8;则表达式
a+(int)((int)(x)+y)>>(int)(x–y)的值为[35]
[35]A.1B.2C.3D.4
35.若有定义和语句:
inta=10,b=5,x;CharC=’A’;x=a&b&&C<’a’;则x值是[36]
[36]A.真B.假C.0D.1
36.若有定义和语句:
intsp;s=p=5;p=s++,++p,p+2,p++;则p的值是[37]
[37]A.9B.8C.7D.6
37.若有定义:
inta,b;则表达式a=4,b=3,a+b+2,a++,a+b+2的值为[38]
[38]A.12B.11C.10D.无答案
38.若有定义:
floata=3.0,b=4.0,C=5.0;则表达式1/2*(a+b+C)的值为[39]
[39]A.6.0B.6C.0.0D.无答案
39.下面程序的输出结果是[40]
main()
{doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;
printf(”%d\n”,d*y);}
[40]A.3B.3.2C.0D.3.07
40.下面程序的输出结果是[41]
main()
{intk=17;printf(”%d,%o,%x\n”,k,k,k);}
[41]A.17,17,17B.17,021,0x11C.17,21,11D.17,0x11,021
41.设a、b、C均为int型变量,则执行下面程序段后,a值为[42],b值为[43],C值为[44]
a=b=C=1;++b&&++C||++a;
[42]A.0B.2C.1D.错误
[43]A.0B.1C.2D.错误
[44]A.0B.1C.2D.错误
42.设m、n、x均为int型变量,则执行下面程序段后,x值为[45],m值为[46],n值为[47]
m=6;n=5;x=––m==n++?
––m:
++n;
[45]A.7B.6C.4D.5
[46]A.5B.6C.4D.7
[47]A.7B.5C.6D.4
43.while(!
x)中!
x与下面条件[48]等价
[48]A.x!
=1B.x==1C.x==0D.x!
=0
44.若程序中含有定义:
struCtabC{intx;inty;}
struCtabCs1,s2;则[49]
[49]A.能编译、链接、运行B.能编译、链接,但不能运行
C.编译时出错D.能编译、但链接出错
45.printf(“a\bre\’hi\’y\\\bou\n”);输出结果是[50]
[50]A.a\bre\’hi\’y\\\bou\nB.a\bre\’hi\’y\\\bou\C.re’hi’youD.无答案
46.若有定义和语句:
intx;floaty;Charz[10],C;
sCanf(”%3d%f%3s%C”,&x,&y,z,&C);
执行时输入12345└┘└┘└┘book└┘$↙
则x的值是[51],y的值是[52],z的值是[53],C的值是[54]
[51]A.12345B.45C.123D.无答案
[52]A.123.0B.45C.45.0D.无答案
[53]A.└┘└┘└┘B.bookC.booD.无答案
[54]A.$B.└┘C.kD.无答案
47.若执行下面程序时输入pen↙
book↙则结果是[55]
#inClude
#inClude
main()
{Chara1[5],a2[5];sCanf(”%s”,a1);gets(a2);
puts(a1);puts(a2);printf(”%d\n”,strlen(a2));}
[55]A.penB.penbookC.penD.无答案
book
400
48.C语言中,对于存储类型为[56]的变量,只有在使用它们时才占用内存单元
[56]A.statiC和autoB.register和extern
C.auto和registerD.register和statiC
49.对数组a的正确定义为[57]
[57]A.inta(10);B.intn=10,a[n];
C.#defineSIZE10D.intn;sCanf(”%d”,&n);
inta[SIZE];inta[n];
50.若执行下面程序时输入pen↙
book↙则结果是[58]
#inClude
#inClude注意:
比较本题与47。
区别
main()
{Chara1[5],a2[5];gets(a1);gets(a2);
puts(a1);puts(a2);printf(”%d\n”,strlen(a2));}
[58]A.penB.penbookC.penD.无答案
book
004
51.若执行下面程序时输入aa└┘bb↙
CC└┘dd↙则结果是[59]
#inClude
main()
{Chara1[5],a2[5],a3[5],a4[5];sCanf(”%s%s”,a1,a2);gets(a3);gets(a4);
puts(a1);puts(a2);puts(a3);puts(a4);}
[59]A.aaB.aaC.aaD.aa└┘bb
bbbbbbCC
CC└┘ddCCdd
ddCC└┘dd
52.switCh语句中的各个Case条件不能是[60]
[60]A.字符常量B.值大于等于零的整型常量表达式
C.一般表达式D.值小于零的整型常量表达式
53.若有定义和语句:
inta=8,b=7,C=6,x=1;
if(a>6)if(b>7)if(C>8)x=2;elsex=3;
则x的值是[61]
[61]A.3B.2C.1D.0
54.若有定义和语句:
inta,b,C;a=b=1;
C=(++a>0)?
5:
(++b>0)?
6:
7;
printf(”%d%d%d\n”a,b,C);
则输出结果是[62]
[62]A.227B.126C.215D.无答案
55.若有定义和语句:
inta,b,C;a=b=C=0;
0>1?
a++:
1>0?
b++:
C++;
printf(”%d%d%d\n”a,b,C);则输出结果是[63]
[63]A.111B.110C.010D.无答案
56.若有定义和语句:
inti=10;
switCh(i)
{Case9:
i+=1;
Case10:
i+=1;
Case11:
i+=1;break;
Case12:
i+=1;
default:
i+=1;}则i的值是[64]
[64]A.14B.13C.12D.无答案
57.下面程序的输出结果是[65]
main()
{inti,a,b,C,d,e;
for(i=1;i<=5;i++)
{a=b=C=d=e=0;
switCh(i){Case1:
a=1;
Case2:
b=2;Cotinue;
Case3:
C=3;
Case4:
d=4;break;
Case5:
e=5;}
printf(”%d%d%d%d%d”,a,b,C,d,e);}}
[65]A.10000B.12000C.00340D.无答案
020000200000040
003000034000005
0004000040
0000500005
58.若有定义:
inti,k;则for循环语句:
for(i=0,k=–1;k=1;i++,k++);是[66]
[66]A.循环零次B.循环1次C.循环无穷多次D.循环结束条件不合法
59.若有定义和语句:
inti;for(i=1;i<=3;i++);printf(”%d”,i);
则输出结果是[67]
[67]A.123B.3C.4D.无答案
60.与下述程序段不等价的是[68]
if(a<=b)x=1;elsey=2;
if(a>b)printf(“****y=%d\”,y);
elseprintf(“#####x=%d\n”,x);
[68]A.if(a<=b){x=1;printf(“#####x=%d\n”,x);}
else{y=2;printf(“****y=%d\”,y);}
B.if(a>b){y=2;printf(“****y=%d\”,y);}
else{x=1;printf(“#####x=%d\n”,x);}
C.if(a<=b)x=1;printf(“#####x=%d\n”,x);D.if(a<=b)x=1;elsey=2;
elsey=2;printf(“****y=%d\”,y);if(a<=b)printf(“#####x=%d\n”,x);
elseprintf(“****y=%d\”,y);
61.以下循环体的执行次数是[69]
main()
{inti,j;for(i=0,j=1;i<=j+1;i+=2,j--)printf(“%d\n”,i);}
[69]A.3B.2C.1D.0
62.若有定义:
intk;下面不会出现死循环的程序段是[70]
[70]A.k=3379;B.k=100;
while(k%2==k++%2)k++;while
(1){k=k%100+1;if(k>100)break;}
C.k=0;D.for(;;);
do{++k;}while(k>0);
63.下面程序的输出结果是[71]
main()
{doubled;floatf;longl;inti;i=f=l=d=20/3.0;
printf(”%d,%ld,%f,%f\n”,i,l,f,d);}
[71]A.6,6,6.000000,6.000000B.6,6,6.666667,6.666667
C.6,6,6.000000,6.666667D.6,6,6.666667,6.000000
64.下面程序的输出结果是[72]
main()
{inti;
for(i=1;i<=5;i++)
{if(i%2)printf(”*”);elseContinue;printf(”#”);}
printf(”$\n”);}
[72]A.*#*#$B.#*#*#*$C.*#*#*#$D.#*#*$
65.下面程序的输出结果是[73]
main()
{intk,j,x=0;
for(k=1;k<=2;k++)[73]A.13
{x++;B.3
for(j=k;j<=5;j++){if(j%3==0)break;x++;}C.7
x++;}printf(”%d\n”,x);}D.无答案
66.下面程序的输出结果是[74]
main()
{intx=1,y=0,a=0,b=0;
switCh(x){Case1:
switCh(y){Case0:
a++;break;
Case1:
b++;break;}
Case2:
a++;b++;break;
Case3:
a++;b++;}
printf(”a=%d,b=%d\n”,a,b);}
[74]A.a=1,b=0B.a=1,b=1C.a=2,b=1D.a=2,b=2
67.若有定义和语句:
intx=3;do{printf(“%3d”,x–=2);}while(!
(––x));
则输出结果是[75]
[75]A.└┘└┘1B.└┘└┘3└┘└┘0C.└┘└┘1└┘–2D.死循环
68.计算平方数时不可能引起二义性的宏定义是[76]
[76]A.#defineSQR(x)x*xB.#defineSQR(x)(x)*(x)
C.#defineSQR(x)((x)*(x))D.#defineSQR(x)(x*x)
69.下面程序的输出结果是[77]
#defineMA(x)x*(x-1)
main()
{inta=1,b=2,j;j=1+a+b;printf(”%d,%d\n”,MA(1+a+b),MA(j));}
[77]A.8,8B.12,12C.8,12D.无答案
70.下面程序的输出结果是[78]
#inCludemain()
intx,y;{inta=9,b=5;
f()x=a+b;y=a-b;
{inty,a=25,b=10;f();
x=a+b;y=a-b;printf(”%d,%d\n”,x,y);}
return;}
[78]A.14,4B.35,15C.35,4D.14,15
71.下面程序的输出结果是[79]
intx=1;main()
f(){inti;
{statiCinti=2;intx=10;for(i=1;i<4;i++){++x;f();}
x+=++i;printf(”%d,”,x);}printf(”%d\n”,x);}
[79]A.13,17,22,4B.13,14,15,15C.13,14,15,4D.无答案
72.下面程序的输出结果是[80]
main()[80]A.10192
{intx=10,y=10,i;B.9876
for(i=0;x>8;y=++i)C.101091
printf(”%3d%3d”,x––,y);}D.10990
73.若有定义和语句:
doubler=99,*p=&r;*p=r;则正确的叙述是[81]
[81]A.以上两处的*p含义相同,都是给指针变量p赋值
B.在“doubler=99,