一 单项选择题
1.逻辑运算符两侧运算对象的数据类型是( D )。
A) 只能是0或1
B) 只能是0或非0正数
C) 只能是整型或字符型数据
D) 可以是任何类型的数据
2.已知x=43, ch='A', y=0;则表达式(x>=y&&ch<'B'&&!y)的值是( C )。
A) 0
B) 语法错
C) 1
D) “假”
3.已知 int x=10, y=20, z=30; 以下语句执行后x, y, z的值是( B )。
if(x>y)
z=x;x=y;y=z;
A) x=10,y=20,z=30
B) x=20,y=30,z=30
C) x=20,y=30,z=10
D) x=20,y=30,z=20
4.执行下列语句后a的值为( C ),b的值为( )。
int a, b, c;
a=b=c=1;
++a|| ++b && ++c;
A) 错误 1
B) 2 2
C) 2 1
D) 1 1
5.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是( C )。
A) A%2==1
B) !(A%2==0)
C) !(A%2)
D) A%2
6.设有:int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b)&&(n=c>D)后n的值是( B )。
A) 0
B) 2
C) 3
D) 4
7.判断char型变量cl是否为小写字母的正确表达式是( D )。
A) ‘a’<=cl<=‘z’
B) (cl>=a)&&(cl<=z)
C) (‘a’>=cl)||(‘z’<=cl)
D) (cl>=‘a’)&&(cl<=‘z’)
8.以下不正确的if语句形式是( C )。
A) if(x>y&&x!=y);
B) if(x==y) x+=y;
C) if(x!=y) scanf(“%d”,&x) else scanf(“%d”,&y)
D) if(x 9.请阅读以下程序: main() { int a=5,b=0,c=0; if(a=b+C) printf(“***\n”); else printf(“$$$\n”); } 以上程序( D )。 A) 有语法错不能通过编译 B) 可以通过编译但不能通过连接 C) 输出*** D) 输出$$$ 10.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是( B )。 if(a
if(c else if(a if(b else x=3; else x=6; else x=7; A) 1 B) 2 C) 3 D) 6 11.以下程序的输出结果是( C )。 main() {int a=100,x=10,y=20,ok1=5,ok2=0; if(x if(y!=10) if(!ok1) a=1; else if(ok2) a=10; a=-1; printf(“%d\n”,a); } A) 1 B) 10 C) -1 D) 值不确定 12.以下程序的输出结果是( B )。 main() {int x=2,y=-1,z=2; if(x if(y<0) z=0; else z+=1; printf(“%d\n”,z); } A) 3 B) 2 C) 1 D) 0 13.为了避免在嵌套的条件语句 if - else 中产生二义性,C语言规定:else子句总是与( B )配对。 A) 缩排位置相同的if B) 其之前最近的if C) 其之后最近的if D) 同一行上的 14.若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是( B )。 A) (exp==0) B) (exp!=0) C) (exp==1) D) (exp!=1) 15.若运行时给变量x输入12,则以下程序的运行结果是( A )。 main() {int x,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A) 0 B) 22 C) 12 D) 10 16.语句:printf("%d",(a=2)&&(b= -2));的输出结果是( D )。 A) 无输出 B) 结果不确定 C) -1 D) 1 17.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是( C )。 A) c=b=a; B) (a=C)||(b=C); C) (a=C)&&(b=C); D) a=c=b; 18.能正确表示a和b同时为正或同时为负的表达式是( D )。 A) (a>=0||b>=0)&&(a<0||b<0) B) (a>=0&&b>=0)&&(a<0&&b<0) C) (a+b>0)&&(a+b<=0) D) a*b>0 19.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是( D )。 A) a>=10 or a<=0B) a>=0|a<=10 C) a>=10&&a<=0 D) a>=10||a<=0 20.有如下程序段 int a=14,b=15,x; char c=‘A’; x=(a&&b)&&(c<‘B’); 执行该程序段后,x的值为( D )。 A) ture B) false C) 0 D) 1
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |