1、C语言运算符与表达式的练习题单项选择题 (1)以下选项中,正确的 C 语言整型常量是( D )。 A. 32L B. 510000 C. -1.00 D. 567 (2)以下选项中,( D )是不正确的 C 语言字符型常量。 A. a B. x41 C. 101 D. a (3)字符串的结束标志是( C )。 A. 0 B. 0 C. 0 D. 0 (4)算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( B )。 A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运算、赋值运算 C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算 (5)逻辑运算符中,运
2、算优先级按从高到低依次为( D )。 A. & ! | B. | & ! C. & | ! D. ! & | (6)表达式!x|a=b 等效于( D )。 A. !(x|a)=b) B. !(x|y)=b C. !(x|(a=b) D. (!x)|(a=b) (7)设整型变量 m,n,a,b,c,d 均为1,执行 (m=ab)&(n=cd)后, m,n 的值是( A )。 A. 0,0 B. 0,1 C. 1,0 D. 1,1 *(8)设有语句 int a=3;,则执行了语句 a+=a-=a*=a; 后,变量 a 的值是( B )。 A. 3 B. 0 C. 9 D. -12 (9)在以下一组
3、运算符中,优先级最低的运算符是( D )。 A. * B. != C. + D. = (10)设整型变量 i 值为2,表达式(+i)+(+i)+(+i)的结果是( B,上机13 )。 A. 6 B. 12 C. 15 D. 表达式出错 (11)若已定义 x 和 y为double 类型,则表达式 x=1;y=x+3/2 的值是( D )。 A. 1 B. 2 C. 2.0 D. 2.5 *(12)设a=1,b=2,c=3,d=4,则表达式:ab? a : cd? a : d的结果为( D )。 A. 4 B. 3 C. 2 D. 1 (13)设a 为整型变量,不能正确表达数学关系:10a15的
4、C 语言表达式是( A )。 A. 10a10 & a15 D. !(a=15) *(14)设 f是实型变量,下列表达式中不是逗号表达式的是( B )。 A. f= 3.2, 1.0 B. f0, f0 D. f=(3.2, 1.0) *(15)设ch是 char型变量,其值为 A,则下面表达式的值是( B )。 ch=(ch=A& ch D. * (19) PC 机中,n在内存占用的字节数是( A )。 A. 1 B. 2 C. 3 D. 4 (20) 字符串ABC在内存占用的字节数是( B )。 A. 3 B. 4 C. 6 D. 8 (21) 要为字符型变量 a赋初值,下列语句中哪一个是
5、正确的( B )。 A. char a=3; B. char a=3; C. char a=%; D. char a=*; (22)下列不正确的转义字符是( C )。 A. B. C. 074 D. 0 填空题(1) C 语言中的逻辑值“真”是用1 表示的,逻辑值“假”是用0 表示的。 (2) 设 c=w,a=1,b=2,d=-5, 则表达式 x+1c, y!=c+2, -a-5*b=d+1, b=a=2的值分别为1 、0 、1 、0 。 (5) 设 float x=2.5,y=4.7; int a=7;,表达式 x+a%3*(int)(x+y)%2/4的值为2.5 。(6) 判断变量 a、b 的值均不为 0 的逻辑表达式为a*b!=0或a!=0&b!=0 。 (7) 求解赋值表达式 a=(b=10)%(c=6),表达式值、a、b、c 的值依次为4,10,6 。 (8) 求解逗号表达式 x=a=3,6*a 后,表达式值、x、a 的值依次为18,3,3 。(9) 数学式a/(b*c)的 C 语言表达式是a/(b*c); 。