第2章 基本数据类型-习题(C语言)

发布时间:2018-06-27 07:14:55

2 基本数据类型

一.选择题

1. 不合法的字符常量是
A) ‘\t B) B C) ‘a D)’\x32

2. 合法的字符常量是【
A) ‘\084’ B) ‘\84’ C) ‘ab’ D)’\x4A

3. C语言提供的合法的数据类型关键字是【 】。
A) Float B) Signed C) integer D)char

4. 属于合法的C语言长整型常量的是【
A)2736 B)0L C)2E10 D)(long)5876273

5. 下面选项中,不是合法整型常量的是【 】。
A)160 B)0xcdg C)01 D)0x48a

6. 以下所列的C语言常量中,错误的是【
A)0xFF B)1.2e0.5 C)2L D)’\72’

7. 下面四个选项中,均是不正确的8进制数或16进制数的选项是
A)016 0x8f 018 B)0abc 017 0xa
C)010 -0x11 0x16 D)0a12 7ff -123

8. 下选项中不属于C语言的类型是【 】。
A)signed short int B)unsigned long int
B)unsigned int D)long short

9. 判断int x = 0xaffb1x的结果是【
A)赋值非法 B)溢出 C)affb D)ffbc

10. 下面选项中,是合法浮点数的是【 】。
A)+1e0.5 B).60 C)123e D)e3

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

12. C语言中,字符型数据在内存中存放形式是【 】。
A)原码 B)BCD C)反码 D)ASCII

13. 下列语句中,不符合语法的赋值语句是【
A)a=7+b+c=a+7; B)a=7+b++ ;
C)a=(7+b,b++,a+7); D)a=7+b,c=a+7;

14. 下面非法的C语言转义字符是【 】。
A)‘\b’ B)‘\0xf’ C)‘\037’ D)‘\’’

15. 有字符串如下,"\n\\\407as1\"\xabc",则字符串的长度为
A)6 B)7 C)8 D)9

16. 对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,正确的是【 】。
A)语法错误 B)f5.0 C)f0.0 D)f2.0

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

18. C语言中,数字029是一个【
A)八进制数 B)十六进制数 C)十进制数 D)非法数

19. 对于char cx=‘\039’;语句,正确的是【
A)不合法 B)cxASCII值是33
C)cx的值为四个字符 D)cx的值为三个字符

20. C语言中,不正确的short类型的常数是
A)123 B)32768 C)037 D)0xAF

21. int k=7,x=12;则能使值为3的表达式是【 】。
A)x%=(k%=5) B)x%=(kk%5)
C)x%=kk%5 D)(x%=k)(k%=5)

22. 假定xydouble,则表达式x=2,y=x+3/2的值是【 】。
A)3.500000 B)3 C)2.000000 D)3.000000

23. 设以下变量均为int类型,则值不等于7的表达式是【 】。
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. 16C编译系统上,若定义long a;,则能给a40000的正确语句是【 】。
A)a=20000+20000 B)a=4000*10
C)30000+10000 D)a=4000L*10L

25. 7/9*9 C语言中的计算结果是 】。
A)1 B)7 C)0 D)以上都不是

26. 以下能正确定义且赋初值的语句是【
A)int n1=n2=10; B)char c=32;
C)float f=f+1.1; D)double x=12.3E2.5;

27. 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是
A)2.500000 B)2.750000 C)3.500000 D)0.000000

28. 若有运算符<<,sizeof,^,&=,则它们按优先级由高至低的正确排列次序是
A)sizeof,&=,<<,^ B)sizeof,<<,^,&=
C)^,<<,sizeof,&= D)<<,^,&=,sizeof

29. 设变量aint,ffloat,idouble,则表达式10+a+i*f值的数据类型为
A)int B)float C)double D)不确定

二.填空题

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

2. 字符常量使用一对【 】界定单个字符,而字符串常量使用一对【 】来界定若干个字符的序列。

3. C语言中,不同运算符之间运算次序存在【 】的区别,同一运算符之间运算次序存在【 】的规则。

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

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

6. a=2,b=3,x=3.5,y=2.5,则表达式(float)(a+b)/2+(int)x%(int)y的值为【 】。

7. 数学式子C语言表达式为【 】。

8. 数学式子C语言表达式为【

9. 数学式子C语言表达式为【

10. 已知:char a=‘a’,b=‘b’,c=‘c’,i;则表达式i=a+b+c的值为【 】。

11. 已知int a=12,n=5;则:
a+=a; a-=2;a*=2+3 ;a/=a+a ;n%=(n%=2) ;a+=a-=a*=a ;
表达式运算后a的值各为【 】。

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

13. aint型变量,则表达式 (a=4*5,a*2) ,a+6的值为【 】。

14. 假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为【 】。

15. 已知a,b,c是一个十进制数x的百位,十位,个位,则计算a,b,c的表达式是【 】。

16. 定义:double x=3.5,y=3.2;则表达式(int)x*0.5的值是【 ,表达式y+=x++的值是【 】。

17. 定义:int m=5,n=3;则表达式m/=n+4的值是【 ,表达式m=(m=1,n=2,n-m)的值是【 ,表达式m+=m-=(m=1)*(n=2)的值是【 】。

18. 表达式5%(-3)的值是【 2 ,表达式-5%(-3)的值是【 】。

19. aint变量,则执行表达式a=25/3%3,a的值是【 】。

三.判断题

1. C程序中对用到的所有数据都必须指定其数据类型。【

2. 一个变量在内存中占据一定的存储单元。【

3. 一个实型变量的值肯定是精确的。【

4. 对几个变量在定义时赋初值可以写成:int a=b=c=3;

5. 自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式。【

6. C程序的表达式中,为了明确表达式的运算次序,常使用括号“()”。【

7. %运算符要求运算数必须是整数。【

8. a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数。【

9. C语言不允许混合类型数据间进行运算。【

四.简答题

1. 为什么C语言的字符型可以进行数值运算?

2. 简述‘a’“a”的区别。

3. 程序:int m=12; m=15;为什么整型变量m的值在运算后不是当初的12,而是15

4. 华氏温度F与摄氏温度c的转换公式为:c=(F-32)*5/9 ,float c,F; c=5/9*(F-32)是其对应的C语言表达式吗?如果不是,为什么?

五.程序阅读题

1. 写出以下程序运行的结果。

void main( )

{ char c1='a',c2='b',c3='c',c4='\101',c5='\102';

printf("a%c b%c\tc%c\tabc\n",c1,c2,c3);

printf("\t\b%c %c",c4,c5);

}

2. 写出以下程序运行的结果。

void main( )

{ int i,j,m,n;

i=8;

j=10;

m=++i;

n=j++;

printf(%d,%d,%d,%d,i,j,m,n);

}

第2章 基本数据类型-习题(C语言)

相关推荐