c语言习题集合5(函数)

上传人:第*** 文档编号:34015528 上传时间:2018-02-20 格式:DOC 页数:24 大小:114KB
返回 下载 相关 举报
c语言习题集合5(函数)_第1页
第1页 / 共24页
c语言习题集合5(函数)_第2页
第2页 / 共24页
c语言习题集合5(函数)_第3页
第3页 / 共24页
c语言习题集合5(函数)_第4页
第4页 / 共24页
c语言习题集合5(函数)_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《c语言习题集合5(函数)》由会员分享,可在线阅读,更多相关《c语言习题集合5(函数)(24页珍藏版)》请在金锄头文库上搜索。

1、 第五部分 函 数 1第五部分 函 数51 选择题1 C 语言是由( )构成。A. 主程序和子程序B. 主函数和若干子函数C. 一个主函数和一个其他函数D. 主函数和子程序2 以下说法中正确的是( ) 。A. C 语言程序总是从第一个的函数开始执行B. 在 C 语言程序中,要调用的函数必须在 main()函数中定义C. C 语言程序总是从 main()函数开始执行D. C 语言程序中的 main()函数必须放在程序的开始部分3 以下对 C 语言函数的有关描述中,正确的是( ) 。A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B. C 函数既可以嵌套定义又可以递归调用C. 函

2、数必须有返回值,否则不能使用函数D. C 程序中有调用关系的所有函数必须放在同一个源程序文件中4 C 语言程序中,当函数调用时( ) 。A. 实参和形参各占一个独立的存储单元B. 实参和形参共用一个存储单元C. 可以由用户指定是否共用存储单元D. 计算机系统自动确定是否共用存储单元 5 关于 return 语句,下列正确的说法是( ) 。A. 在主函数和其他函数中均要出现B. 必须在每个函数中出现C. 可以在同一个函数中出现多次D. 只能在除主函数之外的函数中出现一次6 一个函数返回值的类型是由( )决定的。A. return 语句中表达式的类型B. 在调用函数时临时指定C. 定义函数时指定的

3、函数类型D. 调用该函数的主调函数的类型7 在 C 语言的函数中,下列正确的说法是( ) 。A. 必须有形参B. 形参必须是变量名C. 可以有也可以没有形参D. 数组名不能作形参8 以下描述正确的是( ) 。A. 函数调用可以出现在执行语句或表达式中B. 函数调用不能作为一个函数的实参 第五部分 函 数 2C. 函数调用可以作为一个函数的形参D. 以上都不正确9 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( ) 。A. 地址传递 B. 单向值传递C. 由实参传给形参,再由形参传回实参 D. 传递方式由用户指定10当调用函数时,实参是一个数组名,则向函数传送的是( ) 。

4、A. 数组的长度 B. 数组的首地址C. 数组每一个元素的地址 D. 数组每个元素中的值11如果在一个函数的复合语句中定义了一个变量,则该变量( ) 。A. 只在该复合语句中有效,在该复合语句外无效B. 在该函数中任何位置都有效C. 在本程序的源文件范围内均有效D. 此定义方法错误,其变量为非法变量 12下列说法不正确的是( ) 。A. 主函数 main 中定义的变量在整个文件或程序中有效B. 不同函数中,可以使用相同名字的变量C. 形式参数是局部变量D. 在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效13在一个源程序文件中定义的全局变量的有效范围是( ) 。A. 本源

5、程序文件的全部范围B. 一个 C 程序的所有源程序文件C. 函数内全部范围D. 从定义变量的位置开始到源程序文件结束14以下叙述中不正确的是( ) 。A. 在不同的函数中可以使用相同名字的变量B. 函数中的形式参数是局部变量C. 在一个函数内定义的变量只在本函数范围内有效D. 在一个函数内的复合语句中定义的变量在本函数范围内有效15如果要限制一个变量只能为本文件所使用,必须通过( )来实现。A. 外部变量说明 B. 静态局部变量C. 静态外部变量 D. 局部变量说明16下列哪种数据不存放在动态存储区中( ) 。A. 函数形参变量 B. 局部自动变量C. 函数调用时的现场保护和返回地址 D. 局

