c语言备考习题及部分答案.doc

上传人:ng****60 文档编号:3251611 上传时间:2019-05-27 格式:DOC 页数:31 大小:104KB
下载 相关 举报
c语言备考习题及部分答案.doc_第1页
第1页 / 共31页
c语言备考习题及部分答案.doc_第2页
第2页 / 共31页
c语言备考习题及部分答案.doc_第3页
第3页 / 共31页
c语言备考习题及部分答案.doc_第4页
第4页 / 共31页
c语言备考习题及部分答案.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、一、判断题1. 在函数定义中,形参变量有时也可以是全局变量。( 2. 在 C 程序中,函数调用可以作为函数的形参。3. 在 C 程序中,函数调用可以作为函数的实参。4. 在 C 程序中,函数的形式参数是指针类型时,调用时对应的实参也必须是指针类型。5. 对任一变量一旦被指定为某一确定类型后,该变量在程序运行时所占存储空间的多少和所能参加的运算类型便已确定了。(6. C 语言程序必须包含库函数。(7. 如果被定义函数的返回值是整型,可以不必进行说明。( 8. 一个计算机系统中的寄存器数目有限,不能定义任意多个寄存器变量。( 9. return 语句可以带有表达式也可以不带。( 10. 若某自定义

2、函数中无 return 语句,则该函数一定没有返回值。11. 在 C 语言中,变量的初始化都是在编译阶段完成的。12. 在同一源文件中,全局变量与局部变量同名,在局部变量作用范围内,全局变量的值等于局部变量的值。13. return 语句作为函数的出口,在某一个函数体内必须唯一。(14. C 语言程序必须包含库函数。( 15. C 语言中,任意两个函数间不能嵌套定义,但可以互相调用。(16. 在函数的定义中,若函数没有参数,则可以省略函数名后的括号。17. 函数返回值的数据类型取决于 return 语句中表达式的数据类型。18. 函数返回值的数据类型取决于主调函数传递过来的实参的数据类型。19

3、. 函数返回值的数据类型取决于函数定义时为函数指定的数据类型。 20. 在 C 程序中,函数的形式参数是指针类型时,调用时对应的实参也必须是地址量。21. C 程序中,函数调用时用数组名作为函数的实参,则传递给形参的是整个数组。22. C 程序中,函数调用时用数组名作为函数的实参,则传递给形参的是数组的首元素值。23. C 程序中,函数调用时用数组名作为函数的实参,则传递给形参的是数组的首地址值。24. 求 n!既可以用递归的方式,也可以用递推的方式。 ( 25. 递归函数在实现过程中,要使用“堆栈” 这种数据结构来保存递归调用过程中的值。26. 在 C 语言中,所有函数之间都可以相互调用。2

4、7. 一个 C 程序无论有多少个源程序文件组成,在其中一个源程序文件中定义的全局变量的作用域默认为整个 C 程序。28. 一个 C 程序无论有多少个源程序文件组成,在其中一个源程序文件中定义的全局变量的作用域默认为其所在的源程序文件。29. 在 C 程序的主函数 main 中定义的变量就是全局变量。30. 在 C 程序的主函数 main 中定义的变量也是局部变量。31. 在函数定义中,形参变量是局部变量。32. 在函数定义中,形参变量可以是静态变量。33. 在一个函数定义中,只能有一个 return 语句。34. 在一个函数定义中,可以根据需要使用多个return 语句。35. 在 C 程序中

5、,函数可以嵌套定义,也可以嵌套调用。36. 在 C 程序中,函数不能嵌套定义,但可以嵌套调用。37. 在 C 程序中,函数既不能嵌套定义,也不能嵌套调用。38. 在 C 程序中,函数调用只能作为单独语句出现。39. 在 C 程序中,函数调用不能作为单独语句出现。40. 在 C 程序中,函数调用只能出现在表达式语句中。41. 在 C 程序中,函数调用不能出现在表达式语句中。42. 在 C 程序中,函数调用既可以出现在表达式语句中,也可以作为单独的语句出现。43. 在 C 函数中,形参可以是变量、常量或表达式。44. 在 C 程序中,实参可以是变量、常量或表达式。45. C 语言规定,函数调用时,

6、若形参和实参都是简单变量,则它们之间的数据传递方式是双向值传递。46. C 语言规定,函数调用时,若形参和实参都是简单变量,则它们之间的数据传递方式是单向值传递。47. 如果一个函数只能被本文件中的其他函数所调用,则该函数为外部函数。二、单选题1. C 语言中,以下叙述中错 0 的是( A )。A) 主函数中定义的变量是全局变量B) 同一程序中,全局变量和局部变量可以同名C) 全局变量的作用域从定义处开始到本源程序文件结束D) 局部变量的作用域被限定在其所定义的局部范围中2. C 语言中,以下叙述正确的是( )。A) 函数不能嵌套定义但可以嵌套调用 B) 函数可以嵌套定义也可以嵌套调用C) 函

7、数可以嵌套定义但不能嵌套调用 D) 函数不能嵌套定义也不能嵌套调用3. C 语言中,函数调用时若实参是数组名,则被调函数对应形参( )。A) 可以是相应类型简单变量 B) 必须是相应类型数组名C) 可以是相应类型数组名 D) 必须是相应类型的指针变量4. C 语言中,函数调用时若实参是数组名,则被调函数对应形参( D )。A) 可以是相应类型简单变量 B) 必须是相应类型的指针变量C) 必须是相应类型数组名 D) 可以是相应类型的指针变量5. 在下面 C 语言的函数说明语句中,正确的是( )。A) int fun(int , int); B) int fun(int x,y);C) int f

