C语言数据类型习题及答案

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

第二章数据类型,运算符与表达式

一.选择题

1.不合法的字符常量是(B)。

A)‘\t’B) “A” C)‘a’D)’\x32’

2、合法的字符常量是(D)。

A)‘\084’B) ‘\84’ C)‘ab’D)’\x43’

2.(B)是C语言提供的合法的数据类型关键字。

A)Float B)signed C)integer D)Char

3.在以下各组标识符中,合法的标识符是(4)。

(1)A)B01 B)table_1 C)0_t D)k%

(2)A)Fast_ B)void C)pbl D)

(3)A)xy_ B)longdouble C)*p D)CHAR

(4) A) sj B)Int C)_xy D)w_y23

4.属于合法的C语言长整型常量的是(B)。

A)5876273 B)0L C)2E10 D)(long)5876273

5.下面选项中,不是合法整型常量的是(B)。

A)160 B)-0xcdg C)-01 D)-0x48a

6.判断int x = 0xaffbc;x的结果是(B)(turbo c 版本)。

A)赋值非法B)溢出C)为affb D)为ffbc

7.下面选项中,均是合法浮点数的是(B)。

A)+1e+1 B)-.60 C)123e D)-e3

A)5e-9.4 B)12e-4 C)1.2e-.4 D).8e-4

A)03e2 B)-8e5 C)+2e-1 D)5.e-0

8.在C语言中,要求参加运算的数必须是整数的运算符是(C)。A)/ B)* C)% D) =

9.在C语言中,字符型数据在内存中以(D)形式存放。

A)原码B)BCD码C)反码D)ASCII码

10.下列语句中,符合语法的赋值语句是(C)。

A)a=7+b+c=a+7;B)a=7+b++=a+7;

C)a=(7+b,b++,a+7);D)a=7+b,c=a+7;

11.(B)是非法的C语言转义字符。

A)‘\b’B)‘\0xf’ C)‘\037’ D)‘\’’

12.对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中(B),是正确的。A)语法错误B)f为5.0 C)f为0.0 D)f为2.0

13.与代数式(x*y)/(u*v) 不等价的C语言表达式是(A)。

A)x*y/u*v B)x*y/u/v C)x*y/(u*v) D)x/(u*v)*y

14.在C语言中,数字029是一个(D)。

A)八进制数B)十六进制数C)十进制数D)非法数

15.C语言中(Turbo C环境)整数-8在内存中的存储形式为(A)。A)1111111111111000 B)1000

C)1000 D)1111111111110111

16.对于char cx=’ \039’;语句,正确的是(A)。

A)不合法B)cx的ASCII值是33

C)cx的值为四个字符D)cx的值为三个字符

17.若int k=7,x=12;则能使值为3的表达式是(D)。

A)=(x%=(k%=5) B)x%=(k-k%5)

C)x%=k-k%5 D)(x%=k)-(k%=5)

18.为了计算s=10!(即10的阶乘(24320)),则s变量应定义为(D)。

A)int B)unsigned C)long D)以上三种类型均可

19.以下所列的C语言常量中,错误的是(B)。

A)0xFF B)1.2e0.5 C)2L D)’\72’

20.假定x和y为double型,则表达式x=2,y=x+3/2的值是(D)。

A)3.500000 B)3 C)2.000000 D)3.000000

21.以下合法的赋值语句是(A)。

A)x=y=100 B)d―― C)x+y D)c=int(a+b)

22.以下选项中不属于C语言的类型是(D)。

A)signed short int B)unsigned long int

B)unsigned int D)long short

23.设以下变量均为int类型,则值不等于7的表达式是(C)。

A)(x=y=6,x+y,x+1) B)(x=y=6,x+y,y+1)

C)(x=6,x+1,y=6,x+y) D)(y=6,y+1,x=y,x+1)

24.在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是(D)。

A)a=20000+20000;B)a=4000*10;

C)30000+10000;D)a=4000L*10L;

二.填空题

1.在C语言中(以16位PC机为例),一个char数据在内存中所占字节数为 1 ,其数值范围为-128~127 ;一个int数据在内存中所占字节数为 2 ,其数值范围为-32768~32767 ;一个long数据在内存中所占字节数为 4 ,其数值范围为-2147483648~2147483647 ;一个float数据在内存中所占字节数为 4 ,其数值范围为3.4e-38~3.4e38 。

2.C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为字母或下画线。

3.字符常量使用一对引号界定单个字符,而字符串常量使用一对双引号来界定若干个字符的序列。

4.设x,i,j,k都是int型变量,表达式x=(i=4,j=16,k=32)计算后,x的值为32。

5.设x=2.5,a=7,y=4.7, 则x+a%3*(int)(x+y)%2/4为 2.5 。

6.设a=2,b=3,x=3.5,y=2.5,则(float)(a+b)/2+(int)x%(int)y为 3.5 。

7.已知:char a=’a’,b=’b’,c=’c’,i;则表达式i=a+b+c的值为38 。

8.已知int a=12,n=5;则:表达式运算后a的值各为0 。

a+=a

a-=2

a*=2+3

a/=a+a

n%=(n%=2)

a+=a-=a*=a

9.设int a; float f; double i ;则表达式10+’a’+i*f值的数据类型是double 。

10.若a为int型变量,则表达式(a=4*5,a*2) , a+6的值为26 。

相关文档
最新文档