#z174. 函数测试1
函数测试1
1. 下列关于C++函数的说法中,正确的是( )
{{ select(1) }}
- 函数必须有返回值
- 函数可以没有参数
- 函数定义必须在函数调用之前
- 函数不能自己调用自己
2. 以下函数定义中,正确的是( )
{{ select(2) }}
- void func(int a, int b) { return a + b; }
- int func(a, b) { return a + b; }
- int func(int a, int b) { return a + b; }
- void func(int a, int b) { cout << a + b }
3. 关于函数声明,下列说法正确的是( )
{{ select(3) }}
- 函数声明必须包含函数体
- 函数声明的参数名必须与函数定义的参数名相同
- 函数声明的作用是告诉编译器函数的存在及其接口
- 每个函数只能声明一次
4. 在C++中,以下哪个是函数调用的正确形式( )
{{ select(4) }}
- max(int x, int y)
- int max(x, y)
- max(x, y)
- void max(x, y)
5. 下列代码运行后输出的结果是( )
#include <iostream>
using namespace std;
int add(int a, int b=5) {
return a + b;
}
int main() {
cout << add(3) << endl;
return 0;
}
{{ select(5) }}
- 3
- 5
- 8
- 编译错误
6. 关于形参和实参,下列说法正确的是( )
{{ select(6) }}
- 形参是函数调用时实际传递的值
- 实参是函数定义时的参数
- 形参和实参的类型必须完全一致
- 实参的数量必须与形参的数量相同
7. 下列代码运行后输出的结果是( )
#include <iostream>
using namespace std;
void swap(int a, int b) {
int temp = a;
a = b;
b = temp;
}
int main() {
int x = 3, y = 5;
swap(x, y);
cout << x << " " << y << endl;
return 0;
}
{{ select(7) }}
- 3 5
- 5 3
- 3 3
- 5 5
8. 以下关于引用传递的说法,正确的是( )
{{ select(8) }}
- 引用传递会复制实参的值
- 引用传递中对形参的修改不会影响实参
- 引用传递使用&符号标识
- 引用传递是C++的默认参数传递方式
9. 下列代码运行后输出的结果是( )
#include <iostream>
using namespace std;
bool isOdd(int n) {
return n % 2 == 1;
}
int main() {
cout << isOdd(7) << " " << isOdd(8) << endl;
return 0;
}
{{ select(9) }}
- 7 8
- 1 0
- 0 1
- true false
10. 以下函数的功能是计算n的阶乘,横线处应填入的代码是( )
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return _______;
}
}
{{ select(10) }}
- n * factorial(n)
- n * factorial(n+1)
- n * factorial(n-1)
- factorial(n) + n