#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