6、部静态变量17以下叙述中不正确的是( ) 。A. 函数中的自动变量可以赋初值,每调用一次,赋一次初值。B. 在调用函数时,实在参数和对应形参在类型上只需赋值兼容。C. 外部变量的隐含类别是自动存储类别。D. 函数形参可以说明为 register 变量。18以下只有在使用时才为该类型变量分配内存的存储类说明是( ) 。A. auto 和 static B. auto 和 registerC. register 和 static D. extern 和 register19C 语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是( ) 。A. void B. int C. float D. d

7、ouble 第五部分 函 数 320在 C 语言中,函数的隐含存储类别是( ) 。A. auto B. static C. extern D. 无存储类别21在 C 语言中,形参的缺省存储类是( ) 。A. auto B. register C. static D. extern22若有以下程序#include void f(int n);main() void f(int n);f(5);void f(int n)printf(%dn,n); 则以下叙述中不正确的是( ) 。A. 若只在主函数中对函数 f 进行说明,则只能在主函数中正确调用函数 fB. 若在主函数前对函数 f 进行说明,则在

8、主函数和其后的其它函数中都可以正确调用函数 fC. 对于以上程序,编译时系统会提示出错信息:提示对 f 函数重复说明D. 函数 f 无返回值,所以可用 void 将其类型定义为无值型23以下所列的各函数首部中,正确的是( ) 。A. void play(var :Integer,var b:Integer)B. void play(int a,b)C. void play(int a,int b)D. Sub play(a as integer,b as integer)24有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5);该函数调用语句中,含有的实参个数是(

9、) 。A. 3 B. 4 C. 5 D. 有语法错25若有以下函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a,b);在此函数调用语句中实参的个数是( ) 。A.3 B.4 C.5 D.626以下函数值的类型是( ) 。fun (float x) float y;y= 3*x-4;return y;A. int B. 不确定 C. void D. float27下列函数定义不正确的是( ) 。A. int max() B. int max(x,y) 第五部分 函 数 4int x,y,z; int x,y; z=xy?x:y; int z; z=xy?x:y;return(z

10、);C. int max(x,y) D. int max()int x,y,z; z=xy?x:y;return(z);28下列程序的运行结果是( ) 。main()int i=3;printf(%d,%d,%dn,i,i+,i+);A. 5,5,4 B. 3,4,5 C. 3,3,4 D. 5,4,329以下程序的输出结果是( ) 。fun(int x, int y, int z) z=x*x+y*y; main()int a=31;fun(5,2,a);printf(%d,a);A. 0 B. 29 C. 31 D. 无定值30下列程序执行后的输出结果是( ) 。void func1(in

11、t i);void func2(int i);char st=hello,friend!;void func1(int i) printf(%c,sti);if(i 第五部分 函 数 7func( int a, int b) int c;c=a+b;return c;main() int x=6, y=7, z=8, r;r=func( (x-,y-,x+y),z-);printf(%dn,r);上面程序的输出结果是( ) 。A. 11 B. 19 C. 21 D. 3138请读程序:#includef(in b, int n) int i, r;r=1; for(i=0; i2) retur

12、n(fib(n-1)+fib(n-2);else return(2);main() printf(%dn,fib(3); 该程序的输出结果是( )。A. 2 B. 4 C. 6 D. 841以下程序的输出结果是( ) 。long fun( int n) long s;if(n=1 | n=2) s=2;else s=n-fun(n-1);return s;main() printf(%ldn, fun(3); A. 1 B. 2 C. 3 D. 442以下程序的输出结果是( ) 。func(int x)int p;if(x=0|x=1) return(3);p=x-func(x-2);return p;main() printf(%dn,func(9);A. 7 B. 2 C. 0 D. 343有以下程序int f(int n) 第五部分 函 数 9if(n=1) return 1;else return f(n-1)+1;main() int i,j=0;for(i=1;if(int a) int b=0; static c=3;a=c+,b+

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

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号