C语言程序设计+复习题库

  • 格式:doc
  • 大小:107.00 KB
  • 文档页数:44

仅供个人学习参考 一、填空

1. break语句通常用于switch//循环中。

2. C语言对数组下标的引用一般从0开始。

3. C语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。

4. C标准库函数中,字符串的处理函数包含在string.h头文件中,数学函数包含在math.h头文件中。

5. C程序的运行需要经过编译和链接两步进行。

6. C程序中用/**/括起来的内容是程序的注释语句。

7. C语言函数是由函数首部和函数体两部分组成。其中,函数首部包括函数类型、函数名和函数参数。

8. C语言提供的三种逻辑运算符是&,//,!。

9. C语言源程序经过编译后,生成文件的后缀名是.c。

10. C语言源程序经过连接后,生成文件的后缀名是.exe。

11. C语言中,关系表达式和逻辑表达式的值是1//0。

12. C语言中的标识符只能由三种字符组成,他们是字母,数字,下划线。

13. C语言中的每条基本语句以;作为结束符,每条复合语句以}作为结束符。

14. C语言中函数返回值的类型是由函数类型决定的。

15. C源程序的基本单位是函数。

16. inta=2,b=3;表达式a>b?a++:++b的值为4。

17. intx=1,y=1,z=1;x+=y+=z;则表达式x

18. 当a=3,b=2,c=1时,表达式f=a>b>c的值是0。

仅供个人学习参考 19. 定义一个指针p,它指向一个有6个整型元素的一维数组,定义语句为int*p=a[6];。

20. 定义一个指针数组p,它有4个元素,每个指针指向一个整型数据,定义语句为int*p[4];。

21. 赋值语句是由=加上一个分号构成。

22. 构成数组的各个元素必须具有相同的类型。

23. 关系表达式x+y>5的相反表达式为x+y!>5。

24. 函数strlen("1234\0xy")的值为:9。

25. 函数的形参在未被调用前不分配空间,函数形参的数据类型要和实参相同。

26. 函数体用{开始,用}结束。

27. 结构化设计中的三种基本结构是顺序,选择,循环。

28. 如果一个函数无返回值,定义它时函数类型应是void。

29.

若x、y、z均为int型变量,则描述“x或y中有一个小于z”的表达式是(x||y)

若用数组名作为函数调用时的实参,则实际上传递给形参的是数组的首地址

30. 。

31. 若有定义:doublex[3][5];则数组中列下标的上限为4。

32. 若有说明:inta[][3]={{1,2,3},{4,5},{6,7}};则数组a的第一维的大小为3。

33. 设inta=12,则表达式a/=a+a运算后,a的值是0。

34. 设y为int型变量,请写出描述“y是奇数”的表达式y%2!=0;。

35. 设有数组a[10],数组元素a[3]的地址可以写成。

36. 数组由数组名和下标构成,其数组元素的数据类型是。

37. 算术表达式a=b+3中,a、b称为变量,3称为常量,=、+称为运算符。

38. 一个C程序有且仅有一个main函数。

仅供个人学习参考 39. 已知函数定义为:intstat(int a,float*p),则此函数的两个参数类型分别是整形、浮点型。

40. 有如下函数头:intmax(inti,intj),则此函数有2个参数。

41. 预处理命令以#开头。

42. 在C语言的表达式中,x=x+5用复合运算符可以写成x+=5。

43. 在C语言中,表示静态存储类别的关键字static。

44. 在C语言中,二维数组元素的内存中的存放顺序是行顺序存放。

45. 在C语言中,以‘\0’作为字符串结束标志。

46. 在C语言中的实型变量分为两种类型,它们是整形和浮点型。

47. 在scanf函数中,用符号&表示变量的地址。

48. 在传值调用中,实际是把实参的地址传给形参。

49. 在函数中使用return语句返回值。

50. 指针是存放地址的变量。

二、选择

1、C语言源程序的基本单位是A

A.函数B.标识符C.表达式D.语句

2、在每个C程序中都必须包含有这样一个函数,该函数的函数名为A

A.main??????????B.MAIN????????????????????D.function

3、C语言规定,在一个源程序中,main函数的位置C

A.必须在最开始B.必须在系统调用的库函数的后面

C.可以任意D.必须在最后

4、在以下关于C语言的注释的叙述中,不正确的是C

仅供个人学习参考 A.注释可用"/*"、"*/"形式表示,也可用"//"形式表示

B. 编译器在编译一个程序时,将跳过注释,不对其进行处理

C. 编译器在编译一个程序时,可发现注释中的单词拼写错误

D.程序中注释的多少不会影响所生成的可执行文件的长度

5、以下叙述不正确的是C

A.在C程序中,严格区分大小写字母

B.一个C源程序有且仅有一个main函数

C.在C程序中,注释只能位于一条语句的后面

D. 一个C程序总是从main函数开始执行

6、C语言中,表示一条语句结束的标号是B

A.# B.;C.// D.}

