2026 年GESP6月C++-四级
姓名:
一、选择题
第 1 题 小杨正在编写一个“数字交换器”程序 ,他希望通过函数交换两个变量的值 。请问运行以下代码后 ,屏幕上输出的是( )。
A. 100 200
B. 200 100
C. 200 200
D. 编译错误
第 2 题 下面程序想通过函数计算三门课总分 ,横线处应填入的是( )。
A. sumScore
B. sumScore(chinese , math , english)
C. sumScore(int chinese , int math , int english)
D. sumScore(a , b , c)
第 3 题 下面程序输出结果是( )。
A. 9
B. 10
C. 11
D. 12
第 4 题 关于下面程序 ,说法正确的是( )。
A. 程序输出 5
B. 程序可以通过编译 ,但输出随机值
C. 程序不能通过编译, 因为 stars 只在 show 函数中有效
D. 程序不能通过编译, 因为 cout 不能输出变量
第 5 题 小杨在调试一个“等级提升”系统 ,代码逻辑如下 ,执行后 *p 的值是( )。
A. 5
B. 6
C. lv 的地址
D. next_lv 的地址
第 6 题 小杨正在开发一款名为“星际网格” 的游戏 ,他用二维数组 int map[5 ] [4 ] ; 来表⽰地图 。已知 int 占 4字节 ,如果 map 的内存地址是 0x2000 ,则表达式 &map + 1 的地址值是( )。
A. 0x204c
B. 0x205c
C. 0x2050
D. 0x2058
第 7 题 执行完下面代码后 ,变量 val 的值是( )。
A. 50
B. 60
C. 70
D. 80
第 8 题 某班 3 个小组、每组 4 名同学的分数存入下面的二维数组 score ,则 score [1 ] [2 ] 的值是( )。
A. 81
B. 90
C. 92
D. 72
第 9 题 小杨定义了一个结构体 Hero 来表⽰游戏角色 ,下面哪种初始化方式会由于语法错误导致编译失败? ( ) 。
A. Hero h = { "Arthur " , 100} ;
B.
C. Hero h = new Hero{ "Arthur " , 100} ;
D. Hero *p = new Hero{ "Arthur " , 100} ;
第 10 题 下面程序输出结果是( )。
A. Math
B. Science
C. 120
D. 150
第 11 题 小杨在对“能量晶石 ”按亮度进行排序 。如果两块晶石亮度相同 ,他希望保持它们在原始序列中的相对顺序 。下列关于排序算法稳定性的说法 ,错误的是( )。
A. 冒泡排序是稳定的, 因为只有在左边比右边大时才交换。
B. 插入排序是稳定的, 因为它将元素插入到相等元素的右侧。
C. 选择排序是稳定的, 因为它每次选出最小元素放在前面。
D. 稳定性是指排序后相等元素的相对位置不发生改变。
第 12 题 小杨的机器人正在能量踏板上跳跃 ,踏板编号为 1 , 2 , 3, … 。跳到第 " 块踏板的方案数满足递推式 f(") = ftn 1) +f(n 2) 。若 f(1) = 1 , f(2) = 2 ,则运行以下代码计算 jump(5) 的结果是( )。
A. 5
B. 8
C. 13
D. 21
第 13 题 在“模拟实验室”程序中 ,为了防止除以 导致崩溃 ,小杨使用了异常处理机制 。执行以下代码将输出 ( ) 。
A. 0
B. Error Code: 0
C. Caught : Zero Error
D. 程序直接崩溃
第 14 题 下面代码使用某种排序算法 ,将数组中的元素按从小到大排序 。这段代码使用的排序算法是( )。
A. 冒泡排序
B. 插入排序
C. 选择排序
D. 非典型排序
第 15 题 小杨正在读取“ 冒险日志”文件 quest .txt 。若文件内容为 Level 10 ,执行以下程序后输出为( )。
A. 50
B. 15
C. 70
D. 5
二、判断题
第 1 题 运行以下程序后 ,变量 a 的值最终会变为 20 。
正确
错误
第 2 题 在 C++ 中 ,引用一旦初始化并绑定到某个变量后 ,可以通过赋值语句将其重新绑定到另一个变量。
正确
错误
第 3 题 下面程序可以正确计算并输出 3 名学生的平均成绩。
正确
错误
第 4 题 选择排序算法在寻找每一轮最小值时 ,如果遇到相等的元素不进行交换 ,则选择排序是一种稳定的排序算法。
正确
错误
第 5 题 如果使用带 flag 的冒泡排序 ,且待排序数组一开始就是有序的 ,那么算法只需一轮扫描即可结束 ,时间复杂度为 O(n) 。
正确
错误
第 6 题 在 C++ 中定义二维数组并初始化时 ,可以省略第一维 ,但不能省略第二维 。 因此 int a [][2 ] = {{1 , 2} , {3 , 4}}; 是合法的 ,而 int a [][] = {{1 , 2} , {3 , 4}}; 是不合法的。
正确
错误
第 7 题 下面代码的时间复杂度是 o(2^n) 。
正确
错误
第 8 题 假设文件 output .txt 能正常打开 ,下面代码通过 rdbuf 将 cout 的输出重定向到了文件中。
正确
错误
第 9 题 小杨想通过下面程序给饭卡充值 ,程序会输出 70 。
正确
错误
第 10 题 下面代码可以通过编译。
正确
错误
关闭
更多问卷
复制此问卷