C语言复习题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

判断题

1.函数若无返回值,则它一定无形参。×

2.在C 程序中, 函数既可以嵌套定义, 也可以嵌套调用。×

3.C程序总是从main( ) 函数的第一条语句开始执行的。√

4.同一函数内可以有多个return语句。√

5.main函数中的变量名不可以与其它函数相同。×

6.C程序可由多个函数组成,但必须有并且只有一个主函数main。√

7.在C语言中的每个函数必须要有一个明确的return语句才能返回调用程序。×

8.主函数中定义的变量的作用域仅限于主函数内。√

9.传值调用的形参只有在被调用时,才被创建(分配存储单元)。√

10.C程序执行总是从第一个函数开始。×

11.一个C程序的执行总是从该程序的main函数开始,在main函数最后结束。×

12.被main函数调用的函数只能是库函数。×

13.函数说明指的是在程序中设定一个函数模块。×

14.在C程序中,若对函数类型未加说明,则函数的隐含类型为void。×

15.形参可以是常量、变量或表达式。×

16.函数调用可以作为一个函数的形参。×

17.C语言规定,实参应与其对应的形参类型一致。√

18.定义函数时,形参的类型说明可以放在函数体内。×

19.一个函数可以带回一个整型值、字符值、实型值等,也可以带回指针型的数据。√

20.全局变量可以被任何一个函数中的任何一个表达式使用。×因为局部变量和全局变量重

名的时候全局变量就不能使用了

21.函数的隐含存储类型是extern。√

22.定义在main函数后的任何函数都需在main中进行函数声明。×

23.a是一维数组名,数组元素a[1]还可以写作“*(a++)”。×

24.C语言中数组名是指针常量。√

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

26.数组元素的下标可以选用正整数或正实数。×

27.数组名可以作为参数进行传递。√

28.若有定义“int a[4][5];”,则在数组元素a[3][3]前有12个元素。×

29.若有定义int a[3][4];则共有12个元素,最后一个元素是a[3][4]。×

30.字符数组中字符串可以整体输入输出。√

31.若有定义语句“char s1[ ]="abc",s2[ ]={'a','b','c'};”,则数组s1和数组s2均有3个元

素。×

32.若a为一维数组名,则*(a+i)与a[i]等价。√

33.函数原型为“void sort(float a[],int n)”,调用该函数时,形参数组a被创建,实参数组各

元素的值被复制到a数组各元素中。×

34.C允许对数组的大小作动态定义,即可用变量定义数组的大小。×

35.数组定义int a[10]; 也可以写成int a(10); 。×

36.在对全部数组元素赋初值时,可以不指定数组长度。√

37.定义s为5×6(5行6列)的数组可写成float a[5,6]; ×

38.数组定义int a[10]; 表示数组名为a,此数组有10个元素,第10个元素为a[10]。×

39.static char c[]={'a' ,' ','b','o','o','k','\0'};与static char c[]={'a' ,' ' ,'b','o','o','k'}; 等价。×

40.设已有说明:static char c1[10],c2[10]; 下面程序片段是合法的。c1={“book”}; c2=c1; ×

41.调用函数时,实参为数组名,则向数组传递的是数组的首地址。√

42.puts()函数的作用是接收从键盘输入的字符串。×

43.两个字符串所包含的字符个数相同时,才能进行字符串的比较。×

44.若有说明:int a[][3]={1,2,3,4,5,6,7};则数组a第一维大小是3。√

45.在C语言中,数组下标从1开始。×

46.若有说明:int a[ ][4]={{0},{0}};则二维数组a的第一维大小为1。×

47.在C语言中,数组名是一个不可改变的地址常量,不能对它进行赋值运算。√

48.若有说明:int a[3][4]={0},则只有元素a[0][0]可得到初值0。×

49.字符串作为一维数组存放在内存中。√

50.若有形参定义:int a[10];则a++是合法的表达式。×

51.定义数组可以采取以下形式: int a[5]; a[1]=1;a[2]=3;a[3]=6;a[4]=7;a[5]=9; ×

52.设char x[]=”1234”,y[]={‘1’,’2’,’3’,’4’,’\0’};那么x数组的长度等于y数组的长度。√

53.‘a’和“a”在内存中所占字节相同。×

54.C语言的编译系统对宏命令的处理是在C源程序编译阶段完成的。×

55.预处理命令如:#include 不属于c语言的一部分。×

56.若有宏定义:#define M(x,y,z) x*y+z 则宏引用M(2+3,4+5,6+7)

通过宏展开后的表达式应为(2+3)*(4+5)+(6+7)。×

57.C语言中的宏定义允许嵌套定义,也允许带参数。√

58.宏替换时先求出实参表达式的值,然后代入形参运算求值。×

59.使用带参数的宏时,参数的类型应与宏定义时的一致。×

60.若有宏定义:#define PI 3.14i5926,则系统预编译时会报错。√

61.已知宏定义#define SQ(x) x*x,执行语句printf(“10/SQ(3)=%d",10/SQ(3));后的输出结

果是10/3*3=1。×

62.形参为指针变量时,实参必须是数组名。×

63.若有定义:int a[5],*p;,使p指向最后一个数组元素a[4]的语句是p=a+4;。√

64.已有定义:int a[5]={1,2,3,4,5},*s=a;,则表达式*(s+3)的值是3。×

65.若有定义:int a[5]={10,20,30,40,50},*p=a,*s=a+2;,表达式s-p的值是2。√

66.在int *p;和语句printf(“%d”, *p);中的*p含义相同。×

67.设有说明int(*ptr)(int);,则ptr是一个函数名。×

68.位运算赋值有6个,但位运算组成复合的赋值运算符只有5个。√

69.说明:char s[]=“world”,*p;,执行语句p=s后,*(p+5)的值是’d’。(*(p+4)的值是’d’)×

70.结构体类型中各成员项的数据类型可以不同。√

71.在程序中定义了一个结构体类型,将为此类型分配存储空间。×

72.在说明一个结构体变量时系统分配给它的存储空间是该结构体中所有成员所需存储空

间的总和。√

73.若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清空。√

74.若用fopen( )函数打开一个已存在的文本文件,保留该文件原有数据且可以读也可以写,

则文件的打开模式是“r+”。√

75.C文件使用前需要打开,使用后需要关闭。√

76.对文件进行操作的一般步骤包括:打开/建立要操作的文件;对文件进行读写等操作;

关闭被操作的文件。√

77.若fp已正确定义并指向某文件,当未遇到该文件结束标志时函数feof(fp)的值为1(为

非零值)。×

78.文件由二进制数据序列组成,C语言只能读写二进制文件。×

相关文档
最新文档