1、选择结构(一)及答案解析(总分:20.00,做题时间:90 分钟)一、B选择题/B(总题数:12,分数:12.00)1.设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=ab)b=ab=a&(-1) printf(“%d,%d/n“,a,b); 程序运行后的输出结果是_。(分数:1.00)A.6,1B.2,1 C.6,0D.2,0解析:9.能正确表示 a和 b同时为正或同时为负的逻辑表达式是_。(分数:1.00)A.(a=0|b=0)&(a0|b0)B.(a=0&b=0)&(a0&b0)C.(a+b0)&(a+b=0)D.a*bO 解析:10.有以下程序
2、 main() int a=3,b=4,c=5,d=2; if(ab) if(bc) printf(“%d“,d+1); prind(“%d,+十 d+1): prind(“%d/n“,d); 程序运行后的输出结果是_。(分数:1.00)A.2 B.3C.43D.44解析:11.有以下程序 main() int i=1, j=2,k=3; if(i+=1&(+j=3|k+=3) pfintf(“%d %d %d/n “,i,j,k); 程序运行后的输出结果是_。(分数:1.00)A.1 2 3B.2 3 4C.2 2 3D.2 3 3 解析:12.有以下程序 main() int i; for
3、(i=0;i3;i+) switch(i) case 0: printf(“%d“,i); case 2: printf(“%d“,i); default: printf(“%d“,i); 程序运行后的输出结果是_。(分数:1.00)A.022111B.021021C.000122 D.012解析:二、B填空题/B(总题数:4,分数:8.00)13.以下程序运行后的输出结果是_。 main() int a=3,b=4,c=5,t=99; if(ba&ac)t=a;a=C;c=t; if(ac&bc)t=b;b=a;a=t printf(“%d%d%d/n“,a,b,c); (分数:2.00)填
4、空项 1:_ (正确答案:4599)解析:14.下面的 if语句与 y=(x=10)?3*x-11:(x1)?x:2*x-1;的功能相同,请补充完整。 if(_) if(_)y=2*x-1; else y=x; else y=3*x-11;(分数:2.00)填空项 1:_ (正确答案:x10 x=1)解析:15.以下程序运行后的输出结果是_。 main() int x=1,y=0,a=0,b=0; switch (x) case 1:switch(y) case 0:a+;break; case 1:b+;break; case 2:a+;b+;break; printf(“%d d/n“,a,b); (分数:2.00)填空项 1:_ (正确答案:2 1)解析:16.以下程序的输出结果是_。 main() char *s=“12134211”;int v4=0,0,0,0,k,i; for(k=0;sk;k+) switch (sk) case 1:i=0; case 2:i=1: case 3:i=2; Case 4:i=3; vi+; for(k=0;k4;k+) printf(“%d“,vk); (分数:2.00)填空项 1:_ (正确答案:0008)解析: