1、13 数据类型、运算符与表达式一、单项选择题 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 码分析:将一个字符常量放入一个字符变量中,实际上并不是将字符本身放到内存单元中,而是将字符的对
2、应的 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. 关系运算、算术运算、赋值运算 分析:算术运算符包括加法运算“+”符减法运算“-”符乘法运算符“*”以及除法运
3、算符“/” ,赋值运算符包括“=、+=、-=、*=、/=、” ,关系运算符包括“、=” 。6、若有代数式 ,则不正确的 C 语言表达式是( C ) 。bcae3A.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 均
4、为 1,执行 (m=ab)后,变量 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 )。 2A. * B. != C. + D. = 分析:在上述选项中,运算符优先级从低到高为=、!=、+、*。11、设整型变量 i 值为 2,表达式(+i)+(+i)+(+i)的结果是( B )。 A. 6 B. 12 C. 15 D. 表达式出错 分析:+i 表示在将 i 运算前先加上 1 再进行运算。12、若已定义 x
5、和 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,则表达式:a10 后 c2 中的值是( A ) 。 A. D B. 68 C. 不确定的值 D. C 分析:字符型常量 A 为 65,
6、加上 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 是字符型,它定
7、义的字符,在内存中只占一个字节,定义的 char c=72,系统只会将它做一个字符处理。322、字符串“ABC“在内存占用的字节数是( B ) 。 A. 3 B. 4 C. 6 D. 8 分析:C 规定在每一个字符常量的结尾加上一个字符串结束标志/0 ,在内存单元中 ABC 表示 6 个字符。23、要为字符型变量 a 赋初值,下列语句中哪一个是正确的( B ) 。 A. char a=“3“; B. char a=3; C. char a=%; D. char a=*; 分析:字符用单引号,字符串用双引号。24、下列不正确的转义字符是( C ) 。 A. B. C. 074 D. 0 分析:所
8、有的 ASCII 码都可以用“”加数字(一般是 8 进制数字)来表示。而 C 中定义了一些字母前加“来表示常见的那些不能显示的 ASCII 字符,如0,t,n 等,就称为转义字符,因为它后面的字符都不是它本来的 ASCII 字符意思了。二、填空题 1、C 语言中的逻辑值“真”是用 1 表示的,逻辑值“假”是用 0 表示的。 2、若 x 和 n 都是 int 型变量,且 x 的初值为 12,n 的初值为 5,则计算表达式 x%=(n%=2)后 x 的值为 0 。 3、设 c=w,a=1,b=2,d=-5, 则表达式 x+1c, y!=c+2, -a-5*bb)a=1.5,b=2.3;C=2*(a+b);S=a*b;printf(“%f,%fn”,C,S);2、 编写一个程序,将大写字母 A 转换为小写字母 a。#includevoid main()char c;c=A;c=c+32;printf(“%c”,c)