GESP CCF C++八级编程等级考试认证真题 2024年12月

202412 GESP CCF C++八级编程等级考试认证真题

1 单选题(每题 2 分,共 30 分)

第 1 题 小杨家响应国家"以旧换新"政策,将自家的汽油车置换为新能源汽车,正在准备自编车牌。自编车牌包括5

位数字或英文字母,要求第5位必须是数字,前4位中可以有最多1位英文字母。英文字母必须是大写,而且不能是O

或I(因为容易与数字0或1混淆)。请问自编车牌共有多少种可能性?( )。

A. 100,000

B. 1,060,000

C. 1,360,000

D. 1,460,000

第 2 题 新年到,四家人在一起聚会。其中两家有三口人,另外两家有两口人。现在要安排大家在一张十人圆桌坐

下,要求一家人必须相邻就座。由于有"主座"的习俗,每个座位都被认为是不同的。请问共有多少种就座方案?(

)。

A. 8640

B. 6912

C. 144

D. 60

第 3 题 下面关于C++类继承的说法,错误的是( )。

A. 一个类可以继承多个类。

B. 一个类可以被多个类继承。

C. 一个类可以继承另一个类的子类。

D. 抽象类必须被至少一个类继承,否则会编译错误。

第 4 题 使用邻接表表达一个简单有向图,图中包含 v 个顶点、 e 条边,则该出边表中边节点的个数为( )。

A. v * ( v-1 )

B. v * v

C. 2 * e

D. e

第 5 题 以下将二维数组作为参数的函数声明,哪个是符合语法的?( )。

A. void Bubble(int a[10][], int m);

B. void Bubble(int a[][], int n, int m);

C. void Bubble(int (*a)[20], int n);

D. void Bubble(int * a[20], int n);

第 6 题 已知两个点 A 、 B 在平面直角坐标系下的坐标分别为 (xa,ya)和 (xb,yb),并分别定义变量 double xa, ya,

xb, yb; 存储坐标。假设直线 AB 的斜率存在,下列哪个表达式可以用来表达它?( )。

A. (xa - xb) / (ya - yb)

B. (xa - xb) / (yb - ya)

C. (ya - yb) / (xa - xb)

D. (ya - yb) / (xb - xa)

第 7 题 二项式 (x + y)^6的展开式中x^3y^3项的系数是( )。

A. 6

B. 15

C. 20

D. 120

第 8 题 以下关于动态规划的说法中,错误的是( )。

A. 动态规划方法有递推和递归两种实现形式。

B. 递归实现动态规划方法的时间复杂度总是不低于递推实现。

C. 动态规划方法将原问题分解为一个或多个相似的子问题。

D. 动态规划方法通常能够列出递推公式。

第 9 题 在下面的程序中,使用整数表示一种组合。整数二进制表示的某一位为1,表示该位对应的数被选中,反之

为0表示未选中。例如,从 0 - 5 这 6 个数中选出 3 个,则 0b111000 代表选中 3, 4, 5 三个数, 0b011001 代表

选中 0, 3, 4 三个数。 zuhe_next 函数按组合对应的整数由大到小的顺序,求出组合 c 的下一个组合。横线处可

以填入的是( )。

int intlow2(int c) {

return ________;

// 在此处填入选项

}

int zuhe_next_incur(int c, int n, int l) {

if (n == 1) return c;

if ((c & (1 << l)) == 0) {

int d = intlow2(c);

c = (c & ~d);

c = (c | (d >> 1));

} else {

c = (c & ~(1 << l));

c = zuhe_next_incur(c, n - 1, l + 1);

int d = intlow2(c);

c = (c | (d >> 1));

}

return c;

}

// 从n个数中选m个,当前组合为c

int zuhe_next(int c, int n, int m) {

return zuhe_next_incur(c, n, 0);

}

A. ((c - 1) ^ c)

B. (((c - 1) ^ c) + 1)

C. (((c - 1) ^ c) >> 1)

D. ((((c - 1) ^ c) + 1) >> 1)

第 10 题 下面程序的输出为( )。

#include <iostream>

using namespace std;

int main() {

int N = 15, cnt = 0;

for (int x = 0; x + x + x <= N; x++)

for (int y = x; x + y + y <= N; y++)

for (int z = y; x + y + z <= N; z++)

cnt++;

cout << cnt << endl;

return 0;

}

A. 174

B. 447

C. 816

D. 4096

第 11 题 下面最长公共子序列程序中,横线处应该填入的是( )。

#define MAX(A, B) (((A) > (B)) ? (A) : (B))

#define MIN(A, B) (((A) < (B)) ? (A) : (B))

int dp[MAX_L + 1][MAX_L + 1];

int LCS(char str1[], char str2[]) {

int len1 = strlen(str1);

int len2 = strlen(str2);

for (int i = 0; i < len1; i++)

for (int j = 0; j < len2; j++)

if (str1[i] == str2[j])

dp[i + 1][j + 1] = dp[i][j] + 1; else

________;

// 在此处填入选项

return dp[len1][len2];

}

A. dp[i + 1][j + 1] = dp[i][j + 1] + dp[i + 1][j]

B. dp[i + 1][j + 1] = MIN(dp[i][j + 1], dp[i + 1][j])

C. dp[i + 1][j + 1] = MAX(dp[i][j + 1], dp[i + 1][j])

D. dp[i + 1][j + 1] = MAX(dp[i][j + 1], dp[i + 1][j]) + 1

================================================

答案和更多内容请查看网站:【试卷中心 -- C/C++编程 五级/六级/其他】

网站链接

青少年软件编程历年真题模拟题实时更新

================================================

相关推荐
吴_知遇13 分钟前
【华为OD机试真题】428、连续字母长度 | 机试真题+思路参考+代码解析(E卷)(C++)
开发语言·c++·华为od
LaoWaiHang30 分钟前
MFC案例:使用键盘按键放大、缩小窗口图像的实验
c++·mfc
basketball61643 分钟前
Python torchvision.transforms 下常用图像处理方法
开发语言·图像处理·python
到底怎么取名字不会重复44 分钟前
Day10——LeetCode15&560
c++·算法·leetcode·哈希算法·散列表
宁酱醇1 小时前
各种各样的bug合集
开发语言·笔记·python·gitlab·bug
啊吧怪不啊吧1 小时前
Linux常见指令介绍下(入门级)
linux·开发语言·centos
谷晓光1 小时前
Python 中 `r` 前缀:字符串处理的“防转义利器”
开发语言·python
Tiger Z1 小时前
R 语言科研绘图第 41 期 --- 桑基图-基础
开发语言·r语言·贴图
chuxinweihui1 小时前
数据结构——二叉树,堆
c语言·开发语言·数据结构·学习·算法·链表
陈大大陈2 小时前
基于 C++ 的用户认证系统开发:从注册登录到Redis 缓存优化
java·linux·开发语言·数据结构·c++·算法·缓存