C语言程序设计复习题(选择题)新 下载本文

内容发布更新时间 : 2024/12/24 1:18:31星期一 下面是文章的全部内容请认真阅读。

第 1 页 共 12 页

第二部分 选择题

1. 假设整型变量a为2,使b的值为0的表达式是( )。

A)b=a/2 B)b=6-(--a) C)b=a%2 D)b=a>3?0:1 提示 正确答案为C

2. 假设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

3. 假设a=3,b=4,c=5,则逻辑表达式: !(a+b)+c-1&&b+c/2的值是( )。 A)true B)false C)0 D) 1 提示 正确答案为D 4. 假设所有变量均为整型,则表达式:(a=2,b=5,b++,a+b)的值为( )。 A)7 B)8 C)6 D)2 提示 正确答案为B

5. 设整型变量x的值为5,y的值为2,则值为1的表达式是( )。

A)!(y==x/2) B)y!=x%3 C)x>0&&y<0 D)x!=y||x>=y 6.已知a=12,表达式a+=a-=a*=a的值为( )。

A)144 B)-12 C)0 D)24 提示 正确答案为C 6. 在下面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

7. 设有整型变量a, 实型变量f,双精度型变量x,则表达式10+'b'+x*f值的类型为( )。

A) int B) float C) double D) 不能确定 提示 正确答案为C 8. 若有int k=5; float x=1.2;则表达式(int)(x+k)的值是( )。 A)5 B)6.2 C)7 D)6 提示 正确答案为D 9. 表达式k=(12<10)?4:1?2:3的值为( )。

A) 1 B) 2 C) 3 D) 4 提示 正确答案为B 10. 下列哪组运算符的优先级相同且运算次序从左到右( )。 A) () [ ] -> . B)++ -- +=

C) < & | ^ D)&& || 提示 正确答案为A

11. 已知:int x=1, y=2, z=0; 则执行:z=x>y?10:20, z的值为( )。

A)10 B)20 C)1 D)2 提示 正确答案为B 12. 若已定义x和y为double类型,则表达式x=2,y=x+10/4 的值是( ) 。 A) 2 B) 4 C) 4.0 D) 4.5 提示 正确答案为C 13. sizeof(''a''+10)的值为( )类型。

A)int B) float C) double D)char 提示 正确答案为A 14. 已知:int x=1, y=2, z; 则执行:z=x>y?++x:++y, z的值为( )。 (A) 1 (B) 2 (C) 3 (D) 4 提示 正确答案为C 15. C语言中,运算对象必须是整型数的运算符是( )。

A)% B)/ C)%和/ D)* 提示 正确答案为A

16. 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是( )。 A)1 B)2 C)2.0 D)2.5 提示 正确答案为C 17. 若t为double类型,表达式t=1,t+5,t的值是( ) 。 A)1 B)6.0 C)1.0 D)6 提示 正确答案为C 18. 在以下一组运算符中,优先级最高的运算符是( )。

-1-

第 2 页 共 12 页

A)<= B)= C)% D)&& 提示 正确答案为C 19. 若有以下定义: | char a;int b; float c; double d;

则表达式a*b+d-c值的类型为( )。

A)float B)int C)char D)double 提示 正确答案为D 20. 假设有int x=11; 则表达式 (x++*1/3) 的值是 ( )

A) 3 B) 12 C) 11 D) 0 提示 正确答案为A 21. 以下关于运算符优先顺序的描述中,正确的是( )。

A)关系运算符<算术运算符<赋值运算符 B)逻辑运算符<关系运算符<算术运算符 C)算术运算符<关系运算符<赋值运算符 D)赋值运算符<关系运算符<算术运算符 提示 正确答案为D

22. sizeof (double)是一个( )。

A)整型表达式 B)实型表达式 C)不合法的表达式 D)函数 提示 正确答案为A

23. 下面对变量赋初值正确的是( )

A)int a=b=c=1; B)int a=1,b=c=2;

C)int a=1,b=1,c=1; D)int a=b=1,c=2; 提示 正确答案为C 24. 在C语言中,若以下变量均为int型,则下面程序段的输出结果是( )。 s=6,u=6; u=s++;u++; printf(\

A)7 B)6 C)5 D)4 提示 正确答案为B

25. 若有定义:int x=3;double y; 则执行语句y=(double)x;后,变量x的数据类型为( A)int B)char C)flaot D)double 提示 正确答案为A 26. 若有定义double x,y; 则表达式x=1,y=x+3/2的值为( )。

A)1 B)2 C)2.0 D)2.5 提示 正确答案为C

27. 若有定义int x,y,t; 则执行语句: x=y=3,t=++x||++y;后,y的值为( )。 A)不定值 B)4 C) 3 D)1 提示 正确答案为C 28. 若x、i、j和k都是int型变量,则计算下面表达式后,x的值为( )。

