C语言试题:数据类型、运算符与表达式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3 数据类型、运算符与表达式

一、单项选择题

1、以下选项中,不正确的 C 语言浮点型常量是( C )。

A. 160.

B. 0.12

C. 2e4.2

D. 0.0

分析:e 后面的指数必须为整数。

2、以下选项中,( D )是不正确的 C 语言字符型常量。

A. 'a'

B. '\x41'

C. '\101'

D. "a"

分析:在C 语言中,’a ’表示字符常量,”a ”表示字符串。

3、 在 C 语言中,字符型数据在计算机内存中,以字符的(C )形式存储。

A.原码

B.反码

C. ASCII 码

D. BCD 码

分析:将一个字符常量放入一个字符变量中,实际上并不是将字符本身放到内存单元中,而是将字符的对应的ASCII 码放到储存单元中。

4、若x 、i 、j 和k 都是int 型变量,则计算下面表达式后,x 的值是( C )。 x=(i=4,j=16,k=32)

A. 4

B. 16

C.32

D.52

分析:(i=4,j=16,k=32)的值为最后一个表达式的值,即为32,所以x=32.

5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B )。

A. 算术运算、赋值运算、关系运算

B. 算术运算、关系运算、赋值运算

C. 关系运算、赋值运算、算术运算

D. 关系运算、算术运算、赋值运算

分析:算术运算符包括加法运算“+”符减法运算“-”符乘法运算符“*”以及除法运算符“/”,赋值运算符包括“=、+=、-=、*=、/=、……”,关系运算符包括“<、<=、>、>=”。

6、若有代数式bc ae

3 ,则不正确的C 语言表达式是( C )。

A.a/b/c*e*3

B. 3*a*e/b/c

C.3*a*e/b*c

D. a*e/c/b*3

分析:C 选项表达的是3ace/b 。

7、表达式!x||a==b 等效于( D )。

A. !((x||a)==b)

B. !(x||y)==b

C. !(x||(a==b))

D. (!x)||(a==b) 分析:由符优先级先后顺序在!x||a==b 中应先算“||”再算“!”,最后算“==”。选项B 不影响运算顺序。

8、设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是( A )。

A. 0,0

B. 0,1

C. 1,0

D. 1,1

分析:先算括号里面的,a 不大于b ,则m=0,c 不大于d ,则n=0.

9、 设有语句 int a=3;,则执行了语句 a+=a-=a*=a;后,变量 a 的值是( B )。

A. 3

B. 0

C. 9

D. -12

分析:从后往前算,a*=a 即a=a*a ,a=9;然后a-=a=9,a=a-9,=0;a+=0,a=a+a=0.

10、在以下一组运算符中,优先级最低的运算符是( D )。

A. *

B. !=

C. +

D. =

分析:在上述选项中,运算符优先级从低到高为=、!=、+、*。

11、设整型变量 i 值为2,表达式(++i)+(++i)+(++i)的结果是( B )。

A. 6

B. 12

C. 15

D. 表达式出错

分析:++i表示在将i运算前先加上1再进行运算。

12、若已定义 x 和 y为double 类型,则表达式 x=1,y=x+3/2 的值是( C )。

A. 1

B. 2

C. 2.0

D. 2.5

分析:double类型下,3/2=1,y为double类型,故y=1+1=2.0。

13、sizeof (double)的结果值是( A )。

A. 8

B. 4

C. 2

D. 出错

分析:SIZEOF的作用是判断数据类型长度,double在C里用8个字节来存储数据。

14、设a=1,b=2,c=3,d=4,则表达式:a

A. 4

B. 3

C. 2

D. 1

分析:a

15、设a 为整型变量,不能正确表达数学关系:10

A. 10

B. a= =11|| a= =12 || a= =13 || a= =14

C. a>10 && a<15

D. !(a<=10) && !(a>=15)

分析:a 为整型变量表示a为整数,1010并且a<15。D表示a不小于等于10并且a不大于等于15.均符合题意。

16、设 f是实型变量,下列表达式中不是逗号表达式的是( A )。

A. f= 3.2, 1.0

B. f>0, f<10

C. f=2.0, f>0

D. f=(3.2, 1.0)

分析:逗号的优先级低于等号的优先级。A表示将3.2赋值给f,1.0无法识别。

17、表达式18/4*sqrt(4.0)/8值的数据类型是( B )。

A. int

B. float

C. double

D. 不确定

分析:int表示整形, float表示单精度型, double表示双精度型。

18、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句C2=’A’+’6’-‘3’;后c2中的值是( A )。

A. D

B. 68

C. 不确定的值

D. C

分析:字符型常量A为65,加上6减去3为68,对应D的ASCII码。

19、以下用户标识符中,合法的是( B )。

A. int

B. nit

C. 123

D. a+b

分析:C语言规定标识符只能由字母、数字、下划线组成,并且只能由字母、下划线开头。一些标识符被赋于特定的含义就叫做保留字,不用于标识符。

20、C 语言中,要求运算对象只能为整数的运算符是( A )。

A. %

B. /

C. >

D. *

分析:%表示求余,运算对象只能为整数。

21、若有说明语句:char c='\72';则变量c在内存占用的字节数是( A )。

A. 1

B. 2

C. 3

D. 4

分析:char 是字符型,它定义的字符,在内存中只占一个字节,定义的char c='\72',系统只会将它做一个字符处理。

相关文档
最新文档