#6153. gesp三级真题分类五:函数

gesp三级真题分类五:函数

函数(共20题)

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