C语言数据类型与表达式习题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章数据类型,运算符与表达式
一.选择题
1.不合法的常量是A。
A)‘/2’B) “”C)‘’D)“483”
2. B 是C语言提供的合法的数据类型关键字。
A)Float B)signed C)integer D)Char
3.在以下各组标识符中,合法的标识符是(1)A,(2) C ,(3) D 。
(1)A)B01 B)table_1 C)0_t D)k%
Int t*.1 W10 point (2)A)Fast_ B)void C)pbl D)
4. 不属于合法的C语言长整型常量的是 C 。
A)5876273 B)0L C)2E10 D)(long)5876273 7.下面选项中,均是合法浮点数的是 B 。
A)+1e+1 B)-0.60 C)123e D)-e3 5e-9.4 12e-4 1.2e-.4 .8e-4
03e2 -8e5 +2e-1 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)非法数
16.对于char cx=‟\039‟;语句,正确的是A。
A)不合法B)cx的值是‟\03‟
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的阶乘),则s变量应定义为 C 。
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.设变量n为float型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是 B 3.1456 。
A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100.0
C)n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.0
22.以下合法的赋值语句是A。
A)x=y=100 ; B)d――; C)x+y ; D)c=int(a+b) ; 23.以下选项中不属于C语言的类型是 D 。
A)signed short int B)unsigned long int
B)unsigned int D)long short
24.设以下变量均为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)
25.在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 ;
2.C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为
字母或下划线。
3.字符常量使用一对…界定单个字符,而字符串常量使用一对“来界定若干个字符的序列。
4.在C语言中,不同运算符之间运算次序存在优先顺序的区别,同一运算符之间运算次序存在结合性的规则。
5.设x,i,j,k都是int型变量,表达式x=(i=4,j=16,k=32)计算后,x的值为32 。
6.设x=2.5,a=7,y=4.7,则x+a%3*(int)(x+y)%2/4为 2.5 。
7.设a=2,b=3,x=3.5,y=2.5,则(float)(a+b)/2+(int)x%(int)y为 3.5 。
8.数学式子1
24
a x
ax
a
+
⎛⎫
+
⎪
⎝⎭
的C语言表达式为(1.0/2)*( a*x+(a+x)/(4*a) ) 。
9.数学式子3ae
bc
的C语言表达式为3*a*e/(b*c) 。
10.已知:char a=’a’,b=’b’,c=’c’,i;则表达式i=a+b+c的值为38(溢出) 。
11.已知int a=12,n=5;则: