2011 - C语言实验与习题(答案)(2)

2020-03-26 19:28

三、 理论习题 1. 第一章

1. C语言的函数体由(

)括起来。

C) []

D) ()

A) <> B) {} 2. 下面叙述错误的是()

A) 一个C源程序可由一个或多个函数组成 B) 构成C语言源程序的基本单位是语句

C) C源程序中大、小写字母是有区别的 D) 若一条语句较长,可分写在下一行或多行上 3. 下面叙述正确的是()

A) 每行最多只能写两条语句

B) main()函数必须位于源程序文件的开头 4. C源程序中main()函数的位置()。

A) 必须位于程序的最前面 B) 必须在自定义函数前面

5. main()函数的位置()

A) 必须位于用户自定义函数的前面

C) 所有语句都必须以分号;结束 D) 程序中必须含有自定义函数 C) 必须在系统库函数后面 D) 可以在自定义函数后面

B) 必须位于程序文件的最前面

C) 可位于用户字定义函数之前,也可位于用户自定义函数之后 D) 必须位于用户自定义函数的后面 6. 结构化程序设计不包括( )。

A) 最优化 B) 自顶而下,逐步细化

7. ( )是结构化程序设计应遵循的原则

A) B) C) D)

C) 模块化设计 D) 结构化编程

根据需要可使用嵌套基本控制结构表示程序逻辑

应使用顺序、选择、循环三种基本控制结构表示程序逻辑 选用的控制结构可有多个入口和一个出口 为提高程序效率,应尽量使用goto语句

C) 高级语言、字软语言和伪代码 D) 汇编语言、高级语言和低级语言

8. 描述一个算法可以有不同的方式常见的有() A) 机器语言、汇编语言和高级语言 B) 自然语言、流程图和伪代码 9. 下列叙述正确的是()

A) 花括号“{}“只能用作函数体的定界符

B) 注释部分可在C源程序单独占一行,也可以跟在一行语句后面 C) 分号是C语句之间的分隔符,并不调试一条语句的结束 D) 函数是C源程序的基本单位,所有函数名都可以由用户命名 10. 下面叙述错误的是()

A) 语句是构成C语言源程序的基本单位 B) 所有语句都必须以分号“;”结束

11. 能将C源程序转换为目标程序的软件是()

A) 编译程序

C) C语言源程序必须包含一个main()函数 D) 注释部分在程序编译和运行时不起作用 C) 解释程序

6

B) 汇编程序 D) 编辑程序

12. 下面叙述中,( )不是结构化程序设计中的三种基本结构之一。

A) 数据结构 B) 选择结构 C) 循环结构

D) 顺序结构

2. 第二章(略)

3. 第三章 数据类型、运算符和表达式

1. ( )为合法的常量。 A) 5,236

B) 1.23E+8

2. 下列合法的浮点数的是()

A) .66 B) 123 3. 下列()是不正确的常量形式; A) ‘x5’ B) 1.6E6 4. ( )为正确的用户标识符。 A) min-5 B) max_at 5. 下列()是不合法的用户标识符 A) Div B) _f6 6. 合法的用户标识符是() A) 0.6f B) _struct 7. 正确的常量是() A) ‘a3’ B) “\\0” 8. 整型常量没有()形式

A) 十六进制

B) 十进制 9. 不合法的长整型常量是()

A) 1E10 B) 0L

10. 以下( )是正确的变量名。

A) a.bee

B) -p11

11. 以下( )是正确的变量名。

A) 5f

B) if

12. 以下( )是正确的常量。

A) E-5

B) 1E5.1

13. 以下( )是不正确的字符串常量。

A) 'abc'

B) \

14. 以下( )是正确的字符常量。

A) \

B) '\\\\'

C) ‘b_k’ D) 3.21E-6.5

C) 2E0.5 C) 1E-2 C) 3_row C) _num C) for C) 1E6.1 C) 二进制 C) 6246245 D) (Long)6246245

C) int

C) f.5

C) 'a12'

C) \

C) 'W' 7

D) E2

D) “\\0”

D) union

D) 5x

D) 5d

D) E-3

D) 八进制

D) p_11

D) _f5

D) 32766L

D) \

D) \

15. ( )为非法的字符串常量

A) “056”

B) ?123?

C) “

16. 下列不合法的字符常量是()

A) ‘\\\\’ C) ‘\\t’ B) “a”

D) ‘\\n’

17. char型变量存放的是( )。

A) ASCII代码值

C) 十进制代码值 B) 字符本身

D) 内码值

18. ()为正确的字符常量

A) ‘\\084’

B) ‘bcd’ C) ‘165’ 19. ()运算符不能用于非整型数据运算

A) /

B) %

C) *

20. 下列运算符中,优先级最高的是()

A) != B) &&

C) + 21. 若有定义:int b=-15;则()为正确的赋值表达式。 A) *b=6 B) b=*5 C) b+10=-5 22. 若有定义:float x=2,y; int a=3 ;语句y=1*(x+a)/3;运行后,y的值为( )。A) 2.0 B) 1.666667 C) 1.0 23. 若有定义:int a,b=5;语句a=(b/2)+b%2;运行后,a的值为(

)

A) 3

B) 4

C) 0

24. 若已经定义:int i,j,k; double x;则下列表达式中语法正确的是()

A) j+=(k=4)*j C) i=k+2j B) x%5

D) j+2=k

25. 若已定义:int n=10,i=4;则赋值运算n%=i+1执行后,n的值是()。

A) 1

B) 0

C) 2

26. 若已定义int k=5;float d=3.5;则表达式d+k%3/2的值为()

A) 4.5 B) 3.5 C) 4 27. 下面叙述正确的是( ) A) 2/3与2%3等价 C) ++2与- -3等价 B) 5/(int)4.0与5/4等价

