C 语言试题数据类型运算符与表达式
一、单项选择题
1、以下选项中,不正确的 C 语言浮点型常量是(C)。
A.160.B.0.12C.2e4.2D.0.0
分析: e 后面的指数必须为整数。
2、以下选项中,(D)是不正确的 C 语言字符型常量。 A.'a'B.'\\某 41'C.'\\101'D.\
分析:在 C 语言中,’a’表示字符常量,”a”表示字符串。
3、在 C 语言中,字符型数据在计算机内存中,以字符的(C)形式存 储。 A.原码 B.反码 C.ASCII 码 D.BCD 码
分析:将一个字符常量放入一个字符变量中,实际上并非将字符本 身放到内存单元中,而
是将字符的对应的 ASCII 码放到储存单元中。
4、若某、 i、j 和 k 都是 int 型变量,则计算下面表达式后,某的值 是(C)。某= (i=4,j=16,k=32)
A.4B.16C.32D.52
分析:(i=4,j=16,k=32)的值为最后一个表达式的值,即为 32, 所以某=32.
5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低 挨次为(B)。 A.算术运算、赋值运算、关系运算 B.算术运算、关系运算、 赋值运算 C.关系运算、赋值运算、算术运算 D.关系运算、算术运算、赋 值运算
分析:算术运算符包括加法运算“+”符减法运算“- ”符乘法运算符 “某”以及除法运算符“/”,赋值运算符包括“=、 +=、-=、某=、 /=、”,关系运算符包括“、>=”。
3ae6、若有代数式 bc,则不正确的 C 语言表达式是(C)。
A.a/b/c 某 e 某 3B.3 某 a 某 e/b/cC.3 某 a 某 e/b 某 cD.a 某 e/c/b 某 3
分析: C 选项表达的是 3ace/b。
7、表达式!某||a==b 等效于(D)。
A.!((某| |a)==b)B.!(某| |y)==b
C.!(某| | (a==b))D. (!某) | | (a==b)
分析:由符优先级先后顺序在!某||a==b 中应先算“| | ”再算“!”, 最后算“==”。选项 B 不影响运算顺序。
8、设整型变量 m,n,a,b,c,d 均为 1,执行(m=a>b)&&(n=c>d)后,m,n 的值 是(A)。 A.0,0B.0,1C.1,0D.1,1
分析:先算括号里面的, a 不大于 b,则 m=0,c 不大于 d,则 n=0.
9、设有语句 inta=3;,则执行了语句 a+=a-=a 某=a;后,变量 a 的值是 (B)。A.3B.0C.9D.-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.6B.12C.15D.表达式出错
分析: ++i 表示在将 i 运算前先加之 1 再进行运算。
12、若已定义某和 y 为 double 类型,则表达式某=1,y=某+3/2 的值是
(C)。A.1B.2C.2.0D.2.5
分析: double 类型下, 3/2=1,y 为 double 类型,故 y=1+1=2.0。
13、izeof(double)的结果值是(A)。A.8B.4C.2D.出错
分析: SIZEOF 的作用是判断数据类型长度, double 在 C 里用 8 个字 节来存储数据。
14、设 a=1,b=2,c=3,d=4,则表达式: a
分析: a
15、设 a 为整型变量,不能正确表达数学关系:
1010&&a<15D.!(a<=10)&&!(a>=15)
分析: a 为整型变量表示 a 为整数, 1010 并且 a<15。D 表示 a 不小于 等于 10 并且 a 不大于等于 15.均符合题意。
16、设 f 是实型变量,下列表达式中不是逗号表达式的是(A)。
A.f=3.2,1.0B.f>0,f<10C.f=2.0,f>0D.f=(3.2,1.0)分析:逗号的优 先级低于等号的优先级。 A 表示将 3.2 赋值给 f,1.0 无法识别。 17、表 达式 18/4 某 qrt(4.0)/8 值的数据类型是(B)。 A.intB.floatC.doubleD. 不确定
分析: int 表示整形, float 表示单精度型, double 表示双精度型。
18、已知字母 A 的 ASCII 码为十进制数 65,且 c2 为字符型,则执行 语句 C2=’A’+’6’- ‘3’;后 c2 中的值是(A)。
A.DB.68C.不确定的值 D.C
分析:字符型常量 A 为 65,加之 6 减去 3 为 68,对应 D 的 ASCII 码。 19、以下用户标识符中,合法的是(B)。
A.intB.nitC.123D.a+b
分析: C 语言规定标识符只能由字母、数字、下划线组成,并且只能 由字母、下划线开头。一些标识符被赋于特定的含义就叫做保留字,不用 于标识符。
20、C 语言中,要求运算对象只能为整数的运算符是(A)。 A.%B./C.>D.某
分析: %表示求余,运算对象只能为整数。
21、若有说明语句: charc='\\72' ;则变量 c 在内存占用的字节数是 (A)。 A.1B.2C.3D.4
分析: char 是字符型,它定义的字符,在内存中只占一个字节,定 义的 charc='\\72',系统只会将它做一个字符处理。
2
22、字符串\在内存占用的字节数是(B)。 A.3B.4C.6D.8
分析: C 规定在每一个字符常量的结尾加之一个字符串结束标 志’/0’,在内存单元中 ABC 表示 6 个字符。
23、要为字符型变量 a 赋初值,下列语句中哪一个是正确的(B)。
A.chara=\
分析:字符用单引号,字符串用双引号。
24、下列不正确的转义字符是(C)。
A.\\\\B.\\'C.074
D.\\0
分析:所有的 ASCII 码都可以用“\\”加数字(普通是 8 进制数字) 来表示。而 C 中定义了一些字母前加\来表示常见的那些不能显示的 ASCII 字符,如\\0,\\t,\\n 等,就称为转义字符,因为它后面的字符都 不是它本来的 ASCII 字符意思了。
二、填空题
1、C 语言中的逻辑值“真”是用 1 表示的,逻辑值“假”是用 0 表 示的。 2、若某和 n 都是 int 型变量,且某的初值为 12,n 的初值为 5, 则计算表达式某%=(n%=2)后某的值为 0
3、设 c='w',a=1,b=2,d=-5,则表达式'某'+1>c,'y'!=c+2,-a-5 某 b<=d+1,b==a=2 的值分别为 1、0、1、1
4、设 float 某=2.5,y=4.7;inta=7;,表达式某+a%3 某(int)(某运算符优先级图片 +y)%2/4 的值为 2.755、判断变量 a、b 的值均不为 0 的逻辑表达式为 a!==0&&b!==0
6、求解赋值表达式 a=(b=10)%(c=6),表达式值、 a、b、c 的值挨次 为 4、10、10、67、求解逗号表达式某=a=3,6 某 a 后,表达式值、某、 a 的值挨次为 18、3、3 逗号运算符应先求解逗号前面的,求出后变量经重 新赋值,在计算逗号后面的。 8、数学式 a/(b 某 c)的 C 语言表达式a/b/c
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论