#6153. gesp三级真题分类五:函数
gesp三级真题分类五:函数
函数(共20题)
- 关于函数重载,下列说法正确的是( ) {{ select(1) }}
- 函数返回值类型不同可以重载
- 参数个数不同可以重载
- 参数类型相同但参数名不同可以重载
- 函数名相同即可重载
- 以下函数声明中,正确的是( ) {{ select(2) }}
int func(int a, b);void func(int a, int b) { return a+b; }int func(int a, int b) { return a+b; }func(int a, int b) { return a+b; }
- 在 C++ 中,关于引用传递,说法正确的是( ) {{ select(3) }}
- 引用传递不会改变实参的值
- 引用传递相当于传地址
- 引用必须初始化
- 引用可以重新绑定到其他变量
- 下列哪个是标准库中的数学函数?( ) {{ select(4) }}
pow()sqrt()abs()- 以上都是
- 以下关于函数默认参数的说法,错误的是( ) {{ select(5) }}
- 默认参数必须从右向左连续提供
- 可以在函数声明和定义中同时指定默认参数
- 调用时可以省略有默认值的参数
- 默认参数可以是常量表达式
- 下列函数调用中,正确的是( )
{{ select(6) }}int add(int a, int b) { return a+b; }
add(1,2)add(1)add(1.5,2)add("1","2")
- 以下代码输出结果是( )
{{ select(7) }}void func(int &x) { x = 10; } int main() { int a = 5; func(a); cout << a; }
- 5
- 10
- 随机值
- 编译错误
- 以下关于
inline函数的说法,正确的是( ) {{ select(8) }}
- 内联函数一定会被展开
- 内联函数不能有循环
- 内联函数建议用于短小函数
- 内联函数必须定义在头文件中
- 以下关于函数返回值的说法,正确的是( ) {{ select(9) }}
- 函数可以返回数组
- 函数可以返回指针
- 函数不能返回局部变量的引用
- 以上都正确
- 以下代码是否有编译错误?( )
{{ select(10) }}int func() { return 3.14; }
- 有,类型不匹配
- 无,会隐式转换为 int
- 有,缺少参数
- 无,返回 double
- 函数可以没有返回值,此时返回类型为
void。( ) {{ select(11) }}
- 正确
- 错误
main函数可以被其他函数调用。( ) {{ select(12) }}
- 正确
- 错误
- 函数定义时可以给参数设置默认值。( ) {{ select(13) }}
- 正确
- 错误
- 内联函数可以递归调用。( ) {{ select(14) }}
- 正确
- 错误
- 函数重载要求参数列表不同,返回类型可以相同也可以不同。( ) {{ select(15) }}
- 正确
- 错误
- 函数声明可以多次,但定义只能一次。( ) {{ select(16) }}
- 正确
- 错误
- 全局变量和局部变量可以同名,局部变量会覆盖全局变量。( ) {{ select(17) }}
- 正确
- 错误
- 函数的形参是局部变量,函数调用结束后形参被销毁。( ) {{ select(18) }}
- 正确
- 错误
- 静态局部变量在函数调用结束后不会被销毁。( ) {{ select(19) }}
- 正确
- 错误
- 函数的默认参数必须在函数调用时从左到右依次赋值。( ) {{ select(20) }}
- 正确
- 错误