D) ++2与3等价

28. 若有定义:int a,b=6;语句a=--b;运行后,a、b的值分别是()。

A) 6 6 B) 5 6 C) 5 5 29. 若有定义:int i=3,j=6;则表达式(--i)*(j++)的值为( )。

A) 10

B) 18

C) 15

30. 若已经定义:int i=5,j;则语句j=(++i)+(i--);运行后的j的值为() A) 11 B) 9 C) 10 31. 若已经定义:int x,y,z;则()是不正确。

A) x=y+=10*x;

B) x=10,y=6;

C) x=2.5;

8

D) “case”

D) ‘@’

D) ++

D) ++

D) b+=b*3

D) 0

D) 2

D) 3

D) 5.5

D) 6 5

D) 12

D) 12

D) z=y+x=30

32. 若已经定义: double x;下列可以用于求x的绝对值的数学函数是()

A) fabs(x)

B) sqrt(x)

C) abs(x)

33. 已知int a='R'; 则正确的表达式是( )。

A) a=int(3e2)

C) a=a+a=a+3

B) 2*a=a++

D) a

34. 已知char a='R'; 则正确的赋值表达式是( )。

A) a=(a++)%4

B) a+2=3

C) a+=256--

35. 语句a=(3/4)+3%2;运行后,a的值为( )。

A) 0

B) 1

C) 2

36. 设整型变量a为5,使b不为2的表达式是( )。

A) b=(++a)/3

B) b=6-(--a)

C) b=a%2

37. 设单精度型变量f、g的值均为2.0,使f为4.0的表达式是( )。

A) f+=g

B) f-=g+2

C) f*=g-6

38. 若有定义:int k,i=2,j=4;则表达式k=(++i)*(j--)的值是( )。

A) 8

B) 12

C) 6

39. 若有定义: int a=3;语句a+=a-=a*a;运行后,a的值为()

A) -6

B) 0

C) -12

40. 若有定义:int b=-15; 则()为正确的赋值表达式。

A) b=*5

B) *b=6

C) b+10=-5

41. 下面叙述正确的是( )。

A) 2/3 与 2.0/3.0 等价 C) ++5 与 6 等价B) (int)2.0/3 与 2/3 等价

D) 'A'与\等价

42. 若有定义int x=1,y=2,n=3;则()为正确的表达式。

A) x=y*3,y=(x+n)/y C) float(y/n)

B) (x+y)(y+n)

D) x=ny

43. 若有定义:float x=3.5;int z=8;则表达式 x+z%3/4 的值为( )。 A) 3.75 B) 3.5 C) 3 44. 若有定义:float x=3.5,y=3.6,则表达式()的值为6。 A) (int)x+(int)y C) int(x+y) B) (int)(x+y) D) x+y 45. 下面叙述正确的是()。

A) (3+9)++是正确的表达式

B) “abc”+”xxx”是正确表达式

C) c语言中整型与字符型变量的混合运算表达式的结果是整型 D) 模运算符%两边运算数的数据类型是任意的

46. 下列四个运算符,按优先级别由高到低排列的是()

A) !、%、=、== C) !、%、==、= B) %、!、==、= D) !、=、%、==

9

D) labs(x)

D) a='\\078'

D) 3

D) b=a/2

D) f/=g*10

D) 9

D) -3

D) b+=b*3

D) 4

47. 若已定义:int x=3,y=2;则下列不正确的赋值表达式是()

A) x-=x+=y; C) x-y=1;

B) x=y+2

D) x=2,y=2;

48. 若有定义:int x;char c=?A?;则正确的赋值表达式是().说明‘A’的ASCII码的十进制值为65,‘a’的ASCII码的十进制值为97 A) x=c+’ABC’ C) x=c+’CBA’ B) x=c+32 D) x=’ABC’ 49. 若有定义:char c1=?A?,c2=?B?;语句printf(“%d+%d=%d”,c1,c2,c1+c2); 运行后的结果为()。说明:‘A’的ASCII码的十进制值为65 A) 65+65=AB B) A+B=131 C) 65+66=131 50. 下面叙述错误的是()。 A) 算术运算符中只有“*”、“/”优先级高于关系运算符 B) 模运算符“%”是C语言基本的算术运算符

C) 算术运算符中不包含“=”运算符

D) 自加和自减运算符只能用于变量,而不能用于常量或表达式 51. 下面关于算术运算符的叙述,错误的是( )。

A) %(模运算符)的运算对象只能为整型量

B) 算术运算符的结合方向是\自左至右\C) 自加和自减运算符的结合方向是\自右至左\D) 其运算对象不包含函数

52. 若已定义:int x=11;double y=3.5;则表达式y/2+x%2/2的值是()

A) 3.5 B) 1.0 C) 1.5 53. 若已经定义:int x=2,y;则执行语句y=x%2+(--x);后y的值是() A) 0 B) 3 C) 1

54. 若已经定义:double x=3,y;int z=2;则语句y=(x+z)/2*z;执行后,y的值为() A) 4.0 B) 1.0 C) 1.25 55. 若已经定义:double x,y;则下列表达式不能正确计算(x-2)/3*y的是() A) (x-2)*y*1/3 C) y*(x-2)/3

B) y/3*(x-2)

D) (1/3)*(x-2)*y

56. 若已经定义:double x=2.5;则求x的平方的正确的函数调用是()

A) sqrt(x)

B) pow(x,2)

C) exp(x)

57. 若已经定义:double x;则 exp(x)+sqrt(x)/2所表示的数学式是(3)

10

D) A+B=AB D) 1.75

D) 2

D) 5.0

D) rand(2,x)


2011 - C语言实验与习题(答案)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:工程合同管理师试卷(二)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: