程序设计基础课程组编
第五章 函数
一、单项选择题
1. 若调用一个void f( int x )函数,且此函数中没有return语句,则正确的说法是 。该函数 A. 没有返回值。 B. 返回若干个系统默认值
C. 能返回一个用户所希望的函数值 D. 返回一个不确定的值。
2. 以下不正确的说法是 。 C++语言规定 A. 实参可以是常量、变量或表达式 B. 形参可以是常量、变量或表达式 C. 实参可以为任意类型
D. 形参应与其对应的实参类型一致
3. C++语言规定,函数返回值的类型是由 决定的。 A. return 语句中的表达式类型 B. 调用该函数时的主调函数类型 C. 调用该函数时由系统临时 D. 在定义函数时所指定的函数类型
4. 以下错误的描述是 。函数调用可以是 A. 出现在执行语句中 B. 出现在一个表达式中
C. 作为一个函数的实参 D. 作为一个函数的形参
5. 已知一个函数的定义如下: double fun(int x, double y) { …… }
则该函数正确的函数原型声明为:
A. double fun (int x,double y); B. fun (int x,double y) ; C. double fun (int;double ) ; D. fun(x,y) ; 6. 以下正确的描述是 。
A. 函数的定义可以嵌套,但函数的调用不可以嵌套。 B. 函数的定义和函数的调用均不可以嵌套。
C. 函数的定义不可以嵌套,但函数的调用可以嵌套。 D.函数的定义和函数的调用均可以嵌套。
7. 若用数组名作为函数调用的实参,传递给形参的是 。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组中的全部元素的值 D. 数组元素的个数 8. 以下不正确的描述是 A. 在函数外部定义的变量是全局变量。 B. 局部变量不能与全局变量同名。 C. 函数的形参是局部变量。
D. 在函数内部定义的变量是局部变量。
9. 如果在一个函数中的复合语句中定义了一个变量,则该变
量 。
A. 在本程序范围内有定义 B. 在该函数中有定义 C. 只在该复合语句中有效 D. 为非法变量 10. 以下不正确的说法是 。
A. 全局变量,静态变量的初值是在编译时指定的 B. 静态变量如果没有指定初值,则其初值为 0 C. 局部变量如果没有指定初值,则其初值不确定
D. 函数中的静态变量在函数每次调用时,都会重新设置初值
二、写出下列程序的运行结果 1. #include cout< static int f=1; f*=f+1; return(f); } main( ) { int i; for(i=1; i<3; i++) cout< if (n==1) return 1; else return f(n-1)+1; } void main() { int i, j=0; for (i=1;i<5;i++) j+=f(i); cout< long count (int n, int k); void main ( ) { int n, k; n = 3; k = 2; printf (\"Result = %ld\\n\} long count (int n, int k) { int i, j, sum, item; sum = 0; for (i = 1; i <= n; i++) { item = 1; for (j = 1; j <= k; j++) item *= i; sum += item; } return (sum); } 三、编程题 1. 设计一个判断素数的函数prime(int n),是素数返回1,否则返回0。 2.分别设计3个函数输出3种不同格式打印乘法九九表,主函数分别调用3个函数以输出不同的格式。 3.设计函数MaxCommonFactor( ),计算两个正整数的最大公约数。 n4. 设计一递归函数计算组合Cm。 5.用递归函数方法求解问题:若有1头小母牛,从出生起第4个年头开始每年生1头母牛,按此规律,第n年时有多少头母牛? 程序设计基础课程组编 第五章 函数 一、单项选择题 1 A 2 B 3 D 4 D 5 A 6 C 7 A 8 B 9 C 10 D 二、写出下列程序的运行结果 1. 8 2. 2 6 3. 10 4. 14 因篇幅问题不能全部显示,请点此查看更多更全内容