7、在C语言中,以下叙述不正确的是A

A)在C程序中,无论是整数还是实数,都能被准确无误的表示

B)在C程序中,变量名代表存储器中的一个位置

C)静态变量的生存期与整个程序的生存期相同

D)C语言中变量必须先定义后引用

8、C语言程序编译过程中产生的文件有B

A.索引文件和文本文件两种B.目标文件和可执行文件

C.二进制文件一种D.ASCII码文件和二进制文件两种

9、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符C

A)必须为字母B)必须为下划线

C)必须为字母或下划线D)可以是字母,数字或下划线中的任意一种

10、C语言中非空的基本数据类型包括B

仅供个人学习参考 A)整型,实型,逻辑型B)整型,实型,字符型

C)整型,字符型,逻辑型D)整型,实型,逻辑型,字符型

11、下列哪一个表达式的值是整数类型A

A.15/2B.15/2+2.0C.25/5.0D.0.5*10

12、设变量a是整形,f是实型,i是双精度型,则表达式10+′a′+i*f值的数据类型C

A.intB.floatC.doubleD.不确定

13、设有说明:charw;intx;floaty;doublez;则表达式:w*x+z-y值的数据类型D

A)floatB)charC)intD)double

14、在C语言中,char型数据在内存中的存储形式是D

A.补码B.反码C.源码D.ASCII码

15、下列字符列中,可以作为“字符串常量”的是B

A.ABCB.″xyz″C.′uvw′D.′a′

16、以下运算符中,优先级最高的运算符是D

A.=B.!=C.*(乘号)D.()

17、设有定义intk=0;则以下四个表达式中与其它三个的值不同的是CD

A、k++B、k+=1

C、++kD、k+1

18、设有语句scanf(“%d,%d”,&m,&n);要使m、n的值依次为2,3,正确的输入是B

A.2?3↙B.2,3↙C.2;3D.2↙3↙

19、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后c2中的值为A

A)D B)68 C)不确定的值 D)C

20、设a=6,b=4,则表达式b*=a+3的值为D

A)3B)18C)27D)36

仅供个人学习参考 21、若有定义:inta=8,b=5,c;执行语句c=a/b+0.4;后c的值为B

(A)1.4(B)1(C)2.0(D)2

22、若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是C

A)5.5B)5C)3D)4.0

23、设有以下语句:intx=10;x+=3+x%(3),则x的值是A

A)14B)15C)11D)12

24、在C语言中逻辑值“真”是用B表示的。

A.预定义为真值的宏B.非零值C.正数D.非零整数

25.C语言对于嵌套if语句规定else总是与C匹配。

A)与最外层的ifB.)与之前最近的if

C)与之前最近的不带else的ifD)与最近的{}之前的if

26、为了避免嵌套的if-else语句的二义性,C语言规定else总是与C组成配对关系.

A)缩排位置相同的ifB)在其之前未配对的if

C)在其之前尚未配对的最近的ifD)同一行上的if

27、设x和y均为逻辑型变量,则x&&y为真的条件是A

A.它们均为真???B.其中一个为真???

C.它们均为假????D.其中一个为假

28、能正确表示逻辑关系:"a≥10或a≤0"的C语言表达式是D

A.a>=10ora<=0B.a>=0|a<=10

C.a>=10&&a<=0D.a>=10||a<=0

29、判断char型变量c1是否为小写字母的正确表达式为D

A.’a’<=c1<=’z’B.(c1>=a)&&(c1<=z)

C.(‘a’>=c1)(‘z’<=c1)D.(c1>=’a’)&&(c1<=’z’)

仅供个人学习参考 30、设ch是char型变量,值为'A',则表达式ch=(ch>='A'&&ch<='Z')?ch+32:ch的值是B

A)ZB)aC)zD)A

31、表示关系X<=Y<=Z的C语言表达式为A

A.(X<=Y)&&(Y<=Z)B.(X<=Y)AND(Y<=Z)

C.(X<=Y<=Z)D.(X<=Y)&(Y<=Z)

32、如果a=4,b=3,c=2,d=1,则条件表达式a<b?a:c<d?c:d的值是A

A)1B)2C)3D)4

33、语句printf("%d\n",12&&12);的输出结果是B

A.12B.1C.24D.0

34、若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是B

A.(exp==0)B.(exp!=0)C.(exp==1)D.(exp!=1)

35、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式D

A)a<>0B)!aC)a=0D)a

36、设x、y、z、t均为int型变量,则执行以下语句后,t的值为C

x=y=z=1;

t=++x||++y&&++z;

A)不定值B)4C)1D)0

37、对表达式for(表达式1;;表达式3)可理解为B

A.)for(表达式1;0;表达式3)B)for(表达式1;1;表达式3)

C)for(表达式1;表达式1;表达式3)D)for(表达式1;表达式3;表达式3)

38、语句while(!e);中的条件!e等价于A

A)e==0B)e!=1C)e!=0D)~e

39、下面程序段的运行结果是D