x=(i=4,j=16,k=32)

A) 4 B) 16 C) 32 D) 52 提示 正确答案为C 29. 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( )。 A)7 B)8 C)6 D)2 提示 正确答案为B 30. 设int a=1,则执行完循环While(a++<5);a的值是:

A)6 B)5 C)1 D)-264 提示 正确答案为A 31. 在下列for循环中,其循环次数是( )。 for(x=1,y=0;(y!=123)&&(x<4); x++);

A)4 B)3 C)1 D)无数多次 提示 正确答案为B 32. 设x和y均为int型变量,则执行下面的循环后,y的值为( )。 for(y=1,x=1;y<=50;y++) {if (x>=10) break;

if (x%2==1) {x+=5;continue;} x-=3; }

-2-

。 ) 第 3 页 共 12 页

A)2 B)4 C)6 D)8 提示 正确答案为C 33. 执行下面程序段的结果是( )。

int x=23; do

{ printf(\ }while (!x);

(A)打印出321 (B)打印出23 (C)不打出任何内容 (D)陷入死循环 提示 正确答案为B

34. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式 ( )。

A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字串,左补空格 D) 输出错0信息 提示 正确答案为B

35. putchar函数可以向终端输出一个( )。 A) 整型变量表达式值 B) 实型变量值

C) 字符串 D) 字符或字符型变量值 提示 正确答案为D

36. 请读程序片段:int i=65536; printf(\上面程序片段的输出结果是( )。

A) 65536 B) 0 C) 有语法错0,无输出结果 D) -1 提示 正确答案为B 37. 在下列程序段中: int x, y ;

scanf(\

若输入的数据为:12345678,则x、y的值分别为( )。

A) 123,456 B)123,678 C)12345 678 D)无法得到正确的值 提示 正确答案为B

38. 有如下程序,输入数据12 345后,y的值是( )。 #include main()

{ int x; float y;

scanf(\

(A)12.000000 (B)345.000000 (C)12345.000000 (D)0.000000 提示 正确答案为B 39. 有如下程序,若要求a1,a2,c1,c2的值分别为10,20,A,B,正确的数据输入是( )。 main()

{int a1,a2; char c1,c2;

scanf(\ scanf(\ }

(A)1020AB (B)10 20AB

(C)10 20 AB (D)10 20AB 提示 正确答案为D 40. 执行下列程序段后,变量a,b,c的值分别是( )。 int x=10,y=9;

-3-

第 4 页 共 12 页

int a,b,c;

a=(--x==y++)?--x:++y; b=x++; c=y;

(A)a=9,b=9,c=9 (B)a=9,b=10,c=9

(C)a=1,b=11,c=10 (D)a=8,b=8,c=10 提示 正确答案为D

41. 设有语句int a=3;则执行语句a+=a-=a*a后,变量a的值是( )。 (A) 3 (B) 0 (C) 9 (D) -12 提示 正确答案为D 42. 在下列选项中,不正确的赋值语句是( )。 A)t/=5; B)n1=(n2=(n3=0));

C)k=i==j; D)a=b+c=1; 提示 正确答案为D 43. 设x为int型变量,则执行以下语句后,x的值为( )。

x=10;x+=x-=x-x;

A)10 B)20 C)0 D)-20 提示 正确答案为B 44. 若有int a=1,b=2,c=3,d=4;则表达式: a++

A)4 B)3 C)2 D)1 提示 正确答案为C 45. 以下选项中( )是正确的C语言赋值语句。

A)x=3,y=5 B)a=b=6 C)i--; D)y=int(x); 提示 正确答案为C 46. 设有如下的变量定义: int i=8,k,a,b;

unsigned long w=5; double x=1,42,y=5.2;

则以下符合C语言语法的表达式是( )。

A)a=a-=(b=4)*(a=3) B)x%(--3)

C)a=a*3=2 D)y=float(i) 提示 正确答案为A

47. 当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的语句是( )。

A)c=b=a; B)(a=c)‖(b=c); C)(a=c)&&(b=c); D)a=c=b; 提示 正确答案为C 48. 在C语言的if语句中,用作判断的表达式为( )。

A)关系表达式 B)逻辑表达式 C)算术表达式 D)任意表达式 提示 正确答案为D

49. 以下程序的运行情况是( ).

#inlcude void main( )

{int x=3,y=0,z=0;

if (x=y+z) printf(\ else printf(\

A)有语法错0不能通过编译 B)输出**** C)可以通过编译, 不能通过连接, 不能运行 D)输出#### 提示 正确答案为D

50. 若有定义int x,y;下面选项中合法的if语句( ). A)if(a==b)x++; B)if(a=

(C)if(a<>b)x++; (Dif(a=>b)x++; 提示 正确答案为A

51. 运行下列程序并用键盘输入53,48,32 后,在屏幕上的内容是( )。 main ()

-4-