D. 函数的函数体 答案:D
5. 在函数的返回值类型与返回值表达式类型的描述中,错误的是( )。
A.函数返回值的类型是在定义函数时确定的,在函数调用时不能改变 B. 函数返回值得类型就是返回值表达式的类型
C. 函数返回值的类型与返回值表达式类型不同时,函数表达式类型应该转换成返回值类型
D. 函数返回值的类型决定了返回值表达式的类型 答案:B
6. 在函数的定义格式中,下面各组成部分中,( )是可以省略的。
A.函数名
B. 函数数据类型说明 C. 函数体 D. 函数参数 答案:D
7. 下面叙述中错误的是( )。
A.调用函数必须在一条独立的语句中完成 B. 一个函数中可以有多条return语句 C. 函数中通过return语句传递函数值 D. 主函数名main也可以带有形参 答案:A
8. 非数组、指针或引用型变量做实参时,它和对应形参之间的数据传递方式是( )。
A.地址传递 B. 单向值传递 C. 双向值传递 D. 由用户指定传递方式 答案:B
9. 若用数组名作为函数调用的实参.则传递给形参的是( A. 数组的首地址 B.数组第1个元素的值 C.数组中全部元素的值 D.数组元素的个数 答案:A
10. 若使用一维数组名作函数实参,则下面正确的说法是(A.必须在主调函数中说明数组的大小 B.实参数组类型与形参数组类型可以不同 C.必须在被调函数中说明数组的大小 D.实参数组名与形参数组名必须一致 答案:A
11. 以下程序有语法性错误,有关错误原因的正确说法是( )int main() {
)。 )。 。 int a=5,k; void prt_char(); ……
k=prt_char(); …… }
A. 语句void prt_char();有错,它是函数调用语句,不能用void说明。 B. 变量名不能使用大写字母。
C. 函数说明和函数调用语句之间有矛盾。 D. 函数名不能使用下划线。 答案:C
12. 正确的函数原型形式为( )。
A.void fun(void) ;
B.double fun(int x;int y);
C.int fun(int=0,int);
D.double fun(int x,y)
答案:A
13. 有函数原型void fun4 ( int &);下面选项中,正确的调用是( )。 A.int x=2.17; fun4(&x); B.int a=15; fun4(a*3.14); C. int b=100; fun4(b); D. fun4(256); 答案:C
14. 以下叙述中正确的是( )。 A.构成C++程序的基本单位是函数 B.可以在一个函数中定义另一个函数 C.main()函数必须放在其他函数之前
D.所有被调用的函数一定要在调用之前进行定义 答案:A
15. 下面判断是否构成重载函数的条件中,错误的判断条件是( )。 A. 参数类型不同 B. 参数个数不同 C. 参数顺序不同 D. 函数返回值不同 答案:D
三、程序填空题 (本大题35分) 1.
本题分值:每空3分,共12分。
题目描述:以下程序计算4名学生3门课程成绩的平均分。在主函数中给定各门课程的成绩和输出计算得到的各平均分,avg函数用于计算各课程的平均分。 代码:
#include
void avg(int m[][3],float n[]);
int d[4][3]={88,66,93,84,75,68,97,98,89,90,71,82};
float a[3];
avg(__(1)__); //调用avg函数求平均分
for(int i=0;i<3;i++) cout<<__(2)__<<\输出3门课程的平均分 return 0; }
void avg(int m[][3],float n[]) {
int i,j,s; for(i=0;i<3;i++) {
__(3)__; for(j=0;j<4;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!。