题号123456789101112131415
答案ABBDDCDDBBBBAAC
C++ 四级
2025 年 03 月
1单选题(每题 2 分,共 30 分)
第 1 题 关于下述代码,说法错误的是( )。
A. 函数multiply的定义应该放到函数main之前。
B. 函数声明int multiply(int x, int y);中明确指定了函数multiply()的返回值为整数类型。
C. 在main函数中,函数multiply通过multiply(a, b)被调用,其中a和b是定义在main函数中的变
量,它们作为实参传递给了multiply函数的形参x和y。
D. 运行上述代码,将输出The result is: 20。
第 2 题 执行下述代码将输出( )。
A. 2020
B. 2010
C. 1010
int multiply(int x, int y);
int main() {
int a = 4;
int b = 5;
int result = multiply(a, b);
std::cout << "The result is: " << result << std::endl;
return 0;
}
int multiply(int x, int y) {
return x * y;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
int x = 10;
void func() { int x = 20; std::cout << x; }
int main() {
func();
std::cout << x;
return 0;
}
1
2
3
4
5
6
7
D. 编译错误
第 3 题 执行下述代码后,变量a的值为( )。
A. 10
B. 20
C. 随机值
D. 编译错误
第 4 题 以下哪种参数传递方式可以避免拷贝大型对象?
A. 只能用值传递
B. 只能用引用传递
C. 只能用指针传递
D. 引用传递和指针传递均可
第 5 题 执行下述代码,将输出( )。
A. 12
B. 21
C. 22
D. 11
第 6 题 下面的描述中,( )正确定义一个名为Person的结构体并正确初始化了一个Person结构体的变量p。
A.
int a = 10;
int* p = &a;
*p = 20
1
2
3
void swap(int a, int &b) {
int temp = a;
a = b;
b = temp;
}
int main() {
int x = 1, y = 2;
swap(x, y);
std::cout << x << y;
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
struct Person {
string name;
int age;
};
Person p("Yang", 10);
1
2
3
4
5
B.
C.
D.
第 7 题 给定如下代码,
下面描述错误的是( )。
A. 结构Person内嵌套结构Address
B. Person 有一个Address 类型的 address 成员
C. 一个Person类型的变量p的address的初始化可以写成:p.address.street = "123 Main St";
p.address.city = "Anytown";
D. 结构的嵌套可以减少命名冲突,因此可以不必控制嵌套层次
第 8 题 假设int arr[2][3] = {{1,2,3},{4,5,6}};,则arr[1][2]的值是( )。
A. 2
B. 3
C. 5
stru
CCF GESP 2025年3月认证 C++ 4级试题