2025年12月 GESP CCF编程能力等级认证C++四级真题

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

答案和更多内容请查看网站:【试卷中心 -----> CCF GESP ----> C/C++ ----> 四级】

网站链接

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

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

2025年12月 GESP CCF编程能力等级认证C++四级真题

一、单选题(每题 2 分,共 30 分)

第 1 题 小杨想让指针 p 指向整数变量 x ,正确写法是( )。

A.int p = &x;

B.int *p = x;

C.int *p = &x;

D.p = *x;

第 2 题 小杨写了如下的指针接力程序,程序执行完后变量 a 、 *p1 和 *p2 的值分别是( )。

int a = 5;

int* p1 = &a;

int* p2 = p1;

*p2 = 10;

A. 5 10 10

B. 5 10 15

C. 10 10 10

D. 5 5 10

第 3 题 小杨用一个二维数组表示棋盘,其中 1 表示有棋子,0 表示没有棋子。他想知道第 2 行 第 3 列有没有棋子,可采用的代码是:( )。

复制代码
int a[3][4] = {
{1, 0, 1, 0},
{0, 1, 0, 1},
{1, 1, 0, 0}
};

A. cout << a[1, 2] << endl;

B. cout << a[1][2] << endl;

C. cout << a(1, 2) << endl;

D. cout << a{1}{2} << endl;

第 4 题 执行完下面的代码后, *(p + 5) 和 arr[1][1] 的值分别是( )。

复制代码
int arr[3][4] = {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
int* p = &arr[0][0];

A. 5 6

B. 6 5

C. 5 5

D. 6 6

第 5 题 执行完下面的代码后, sum 的值是( )。

复制代码
int arr[2][3][2] = {
{{1,2}, {3,4}, {5,6}},
{{7,8}, {9,10}, {11,12}}
};
int sum = 0;
for(int i = 0; i < 2; i++)
    for(int j = 0; j < 3; j++)
        for(int k = 0; k < 2; k++)
            if((i+j+k) % 2 == 0)
                sum += arr[i][j][k];

A. 36

B. 39

C. 78

D. 30

第 6 题 执行完下面的代码后,输出是( )。

复制代码
int a = 1;
void test() {
    int a = 2;
    {
        int a = 3;
        a++;
    }
    a++;
    cout << a << " ";
}
int main() {
    test();
    cout << a;
    return 0;
}

A. 3 1

B. 4 1

C. 3 2

D. 4 2

第 7 题 执行完下面的代码后, a 、 b 和 c 的值分别是( )。

复制代码
void byValue(int x) { x = 100; }
void byRef(int& x) { x = 200; }
void byPointer(int* x) { *x = 300; }
int main() {
    int a = 1, b = 2, c = 3;
    byValue(a);
    byRef(b);
    byPointer(&c);
    return 0;
}

A. 100 200 300

B. 1 2 3

C. 1 200 300

D. 1 2 300

第 8 题 运行如下代码会输出( )。

复制代码
struct Point {
int x, y;
};
struct Rectangle {
    Point topLeft;
    Point bottomRight;
};
int main() {
    Rectangle rect = {{10, 10}, {20, 20}};
    rect.topLeft.x = 5;
    Point* p = &rect.bottomRight;
    p->y = 5;
    cout << rect.topLeft.x + rect.bottomRight.y;
    return 0;
}

A. 10

B. 30

C. 15

D. 20

第 9 题 给定函数 climbStairs(int n) 的定义如下,则 climbStairs(5) 的返回的值是( )。

复制代码
int climbStairs(int n) {
    if(n <= 2) return n;
    int a = 1, b = 2;
    for(int i = 3; i <= n; i++) {
        int temp = a + b;
        a = b;
        b = temp;
    }
    return b;
}

A. 5

B. 8

C. 13

D. 10

第 10 题 对如下4个扑克牌进行排序,

使用某排序算法按value排序后,结果为: {3,'D'}, {3,'B'}, {5,'A'}, {5,'C'} ,则这个排序算法是稳定的吗?

复制代码
struct Card {
int value;
char suit; // 花色
};
Card cards[4] = {{5,'A'}, {3,'B'}, {5,'C'}, {3,'D'}};

A. 稳定,因为相同 value 的元素相对顺序保持不变

B. 不稳定,因为 {3,'D'} 出现在 {3,'B'} 之前

C. 无法判断

D. 稳定,因为结果是有序的

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

答案和更多内容请查看网站:【试卷中心 -----> CCF GESP ----> C/C++ ----> 四级】

网站链接

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

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

相关推荐
玖釉-几秒前
Slang 和 HLSL 的区别与用法详解:现代图形渲染中的两种 Shader 编程语言
c++·算法·图形渲染
t-think2 分钟前
深入了解指针(3)
c语言·算法
GIOTTO情2 分钟前
Infoseek 危机公关自动化闭环系统,实现 PR 运维工程化
人工智能·算法·机器学习
hef2882 分钟前
利用C 图形界面展示MATLAB算法的高效混合编程实践
windows·算法·matlab
sali-tec4 分钟前
C# 基于OpenCv的视觉工作流-章76-轮廓-段距
图像处理·人工智能·opencv·算法·计算机视觉
水木流年追梦5 分钟前
大模型入门-RL基础
开发语言·python·算法·leetcode·正则表达式
城事漫游Molly13 分钟前
AI 快速生成标准化问卷分析报告:从 SUS 到 UMUX-LITE,如何把“分数”写成“结论”
人工智能·算法·机器学习·论文笔记·科研统计·问卷设计
人道领域17 分钟前
【LeetCode刷题日记】617.合并二叉树(空间换安全,还是原地省内存)
java·数据结构·算法·leetcode
独自破碎E21 分钟前
机器人Java后端算法笔试题解析
java·windows·算法
运筹vivo@24 分钟前
3043. 最长公共前缀的长度(Leetcode 每日一题)
c++·算法·leetcode·职场和发展·每日一题