17. 假定w、x、y、z、m均为int型变量,有如下程序段: w=1; x=2; y=3; z=4; m=(w 则该程序运行后,m的值是( )。 A) 4 B) 3 C) 2 D) 1 答案为D 18. 整型变量x和y的值相等,且为非0值,则以下选项中,结果为0的表达式是( )。 A) x || y B) x | y C) x & y D) x ^ y 答案为D 19. 下列( )表达式不满足:当x的值为偶数时值为\真\,为奇数时值\假\。 A)X%2= =0 B) ! x%2 !=0 C)(x/2 * 2-x)= =0 D) !(x%2) 答案为B 20. 设整型变量x的值为5,y的值为2,则值为1的表达式是( )。 A)!(y= =x/2) B)Y!=x%3 C)X>0&&y<0 D)X!=y||x>=y 答案为D 21. 假设整型变量a为2,使b的值为0的表达式是( )。 A)b=a/2 B)b=6-(--a) C)b=a%2 D)b=a>3? 0:1 答案为C 22. 若有int b=2;则表达式(b>>2)/(b>>1)的值是( )。 A) 0 B) 2 C) 4 D) 8 答案为A 23. 设int x=3,y=4,z=5; 则下面表达式中值为0的是( )。 A)x&&y B)x<=y C)x||y+z&&y-z D)!((x 24. 假设x=2.5,a=7,y=4.7,则表达式:x+a%3*(int)(x+y)%2/4的值为( )。 A)2.5 B)2.75 C)3 D)9.5 答案为A 25. 已知a=12,表达式a+=a-=a*=aA)A)144 B)-12 C)0 D)24 答案为C 26. 假设a=3,b=4,c=5,则逻辑表达式: !(a+b)+c-1&&b+c/2的值是( )。 A)true B)false C)0 D) 1 答案为D 27. 若int a=3,b=4;则执行c=a++>2||b-->=4之后, b变量的值为( )。 A)3 B)0 C)4 D)2 答案为C 28. 以下( )表达式取值是正确 的 值 为 ( ) 的。 A)1&&a的结果为1 B)3&5的结果为0 C)3|5的结果为0 D)3||''a''的结果为0 答案为A 29. 设有语句a=4;则执行语句a-=a+=a*a;后,变量a 的值是( ) A)4 B)0 C)20 D)16 答案为B 30. 设有int a=4,b=6;则表达式 a&b的值为( ) A)3 B)4 C)11 D)12 答案为B 31. 以下哪个表达式的值为4( ) A)11/3 B)11.0/3 C)(flaot)11/3 D)(int)(11.0/3+0.5) 答案为D 32. 表达式k=(12>10)?4:1?2:3的值为(A)1 B)2 C)3 D)4 答案为D 33. 假设所有变量均为整型,则表达式:(a=2,b=5,b++,a+b)的值为( )。 A)7 B)8 C)6 D)2 答案为B 34. 下列程序的输出结果是 ( )。 main( ) {int a=016; a%=6-1; printf(\ a+=a*=a/=3; printf(\ printf(\ } A)403 B)402 C)424 D)413 答案为C 35. 数学 式4<|x|<10的C语言表达式为( )。 A)4 B)4 C)4 37. 有定义int a=3,b=4,c=5; 执行完表达式a++>--b&&b++>c--&&++c后,a,b,c的值分别为( )。 A)3 4 5 B) 4 3 5 C)4 4 4 D)4 4 5 答案为B 38. 在下面C语言的函数说明语句中,正确的是( )。 A) int fun(int x, int y); B) int fun(int x,y); C) int fun(x,y); D) int fun(int x; int y); 答案为A 39. 2. 字符串常量“ab c\\nt\\012\\xa1*2”在内存中所占的存储空间数是( )。 A) 11 B) 13 C) 15 D) 18 ) ( )。 答案为A 40. 设x,y分别为单精度和双精度类型变量,则下列选项( )可将表达式x+y的运算结果强制转换为整型数据。 A) (int)x+y B) int(x)+y C) int(x+y) D) (int)(x+y) 答案为D 41. 在执行语句if((x=y=2)>=x&&(x=5))y*=x;后变量x、y的值应分别为( )。 A) 2、2 B) 5、2 C) 5、10 D) 执行时报错 答案为C 42. 当z的值不为0时,不能地将z的值赋给变量x和y的是( )。 A) x=y=z B) x=z,y=z C) (x=z)||(y=z) D) (x=z)&&(y=z) 答案为C 43. 设有整型变量a, 实型变量f,双精度型变量x,则表达式10+''b''+x*f值的类型为( )。 (A) int (B) float (C) double (D) 不能确定 答案为C 44. 设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是( )。 (A) x && y; (B) x<=y; (C) x || y + z && y – z ; (D) !((x 45. 表达式 a < b || ~ c & d 的运算顺序是 ( )。 (A) ~, & , < , || (B) ~ , ||, &, < (C) ~, & , || ,< (D) ~ , < , & , || 答案为D 46. 在位运算中,操作数每左移一位,其结果相当于 ( )。 (A)操作数乘以2 (B)操作数除以2 (C)操作数除以4 (D)操作数乘以4 答案为A 47. 若有int k=5; float x=1.2;则表达式(int)(x+k)的值是( )。 (A)5 (B)6.2 (C)7 (D)6 答案为D 48. 表达式k=(12<10)?4:1?2:3的值为( )。 (A) 1 (B) 2 (C) 3 (D) 4 答案为B 49. 字符串\的长度为( ) (A) 4 (B) 1 (C) 16 (D) 17 答案为A 50. 如a为int型,则与表达式a等价的C语言关系表达式是( ) (A) a>0 (B) a!=0 (C) a==0 (D) a<0 答案为B 51. C语言在判断一个量时,用( )表示逻辑真值。 (A) true (B) T (C) 整型值0 (D) 非0整型值 答案为D 52. 下列哪组运算符的优先级相同且运算次序从左到右( )。 A)() [] -> . B)++ -- += C)< & | ^ D)&& || 答案为A 53. 已知:int x = 1, y = 2, z =0; 则执行:z = x > y ? 10 : 20 , z的值为( )。 A)10 B)20 C)1 D)2 答案为B 54. 若已定义x和y为double类型,则表达式x=2,y=x+10/4 的值是( ) 。 A) 2 B) 4 C) 4.0 D) 4.5 答案为C 55. sizeof(''a''+10)的值为( )类型。 A)int B) float C) double D)char 答案为A 56. 若有float x=2.5,y=4.7;int a=7; 则表达式x+a%3*(int)(x+y)%2/4的值为( )。 A)4.0 B)3.0 C)2.75 D)2.5 答案为D 57. int x=3,y=2;则条件表达式x>y?1:2.3的值为( )。 A)1 B)1.0 C)2.3 D)2 答案为B 58. 已知:int x = 1, y = 2, z ; 则执行:z = x > y ? ++x : ++y , z的值为( )。 (A) 1 (B) 2 (C) 3 (D) 4 答案为C 59. C语言中,运算对象必须是整型数的运算符是( )。 A)% B)/ C)%和/ D)* 答案为A 60. 若有关系x≥y≥z,应使用( )C语言表达式。 A)(x>=y)&&(y>=z) B)(x>=y)AND(y>=z) C)(x>=y>=z) D)(x>=y)&(y>=z) 答案为A 61. 以下能表示a≥10或a≤0的合法的C语言关系表达式是( )。 A)a>=10 or a<=0 B)a>=10│a<=0 C)a>=10||a<=0 D)a>=10||a<=0 答案为C 62. 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是( )。 A)1 B)2 C)2.0 D)2.5 答案为C 63. 若t为double类型,表达式t=1,t+5,t的值是( ) 。 A)1 B)6.0 C)1.0 D)6 答案为C 64. 在以下一组运算符中,优先级最高的运算符是( )。 A)<= B)= C)% D)&& 答案为C 65. 若有以下定义: | char a;int b; float c; double d; 则表达式a*b+d-c值的类型为( )。