C++作业4-函数

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一、判断题(每小题2分,共20分)1.主函数可以调用除自己以外的任何函数,子函数可以调用除主函数外的任何函数,包括它自己。答案:T2.主函数中定义的变量可以在其他函数中使用,主函数可以使用其他函数中定义的变量。答案:F3.不同的函数中不能使用相同的变量名。答案:F4.函数的某个参数有默认值时,其后面的参数都必须有默认值。答案:T5.模板函数的真正代码是在运行函数时产生。答案:F6.voidf(inta,charb,floatc=1)与voidf(intm,charn)互为重载函数。答案:F7.内联函数可以减少函数的调用,提高程序的运行速度。答案:T8.函数执行过程中通过return语句将函数值返回,当一个函数不需要返回值,需要使用void作为类型名。答案:T9.C++中,函数允许嵌套定义,允许嵌套调用。答案:F10.各个函数在程序中定义的顺序是一定的,它们的顺序影响程序运行时的执行顺序和程序运行结果。答案:F二、选择题(每题3分,共45分)1.下列叙述错误的是()A.一个函数中可以有多条return语句B.调用函数必须在一条独立的语句中完成C.函数中通过return语句传递函数值D.主函数main也可以带有形参答案:B2.在函数定义前加上关键字”inline”,表示该函数被定义为()A.重载函数B.内联函数C.成员函数D.普通函数答案:B3.函数定义为Fun(int&k),变量定义n=100,则下面调用正确的是()A.Fun(20)B.Fun(20+n)C.Fun(n)D.Fun(&n)答案:C4.必须用一对大括号括起来的程序段是()。A.switch语句中的case标号语句B.if语句的分支C.循环语句的循环体D.函数的函数体答案:D5.在函数的返回值类型与返回值表达式类型的描述中,错误的是()。A.函数返回值的类型是在定义函数时确定的,在函数调用时不能改变B.函数返回值得类型就是返回值表达式的类型C.函数返回值的类型与返回值表达式类型不同时,函数表达式类型应该转换成返回值类型D.函数返回值的类型决定了返回值表达式的类型答案:B6.在函数的定义格式中,下面各组成部分中,()是可以省略的。A.函数名B.函数数据类型说明C.函数体D.函数参数答案:D7.下面叙述中错误的是()。A.调用函数必须在一条独立的语句中完成B.一个函数中可以有多条return语句C.函数中通过return语句传递函数值D.主函数名main也可以带有形参答案:A8.非数组、指针或引用型变量做实参时,它和对应形参之间的数据传递方式是()。A.地址传递B.单向值传递C.双向值传递D.由用户指定传递方式答案:B9.若用数组名作为函数调用的实参.则传递给形参的是()。A.数组的首地址B.数组第1个元素的值C.数组中全部元素的值D.数组元素的个数答案:A10.若使用一维数组名作函数实参,则下面正确的说法是()。A.必须在主调函数中说明数组的大小B.实参数组类型与形参数组类型可以不同C.必须在被调函数中说明数组的大小D.实参数组名与形参数组名必须一致答案:A11.以下程序有语法性错误,有关错误原因的正确说法是()。intmain(){inta=5,k;voidprt_char();……k=prt_char();……}A.语句voidprt_char();有错,它是函数调用语句,不能用void说明。B.变量名不能使用大写字母。C.函数说明和函数调用语句之间有矛盾。D.函数名不能使用下划线。答案:C12.正确的函数原型形式为()。A.voidfun(void);B.doublefun(intx;inty);C.intfun(int=0,int);D.doublefun(intx,y)答案:A13.有函数原型voidfun4(int&);下面选项中,正确的调用是()。A.intx=2.17;fun4(&x);B.inta=15;fun4(a*3.14);C.intb=100;fun4(b);D.fun4(256);答案:C14.以下叙述中正确的是()。A.构成C++程序的基本单位是函数B.可以在一个函数中定义另一个函数C.main()函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义答案:A15.下面判断是否构成重载函数的条件中,错误的判断条件是()。A.参数类型不同B.参数个数不同C.参数顺序不同D.函数返回值不同答案:D三、程序填空题(本大题35分)1.本题分值:每空3分,共12分。题目描述:以下程序计算4名学生3门课程成绩的平均分。在主函数中给定各门课程的成绩和输出计算得到的各平均分,avg函数用于计算各课程的平均分。代码:#includeiostreamusingnamespacestd;intmain(){voidavg(intm[][3],floatn[]);intd[4][3]={88,66,93,84,75,68,97,98,89,90,71,82};floata[3];avg(__(1)__);//调用avg函数求平均分for(inti=0;i3;i++)cout__(2)__;//输出3门课程的平均分return0;}voidavg(intm[][3],floatn[]){inti,j,s;for(i=0;i3;i++){__(3)__;for(j=0;j4;j++){s+=__(4)__;//求4名学生某门课程的总分n[i]=s/4.0;}}}答案:(1)d,a(2)a[i](3)s=0(4)m[j][i]2.本题分值:每空3分,共9分。题目描述:求n!。代码:#includeiostreamusingnamespacestd;intmain(){longfact(intn);intn;longp;cinn;//请输入一个正整数if(n1)return0;__(1)__;coutn!=pendl;return0;}//求n的阶乘longfact(intn){longf;if(n=1)__(2)__;else__(3)__;//递归调用函数fact()returnf;}答案:(1)p=fact(n)(2)f=1(3)f=n*fact(n-1)3.本题分值:每空3分,共9分。题目描述:以下程序中的函数compare()实现库函数strcmp()的功能。当两个字符串完全相同是,得到0;当第一个字符串小时,得到一个负数;当第一个字符串大时,得到一个正数。代码:#includeiostreamusingnamespacestd;intmain(){intcompare(chars[],chart[]);chara[20],b[20];intk;gets(a);//输入一个字符串到字符数组a中,以回车键结束gets(b);k=compare(__(1)__);coutkendl;return0;}intcompare(chars[],chart[]){inti;for(__(2)__;s[i]==t[i];i++)if(s[i]=='\0')__(3)__;returns[i]-t[i];}参考答案:(1)a,b(2)i=0(3)return04.本题分值:空(1)2分,空(2)3分,共5分。题目描述:写出判断某数为素数(素数是指只能被自己和1整除的数)的函数。是素数返回1,不是素数返回0。代码:#includeiostreamusingnamespacestd;#includecmathintmain(){intprime(int);inti,k;cini;k=__(1)__;coutkendl;return0;}intprime(intn){intm;for(m=2;m=sqrt(n);m++)if(__(2)__)return0;return1;}答案:(1)prime(i)(2)n%m==0

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功