一 单项选择题
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
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |