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

网站链接

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

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

相关推荐
只是懒得想了12 小时前
C++实现密码破解工具:从MD5暴力破解到现代哈希安全实践
c++·算法·安全·哈希算法
m0_7369191013 小时前
模板编译期图算法
开发语言·c++·算法
dyyx11113 小时前
基于C++的操作系统开发
开发语言·c++·算法
m0_7369191013 小时前
C++安全编程指南
开发语言·c++·算法
蜡笔小马13 小时前
11.空间索引的艺术:Boost.Geometry R树实战解析
算法·r-tree
-Try hard-13 小时前
数据结构:链表常见的操作方法!!
数据结构·算法·链表·vim
2301_7903009613 小时前
C++符号混淆技术
开发语言·c++·算法
我是咸鱼不闲呀13 小时前
力扣Hot100系列16(Java)——[堆]总结()
java·算法·leetcode
嵌入小生00713 小时前
单向链表的常用操作方法---嵌入式入门---Linux
linux·开发语言·数据结构·算法·链表·嵌入式
LabVIEW开发13 小时前
LabVIEW金属圆盘压缩特性仿真
算法·labview·labview知识·labview功能·labview程序