题号123456789101112131415
答案BACABBBACCAABBC
C++ 六级
2024 年 09 月
1单选题(每题 2 分,共 30 分)
第 1 题 以下( )没有涉及 C++ 语言的面向对象特性支持。
A. C++ 中构造一个 class 或 struct
B. C++ 中调用 printf 函数
C. C++ 中调用用户定义的类成员函数
D. C++ 中构造来源于同一基类的多个派生类
第 2 题 关于以下C++代码,( )行代码会引起编译错误。
A. Line 1
B. Line 2
C. Line 3
#include <iostream>
using namespace std;
class Base {
private:
int a;
protected:
int b;
public:
int c;
Base() : a(1), b(2), c(3) {}
};
class Derived : public Base {
public:
void show() {
cout << a << endl; // Line 1
cout << b << endl; // Line 2
cout << c << endl; // Line 3
}
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
D. 没有编译错误
第 3 题 有6个元素,按照 6,5,4,3,2,1 的顺序进入栈S,下列( )的出栈序列是不能出现的( )。
A. 5,4,3,6,1,2
B. 4,5,3,1,2,6
C. 3,4,6,5,2,1
D. 2,3,4,1,5,6
第 4 题 采用如下代码实现检查输入的字符串括号是否匹配,横线上应填入的代码为( )。
A. top = st.top(); st.pop();
B. st.pop(); top = st.top();
C. st.pop(); top = st.front();
D. top = st.front(); st.pop();
第 5 题 下面代码判断队列的第一个元素是否等于,并删除该元素,横向上应填写( )。
#include <iostream>
#include <stack>
#include <string>
using namespace std;
bool is_valid(string s) {
stack<char> st;
char top;
for (char& ch : s) {
if (ch == '(' || ch == '{' || ch == '[') {
st.push(ch); // 左括号入栈
}
else
{
if (st.empty())
return false;
———————————————————————— // 在此处填入代码
if ((ch == ')' && top != '(') ||
(ch == '}' && top != '{') ||
(ch == ']' && top != '[')) {
return false;
}
}
}
return st.empty(); // 栈为空则说明所有括号匹配成功
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
A. is_equal = (q.front() == a);
B. is_equ
GESP 9月认证 C++ 六级真题,2024年9月GESP认证C++编程六级真题及答案,gesp真题,C++编程题库,gesp题库