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++ ----> 四级】

网站链接

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

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

相关推荐
颜酱1 小时前
图结构完全解析:从基础概念到遍历实现
javascript·后端·算法
m0_736919101 小时前
C++代码风格检查工具
开发语言·c++·算法
yugi9878382 小时前
基于MATLAB强化学习的单智能体与多智能体路径规划算法
算法·matlab
DuHz2 小时前
超宽带脉冲无线电(Ultra Wideband Impulse Radio, UWB)简介
论文阅读·算法·汽车·信息与通信·信号处理
Polaris北极星少女2 小时前
TRSV优化2
算法
代码游侠3 小时前
C语言核心概念复习——网络协议与TCP/IP
linux·运维·服务器·网络·算法
2301_763472463 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
abluckyboy4 小时前
Java 实现求 n 的 n^n 次方的最后一位数字
java·python·算法
园小异4 小时前
2026年技术面试完全指南:从算法到系统设计的实战突破
算法·面试·职场和发展
m0_706653234 小时前
分布式系统安全通信
开发语言·c++·算法