8、un(x,y); D)int fun(int x; int y);6. 在 C 程序中,如果限定一个局部变量只能在所定义的范围中起作用,那么这个变量的存储类型( C )。A) 只能是 auto B) 只能是 externC) 可以是 auto 或 static D) 可以是 extern 或 static7. 在 C 语言中,若定义函数时未说明函数的类型,则该函数的数据类型为( A )。A) int B) floatC) char D) double8. 在 C 语言中,函数默认的存储类型为( D )。A) auto B) registerC) static D) extern9. C 语言中

9、规定,简单变量做实参时,它和对应形参之间的数据传递方式是(B )。(A)地址传递 (B)单向值传递(C)有实参传给形参,再由形参传回给实参 (D)由用户指定传递方式10. 如果在 C 程序中有 main(int argc,char *argv),那么( D ) 是指命令行中的参数个数。 (A)argv (B)argv (C)argc,argv (D)argc11. 如果程序中有 static char c; 则编译程序会对其自动设置初值为( D)。(A) n (B) “n“ (C) 0 (D) 012. 在 C 函数中,局部变量的隐含存储类型是 ( A )。(A) auto (B) stati

10、c (C) register (D) extern13. C 程序在(C )可以使用表达式 A)函数内部 B)函数外部 C)程序的任何地方 D)变量出现的地方14. 在 C 语言中,函数返回值的数据类型取决于( C )。A) 函数的名字 B) return 语句中表达式的数据类型C) 在定义该函数时所指定的数据类型 D) 主调函数的数据类型15. 在一个源程序文件中定义的全局变量,其作用域为( B)。A) 整个源程序文件 B) 从定义处开始到本源程序文件结束C) 整个主函数 D) 所处 C 程序的所有源程序文件中16. C 语言中,以下叙述中错 0 的是( C )。A) 同一程序中,全局变量和

11、局部变量可以同名B) 局部变量的作用域被限定在其所定义的局部范围中C) 同一程序中,全局变量和局部变量不能同名D) 全局变量的作用域从定义处开始到本源程序文件结束17. 在 C 程序中,同一程序中的各函数之间( A )。A) 既允许直接递归调用也允许间接递归调用B) 既不允许直接递归调用也不允许间接递归调用C) 允许直接递归调用但不允许间接递归调用D) 允许间接递归调用但不允许直接递归调用18. C 语言中,以下叙述错 0 的是( D )。A) 函数调用可以是单独的语句 B) 函数调用可以出现在表达式中C) 函数调用可以作为函数的实参 D) 函数调用可以作为函数的形参19. 在 C 语言中,函

12、数调用时如果相应的形参和实参都是简单变量,则主调函数和被调函数之间传递数据的方式是( C )。A) 单向地址值传递 B) 双向地址值传递C) 单向数值传递 D) 双向数值传递20. 在 C 程序的函数调用时,主调函数中的实参和被调函数中的形参(B )。A) 个数、次序必须相同,但数据类型可以不考虑B) 个数、次序和对应参数的数据类型都应该相同C) 个数、次序和数据类型均可以不相同D) 对应参数数据类型应相同,但个数和次序可以不考虑21. C 语言中,以下叙述错 0 的是( C )。A) 函数被调用时,系统才为形参分配内存B) 实参和对应形参的数据类型必须一致C) 实参可以是变量、常量或表达式D

