#z68. 基础篇-函数
基础篇-函数
[题目描述]
{{ 以下关于自定义函数的说法正确的是? }} {{ select(1) }}
- [选项1] 函数定义必须放在main函数之前
- [选项2] 函数名可以使用关键字(如int)
- [选项3] 函数参数列表可以为空
- [选项4] 有返回值的函数可以不写return语句
[题目描述]
{{ 观察以下代码,输出结果是? }}
void swap(int a, int b) { int t=a; a=b; b=t; }
int main() {
int x=3, y=5;
swap(x, y);
cout << x << y;
}
{{ select(2) }}
- [选项1] 35
- [选项2] 53
- [选项3] 33
- [选项4] 55
[题目描述]
{{ 函数递归的必要条件是? }} {{ select(3) }}
- [选项1] 至少有一个递归终止条件
- [选项2] 必须调用自身至少两次
- [选项3] 参数必须为整数
- [选项4] 返回值类型必须为int
[题目描述]
{{ 以下哪个变量属于全局变量? }} {{ select(4) }}
- [选项1] 函数参数列表中的变量
- [选项2] main函数内定义的变量
- [选项3] 所有函数外部定义的变量
- [选项4] 循环体内定义的变量
[题目描述]
{{ 若函数声明为double calc(int x, double y),以下调用正确的是? }}
{{ select(5) }}
- [选项1]
calc(3.5, 5) - [选项2]
calc(5, 3.5) - [选项3]
calc("3", 5.0) - [选项4]
calc(5, "3.5")
[题目描述]
{{ 关于函数参数传递,错误的是? }} {{ select(6) }}
- [选项1] 传值参数传递的是副本
- [选项2] 引用参数需用
&声明 - [选项3] 数组名作为参数传递的是指针
- [选项4] 引用参数不能修改实参值
[题目描述]
{{ 以下代码的输出是? }}
int f(int n) {
if(n==1) return 1;
return n * f(n-1);
}
int main() { cout << f(3); }
{{ select(7) }}
- [选项1] 3
- [选项2] 6
- [选项3] 9
- [选项4] 12
[题目描述]
{{ 函数作用域内的局部变量在何时释放? }} {{ select(8) }}
- [选项1] 程序结束时
- [选项2] 函数调用结束时
- [选项3] 变量赋值时
- [选项4] 永远不释放
[题目描述]
{{ 以下关于函数参数传递的说法,正确的是: }} {{ select(9) }}
- [选项1] 传值参数会创建变量的副本,函数内修改不影响原始变量
- [选项2] 指针参数传递的是变量的值,无法修改原始变量
- [选项3] 数组名作为参数时,传递的是数组的所有元素
- [选项4] 在 C++ 中,引用参数本质是传递变量的副本
[题目描述]
{{ 以下函数定义正确的是? }} {{ select(10) }}
- [选项1]
void f(int x; int y) - [选项2]
int f(x) { return x*2; } - [选项3]
double f(double x) { return x+1; } - [选项4]
char f() { int x; return x; }
[题目描述]
{{ 函数必须有返回值才能被调用。( ) }} {{ select(11) }}
- [选项1] 正确
- [选项2] 错误
- [选项3]
- [选项4]
[题目描述]
{{ 全局变量可以在任何函数中修改。( ) }} {{ select(12) }}
- [选项1] 正确
- [选项2] 错误
- [选项3]
- [选项4]
[题目描述]
{{ 以下代码能正确交换 x 和 y 的值:
void swap(int &a, int &b) { int t=a; a=b; b=t; }
{{ select(13) }}
- [选项1] 正确
- [选项2] 错误
- [选项3]
- [选项4]
[题目描述]
{{ 递归函数的递归深度不受限制。( ) }} {{ select(14) }}
- [选项1] 正确
- [选项2] 错误
- [选项3]
- [选项4]
[题目描述]
{{ 函数声明需要与定义的参数类型一致。( ) }} {{ select(15) }}
- [选项1] 正确
- [选项2] 错误
- [选项3]
- [选项4]
[题目描述]
{{ 局部变量和全局变量同名时,函数内优先使用全局变量。( ) }} {{ select(16) }}
- [选项1] 正确
- [选项2] 错误
- [选项3]
- [选项4]
[题目描述]
{{ 函数参数传递时,数组名会退化为指针。( ) }} {{ select(17) }}
- [选项1] 正确
- [选项2] 错误
- [选项3]
- [选项4]
[题目描述]
{{ 以下函数会导致无限递归
int f(int n) { return f(n-1); }
{{ select(18) }}
- [选项1] 正确
- [选项2] 错误
- [选项3]
- [选项4]
[题目描述]
{{ 引用参数必须在定义时初始化。( ) }} {{ select(19) }}
- [选项1] 正确
- [选项2] 错误
- [选项3]
- [选项4]
[题目描述]
{{ 函数返回值类型为 void 时,可以使用return 0;语句。( ) }}
{{ select(20) }}
- [选项1] 正确
- [选项2] 错误
- [选项3]
- [选项4]