C++作业4-函数.pdf
一、判断题(每小题一、判断题(每小题 2 2 分,共分,共 2020 分)分)1.主函数可以调用除自己以外的任何函数,子函数可以调用除主函数外的任何函数,包括它自己。答案:T2.主函数中定义的变量可以在其他函数中使用,主函数可以使用其他函数中定义的变量。答案:F3.不同的函数中不能使用相同的变量名。答案:F4.函数的某个参数有默认值时,其后面的参数都必须有默认值。答案:T5.模板函数的真正代码是在运行函数时产生。答案:F6.void f(int a,char b,float c=1)与 void f(int m,char n)互为重载函数。答案:F7.内联函数可以减少函数的调用,提高程序的运行速度。答案:T8.函数执行过程中通过 return 语句将函数值返回,当一个函数不需要返回值,需要使用void 作为类型名。答案:T9.C+中,函数允许嵌套定义,允许嵌套调用。答案:F10.各个函数在程序中定义的顺序是一定的,它们的顺序影响程序运行时的执行顺序和程序运行结果。答案:F二、选择题二、选择题(每题(每题 3 3 分,共分,共 4545 分)分)1.下列叙述错误的是()A.一个函数中可以有多条return 语句B.调用函数必须在一条独立的语句中完成C.函数中通过 return 语句传递函数值D.主函数 main 也可以带有形参答案:B2.在函数定义前加上关键字”inline”,表示该函数被定义为()A重载函数B内联函数C成员函数D普通函数答案:B3.函数定义为 Fun(int&k),变量定义 n=100,则下面调用正确的是()AFun(20)BFun(20+n)CFun(n)DFun(&n)答案:C4.必须用一对大括号括起来的程序段是()。Aswitch 语句中的 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.以下程序有语法性错误,有关错误原因的正确说法是()。int main()int a=5,k;void prt_char();k=prt_char();A.语句 void prt_char();有错,它是函数调用语句,不能用void 说明。B.变量名不能使用大写字母。C.函数说明和函数调用语句之间有矛盾。D.函数名不能使用下划线。答案:C12.正确的函数原型形式为()。Avoid fun(void);Bdouble fun(int x;int y);Cint fun(int=0,int);Ddouble fun(int x,y)答案:A13.有函数原型 void fun4(int&);下面选项中,正确的调用是()。x=;fun4(&x);a=15;fun4(a*;C.int b=100;fun4(b);D.fun4(256);答案:C14.以下叙述中正确的是()。A.构成 C+程序的基本单位是函数B.可以在一个函数中定义另一个函数()函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义答案:A15.下面判断是否构成重载函数的条件中,错误的判断条件是()。A.参数类型不同B.参数个数不同C.参数顺序不同D.函数返回值不同答案:D三、程序填空题三、程序填空题(本大题(本大题 3535 分)分)1.1.本题分值:本题分值:每空 3 分,共 12 分。题目描述:题目描述:以下程序计算 4 名学生 3 门课程成绩的平均分。在主函数中给定各门课程的成绩和输出计算得到的各平均分,avg 函数用于计算各课程的平均分。代码:代码:#includeusing namespace std;int main()void avg(int m3,float n);int d43=88,66,93,84,75,68,97,98,89,90,71,82;float a3;avg(_(1)_);本题分值:本题分值:每空 3 分,共 9 分。题目描述:求题目描述:求 n!n!。代码:代码:#includeusing namespace std;int main()long fact(int n);int n;long p;cinn;本题分值:本题分值:空(1)2 分,空(2)3 分,共 5 分。题目描述:题目描述:写出写出判断某数为素数(素数是指只能被自己和1整除的数)的函数。是素数返回1,不是素数返回0。代码:代码:#includeusing namespace std;#include int main()int prime(int n)答案:(1)prime(i)(2)n%m=0int m;for(m=2;mi;k=_(1)_;cout kendl;return 0;