13、) 形参可以是变量、常量或表达式22. C 语言中,函数调用时若实参是数组名,则传递给被调函数对应形参的是( D )。A) 整个数组 B) 数组元素的个数C) 数组占用的内存单元个数 D) 数组在内存中存放的首地址23. 在一个 void 类型函数的定义中,函数体中有 return;语句,该语句( B )。A) 是错 0 的 B) 表示向主调函数返回程序控制C) 在执行时不予理睬 D) 在执行时会中断程序运行24. 下列程序的输出结果是(A)viod f(int *m)while(*m)-);printf(“%d“,+(*m);main()int x=50,*p=f(p);(A)0 (B)1

14、(C)49 (D)50 25. 下述函数的功能是(D )。int fun(char *x)char *y=x;while(*y+);return y-x-1;(A)将字符串 x 连接到字符串 y 的后面 (B)求字符串的存放位置(C)比较两个字符串的大小 (D)求字符串的长度26. 以下对 C 语言函数的有关描述,正确的是 (A )。(A) 在 C 中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参(B) C 函数既可以嵌套定义又可以递归调用(C) 函数必须有返回值,否则不能使用函数(D) C 程序中有调用关系的所有函数必须放在同一个源程序文件中27. 以下程序的输出结果是(B )

15、int m=4,n=6; max( int x,int y)int max; max=xy?x:y; return(max); main( )int m=10; printf(“%d“,max(m,n); A)4 B) 10 C)6 D)528. 在 C 语言的函数概念中,以下叙述正确的是( A )。A) 函数调用时,形参和与其对应的实参各占独立的存储单元B) 函数调用时,形参和与其对应的实参再不同名时才各占独立的存储单元C) 形参在函数调用时不占存储单元D) 函数没有被调用时,形参也要占据内存单元29. 在 C 语言的函数概念中,以下叙述正确的是( A )。A) 函数没有被调用时,形参不会占

16、据内存单元B) 函数调用时,形参和与其对应的实参再不同名时才各占独立的存储单元E) 形参在函数调用时不占存储单元F) 函数没有被调用时,形参也要占据内存单元30. C 语言中,一个函数调用语句为 fun(e1,e2,e3),(e4,e5),e6);,其实参个数为(A )。A) 3 个 B) 4 个 C) 5 个 D) 6 个31. 在一个 char 类型的函数定义中,函数体中有 return 0;语句,该语句(B )A) 是错 0 的 B) 能正确向主调函数返回整型数 0C) 在执行时不予理睬 D) 在执行时会中断程序运行32. 下面函数 fun 的功能是(D )。int fun(char *

17、s,char *t) while(*s=*t)if(*s=0)return 0;elses+,t+;return *s-*t;A) 测字符串 s 和 t 的长度 B) 将字符串 s 拷贝到 tC) 将字符串 t 拷贝到 s D) 比较字符串 s 和 t 的大小33. 在下列程序中,调用 f(8)的值是(D )int f(int n) if(n=1) return(1);else if(n=2) return(2);else return(f(n-1)+f(n-2);(A) 13 (B) 21 (C) 55 (D) 3434. 在执行程序 china.exe 时,若输入的命令行为:china e

18、nlish Beijing,则程序执行结果为( A )。#include void main(int argc,char *argv) while(argc1) printf(“%c“,*+argv); argc-;(A) eB (B) ceB (C) china enlish Beijing (D)enlish Beijing35. 在下面 C 语言的函数说明语句中,正确的是( A )。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);三、多选题1. 下列说法正确的是

19、( BDE )A)若某自定义函数中无 return 语句,则该函数一定没有返回值。B)C 语言的编译系统对宏命令的处理是在对源程序中其他成份正式编译之前进行的。C)在 C 语言的源程序中,注释使用越多,编译之后的可执行程序的执行效率越低。D)如果 strcmp (s1,s2)的返回值为负数,则表明字符串 s1 一定小于字符串 s2。E)一个 C 程序可由多个源文件组成。2. C 语言中,若在一个复合语句和复合语句所在的函数中都定义了一个同名的变量,则该两变量( C)。A) 实际是同一变量 B) 是不同变量但作用域相同C) 是不同变量且作用域不同 D) 是同一变量,但作用域不定3. C 语言的函

