C语言与程序设计

1 逻辑运算符两侧运算对象的数据类型_____。

A 只能是0或1

B 只能是0或非0正数

C 只能是整型或字符型数据

D 可以是任何类型的数据

2 下列运算符中优先级最高的是_____。

A <

B +

C &&

D !=

3 能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是_____。

A (x>=1)&&(x<=10)&&(x>=200)&&(x<=210)

B (x>=1)|| (x<=10)|| (x>=200)|| (x<=210)

C (x>=1)&& (x<=10)|| (x>=200)&& (x<=210)

D (x>=1)||(x<=10)&&(x>=200)||(x<=210)

4 判断char型变量ch是否为大写字母的正确表达式是_____。

A ‘A’<=ch<=‘Z’

B (ch>=‘A’)&(ch<=‘Z’)

C (ch>=‘A’)&&(ch<=‘Z’)

D (‘A’<=ch)AND(‘Z’>=ch)

5 以下不正确的if语句形式是____。

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<y){x++;y++;}

6 以下程序的运行结果是_____。

main( )

{int m=5;

if(m++>5)printf(“%d\n”,m);

else printf(“%d\n”,m--);

}

A 4

B 5

C 6

D 7

7 当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是_____。

if(a<b)

if(c<d)x=1;

else

if(a<c)

if(b<d)x=2;

else x=3;

else x=6;

else x=7;

A 1

B 2

C 3

D 6

8 以下程序的输出结果是_____。

main( )

{int a=100,x=10,y=20,ok1=5,ok2=0;

if (x<y)

if(y!=10)

if(!ok1)

a=1;

else

if(ok2) a=10;

a=-1;

printf(“%d\n”,a);

}

A 1

B 0

C -1

D 值不确定

9 为了避免在嵌套的条件语句if—else中产生二义性,C语言规定:else子句总是与_____配对。

A. 缩排位置相同的if

B. 其之前最近的 if

C 其之后最近的if

D 同一行上的if

10 若有条件表达式,(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是_____。

A (exp==0)

B (exp!=0)

C (exp==1)

D (exp!=1)

1.C
解析:整型或字符型数据可以作为逻辑运算符两侧运算对象,所以A B错误,指针不可以作为逻辑运算符两侧运算对象,所以D错。故选C.
2.B
解析:算术运算符优先级高于关系运算符,关系运算符优先级高于逻辑运算符。
+是算术运算符,<、!=是关系运算符, &&是逻辑运算符。故选B
3.C
解析:[1,10]这应该是取交集,[1,10]与[200,210]取并集,故选C
4.C
解析:A是数学里面才这样表达,B显然错误,D是其他编程语言的表达方式,C语言只能像C那样表达
5.C
解析:显然B、D正确,C中第一个语句缺少“;”号,A中后面那个“;”是空语句的意思,即什么都不执行,是正确的哈。故选C.
6.C
解析:m先自加,则m=6,所以m++>5成立,所以输出m的值,故选C
7.B
解析:先判断a<b,显然条件成立,于是执行判断c<d,显然条件不成立,则执行判断a<c,显然条件成立,于是执行判断b<d,显然条件成立,于是执行x=2,后面的语句就不执行啦!
8.C
解析:先判断x<y,显然条件成立,于是执行判断y!=10,显然条件成立,于是执行!ok1,由于ok1为非零,所以表达式!ok1的值为零,于是执行判断ok2,由于ok2的值为零,故不执行a=10,然后执行a=-1,故选C
9.B
解析:c语言是这样规定的,不信,可以翻一下教材。
10.B
解析:这种题我做过,表达式(exp)?a++:b--的意思是如果exp的值为0,执行b--,如果exp的值不为0,则执行a++,而表达式(exp!=0) a++:b--中,若exp=0的话,显然表达式exp!=0的值为0,故执行b--,反之,执行a++
希望你能明白我讲的!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-10-27
这才是正确答案:CDCCA CBABC
第2个回答  2008-10-27
C D C C D A B D A C
第3个回答  2008-10-27
CBCCACBABB