2026年6月青少年软件编程(C/C++)等级考试试卷(四级)

2026年10月24日

一、单选题

1.已知 int x = 15; int *p = &x; ,以下说法错误的是?( )

  • A、p中存储的是变量x的内存地址
  • B、*p代表指针p指向的变量x的值
  • C、执行* p = 20;后,x的值会变为20
  • D、执行p = 20;后,x的值会变为20

2.执行以下代码,输出结果是?

int arr[5] = {10,20,30,40,50}; 
int *p = arr; 
cout << *(p + 2);
  • A、10
  • B、20
  • C、30
  • D、40

3.以下关于C++类的说法,正确的是?( )

  • A、类的成员默认访问权限是public
  • B、类中只能定义成员变量,不能定义成员函数
  • C、面向对象是一种封装数据与行为的编程方法
  • D、一个类只能创建一个对象

4.有结构体定义如下,以下写法正确的是?

struct Book{
    string name;
    double price;
};
  • A、Book.name = "C++入门";
  • B、Book b; b.price = 39.9;
  • C、Book b; b->name = "算法竞赛";
  • D、struct b; b.name = "数据结构";

5.将十进制数25转换为二进制,结果是?( )

  • A、10101
  • B、11001
  • C、11100
  • D、10011

6.C++表达式 7 | 3 的计算结果是?( )

  • A、3
  • B、7
  • C、10
  • D、21

7.以下排序算法中,最坏时间复杂度为 O(n log n)的是?( )

  • A、冒泡排序
  • B、插入排序
  • C、归并排序
  • D、选择排序

8.以下关于排序算法的说法,错误的是?( )

  • A、快速排序是分治思想的典型应用
  • B、冒泡排序每一轮都会将一个最大的元素冒泡到末尾
  • C、插入排序适合处理已经基本有序的数组
  • D、选择排序是稳定排序算法

9.两个长度分别为1000位和800位的大整数相乘,结果的最大长度是?( )

  • A、1000
  • B、1800
  • C、1801
  • D、800000

10.高精度减法运算中,不需要做的事情有?( )

  • A、比较两个数的大小
  • B、确定结果的符号
  • C、判断结果的奇偶性
  • D、确定结果的长度

二、判断题

11.空指针 nullptr 是 C++11 引入的,专门用于表示空指针,比 NULL 更安全。( )

12.指针可以进行加减运算。( )

13.定义结构体时使用关键字 struct。( )

14.结构体的成员可以是一个数组,数组的元素也可以是一个结构体。( )

15.八进制数12转换为十进制数是14。( )

16.C++ 中,右移运算符 >> 对于有符号数,会在低位补符号位。( )

17.归并排序是稳定排序算法。( )

18.排序算法的稳定性是指排序的速度是否稳定。( )

19.C++的long long类型可以存储任意大的整数。( )

20.高精度加法运算中,通常从数字的最低位开始计算。( )

三、编程题

21.总异或和

http://xiaopangoj.com/p/48952

22.三数之和

http://xiaopangoj.com/p/48953