20、数定义中,如果函数的返回值为 0255 之间的整数,则函数的返回类型可以定义为(ACE )。A) int B) float C) char D) double E) long4. C 语言中,若要限定一个全局变量只能在其所定义的源程序文件中使用,定义是必须使用关键字( D)。A) auto B) register C) extern D) static5. C 语言中,形式参数不能使用的存储类型说明为(BCDE )。A) auto B) register C) extern D) staticE) static register6. 一个函数的返回值类型为 void,则函数体中( AB )。A

21、) 可以没有 return 语句 B) 可以有 return;语句C) 仍然需要 return exp;语句 D) 可以有 return 0;语句E) 可以有 return 0.0;语句7. 一个函数的说明语句为 int fun(int x);,a、b 为整型变量且初值为 0,则正确的函数调用语句为ABCDEA) printf(“%dn”,fun(a+b); B) b=fun(a);C) a=fun(b); D) fun(a);E) printf(“%d”,fun(a+b+10);8. 以下说法正确的是( ACD ) A)形参类型定义属于函数的首部 B)凡是用 括起的部分称为函数体 C)任何

22、表达式加上一个分号均构成语句 D)一行可以写多个语句 E)C 语言的输入输出是用输入输出语句实现9. 下列符号中可以用作自定义函数名的是( BCD )。(A)int (B)go_to (C)INT (D)Getchar (E)typedef10. 在 C 语言中,存储类有( BCDE )。A) char B) extern C) static D) register E) auto11. 在 C 语言中,对函数而言正确的概念有( BCD )。A) 函数可以嵌套定义 B) 函数不能嵌套定义C) 函数可以嵌套调用 D) 函数可以递归调用E) 函数可以没有返回值12. C 语言中,对存储类型 sta

23、tic 而言,正确的是方法为(ABCD )。A) 作用于局部变量 B) 作用于全局变量C) 作用于数组 D) 作用于构造数据类型变量E) 作用于形式参数13. 一个函数定义中的形式参数如果为简单变量形式,调用时对应的实参可以是(ABCD )。A) 同类型的简单变量 B) 同类型的常数C) 同类型的数组元素 D) 同类型的地址量E) 同类型的数组名14. 在定义函数时,函数的存储类型可以( ADE )。A) 是 static B) 是 autoC) 是 register D) 是 externE) 省略15. 假设变量 a,i 均已正确定义并赋值,则以下合法的 C 语句有( ACDE) A)a=

24、 =1; B)+i C)a=(int)i+2.5; D)sqtr(a); E);16. C 语言规定,调用一个函数时,实参变量和形参变量之间的数据是( BE )。(A)地址传递 (B)值传递(C)由实参传给形参,并由形参传回给实参(D)由用户指定传递方式 (E) 类型必须一致17. 在函数调用过程中,下列说法正确的是( ACDE )(A)形式参数和实在参数各占一个独立的存储单元(B)形式参数和实在参数存储空间都是在函数调用时分配的(C)在函数的执行过程中,形参变量值的改变不会影响实参值的改变(D)函数调用结束时,临时存储区被撤消(E)在函数调用过程中,实在参数与形式参数在个数、类型上必须匹配1

25、8. 以下正确的说法是( ABE )A)C 语言有四种存储类:auto、register、static 和 extern。B)C 语言提供的 for、while 和 do-while 等三种循环语句可以做等价变换。C)C 语言提供的结构类型不允许其成员具有不同的数据类型。D)C 语言允许用 typedef 来定义一种新的数据类型。E)C 语言允许经常在程序中使用的常量用宏定义来定义。19. C 语言中,局部变量默认的存储类型是(A )。A) auto B) register C) extern D) static20. 在下面 C 语言的函数说明语句中,正确的是( AE )。A) int fu

26、n(int , int); B) int fun(int x,y);C) int fun(x,y); D) int fun(int x; int y);E) int fun(int x,int y);四、填空题1. 下面程序的功能是求三个数的最小公倍数,请填空完成程序。#include void main() int max(int x,int y,int z);int x1,x2,x3,k=1,j,x0;scanf(“%d,%d,%d”,x0=max(x1,x2,x3);while(1) j=x0*k;if( _ )break;k+=1;printf(“The result is %dn”,j);int max(_) if(xyelse if(_)return y;elsereturn z;(8)J%X1=0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。