6
明天就是 GESP 考试了,在这里预祝所有上场的伙伴金榜题名!
备考路上大家刷过的每一道题、调试过的每一个 bug,都不会白费。进考场放平心态,仔细读题,看清数据范围,写完代码记得检查边界条件。愿大家思路清晰,代码一次编译成功,所有测试点全部通过,稳定发挥出自己的真实水平。
不必过度紧张,相信平日里的积累。无论结果如何,坚持练习的你已经很棒。希望大家走出考场时都能满怀底气,顺利拿到心仪等级。
祝各位考生旗开得胜,下笔即对,成功通关 GESP!加油!
复仇者的4个帖子都上榜了
我才大家现在都在刷题吧
我根据以往的经验给大家押题(1~8):
GESP C++一级
单选题
1. C++表达式 (3 - 2) * 3 + 5 的值是?()
A、-13 B、8 C、2 D、0
2. C++语句 cout << "5%2=" << 5 % 2 执行后的输出是?()
A、2 2 B、1 1 C、5%2=2 D、5%2=1
3. 下列属于C++合法变量名的是()
A、123a B、a_1 C、a-b D、int
4. 下列运算符优先级最高的是()
A、+ B、* C、> D、==
5. 若int a=7,b=2; 表达式a/b的值为()
A、3.5 B、3 C、4 D、2
判断题
1. C++中变量必须先定义,后使用。()
2. cout输出时endl作用是换行。()
3. int类型可以存储小数。()
4. 表达式 8%3结果等于2。()
5. #include <iostream> 是输入输出头文件。()
编程题
1. 小杨买书
【问题描述】已知一本书单价13元,输入零用钱m,计算最多买多少本书,剩余多少钱。
【输入】一个正整数m
【输出】两行,第一行本数,第二行剩余钱。
2. 长方形面积
【问题描述】输入长方形长、宽,输出周长与面积。
【输入】两个整数a,b
【输出】一行两个数,周长、面积。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
GESP C++二级
单选题
1. for(int i=1;i<=10;i++)循环执行多少次()
A、9 B、10 C、11 D、0
2. int a[10];数组下标最大可用为()
A、10 B、9 C、11 D、0
3. 下列能判断x在[1,100]区间的表达式()
A、1<=x<=100 B、x>=1 && x<=100 C、x>=1 || x<=100 D、x>1 && x<100
4. char类型变量存储的是()
A、整数 B、字符ASCII码 C、字符串 D、浮点数
5. while循环中,条件为()时进入循环体
A、false B、0 C、非0 D、null
判断题
1. 字符串可以直接用==比较内容。()
2. break可以跳出for、while循环。()
3. 一维数组元素类型必须全部相同。()
4. continue终止整个循环。()
5. if可以没有else分支。()
编程题
1. 完全平方数计数
【问题描述】给定n,统计1~n之间完全平方数个数。
输入:整数n
输出:一个整数。
2. 打印菱形
【问题描述】输入奇数n,输出由*构成的菱形图案。
输入:n
输出:菱形图形。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
GESP C++三级
单选题
1. 递归函数必须包含()
A、循环 B、递归终止条件 C、全局变量 D、数组
2. 冒泡排序每一轮可以将()放到末尾
A、最小元素 B、最大元素 C、中间元素 D、任意元素
3. 二分查找要求数组()
A、无序 B、有序 C、元素唯一 D、必须int类型
4. 递归求阶乘,fact(5),基线条件是()
A、fact(0)=1 B、fact(1)=0 C、fact(5)=120 D、fact(n)=n*fact(n-1)
5. 选择排序的核心操作是()
A、相邻交换 B、找最值交换 C、二分划分 D、哈希映射
判断题
1. 递归一定可以改写为循环。()
2. 冒泡排序时间复杂度最坏O(n²)。()
3. 二分查找可以用于无序数组。()
4. 全局变量在所有函数内都可以访问。()
5. 函数形参改变不会直接影响实参。()
编程题
1. 字符转换
【问题描述】输入一行字符串,大写转小写,小写转大写,其他不变,输出结果。
输入:一行字符串
输出:转换后的字符串。
2. 加密
【问题描述】将字母向后偏移k位,z后面回到a,非字母不变,输出加密串。
输入:字符串,整数k
输出:密文。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
GESP C++四级
单选题
1. int *p; p存储的是()
A、整数 B、内存地址 C、字符 D、数组内容
2. struct结构体()
A、成员只能同类型 B、可以存放不同类型数据 C、不能嵌套 D、必须有指针成员
3. 指针访问结构体成员->,说法正确()
A、.和->完全等价 B、结构体指针用->访问成员 C、结构体变量用-> D、指针不能指向结构体
4. 二维数组 int a[3][4],第一维长度()
A、4 B、3 C、7 D、12
5. 引用 & 的特点()
A、可以为空 B、必须初始化,别名 C、独立新变量 D、不能传函数参数
判断题
1. 指针变量可以保存任意类型地址。()
2. 结构体数组每个元素都是结构体。()
3. 引用一旦绑定,不能更换绑定对象。()
4. 二维数组在内存连续存放。()
5. 空指针可以直接解引用。()
编程题
1. 学生结构体排序
【问题描述】结构体存储姓名、分数,按分数从大到小排序,分数相同按姓名字典序。
输入:n个学生信息
输出:排序后的名单。
2. 矩阵转置
【问题描述】输入n行m列矩阵,输出转置矩阵。
输入:n,m,之后n行每行m个整数
输出:转置矩阵。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
GESP C++五级
单选题
1. 栈的进出规则()
A、先进先出 B、后进先出 C、随机访问 D、先进后出和后进先出都不对
2. 队列的特性()
A、LIFO B、FIFO C、FILO D、LILO
3. 二分查找代码,数组升序,目标不在数组时返回()
A、数组首地址 B、-1 C、0 D、数组长度
4. 链表和数组对比,链表优势()
A、随机访问快 B、插入删除不需要移动大量元素 C、内存连续 D、访问下标O(1)
5. 前缀和数组作用()
A、快速求区间和 B、快速排序 C、递归计算 D、图遍历
判断题
1. 栈可以用来做括号匹配。()
2. 队列可以BFS广度优先搜索。()
3. 链表支持下标直接访问。()
4. 前缀和求区间[l,r]和公式 s[r]-s[l-1]。()
5. 二分查找时间复杂度O(logn)。()
编程题
1. 括号匹配
【问题描述】输入只含()的字符串,判断括号是否合法匹配。
输入:字符串
输出:Yes / No。
2. 滑动窗口求和
【问题描述】给定数组,求长度k的连续子数组最大和。
输入:n,k,n个整数
输出:最大值。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
GESP C++六级
单选题
1. vector属于哪个头文件()
A、<iostream> B、<vector> C、<algorithm> D、<cmath>
2. sort函数默认排序方向()
A、降序 B、升序 C、随机 D、逆序
3. 01背包每件物品()
A、只能选一次 B、可无限选 C、最多选k次 D、不能选
4. string::size()返回值类型是()
A、int B、size_t C、char D、double
5. priority_queue默认是()
A、小根堆 B、大根堆 C、队列 FIFO D、栈
判断题
1. STL string可以直接用+拼接字符串。()
2. 完全背包物品可以无限选取。()
3. sort需要包含<algorithm>头文件。()
4. map存储无序键值对。()
5. vector可以动态扩容。()
编程题
1. 采药(01背包)
【问题描述】给定时间T,若干草药,每种草药有采摘耗时与价值,每种只能采一次,求最大价值。
输入:T,n,之后n行time,val
输出:最大价值。
2. 数字三角形
【问题描述】数字三角形,从顶部走到底层,每次只能左下或右下,求路径最大和。
输入:层数n,三角形数字
输出:最大路径和。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
GESP C++七级
单选题
1. DFS深度优先搜索用什么结构辅助()
A、队列 B、栈 C、堆 D、哈希表
2. BFS广度优先搜索一般用()
A、栈 B、队列 C、树 D、优先队列
3. 记忆化搜索目的()
A、减少重复计算 B、简化代码 C、节省输入 D、提高空间
4. 区间DP状态一般表示()
A、一段区间[i,j]最优解 B、单点状态 C、图边 D、树节点
5. 子集枚举,n个元素总子集数()
A、n B、n² C、2ⁿ D、n!
判断题
1. BFS适合求无权图最短路径。()
2. 记忆化搜索属于动态规划。()
3. DFS一定会栈溢出。()
4. 状态压缩DP适合n很小的子集问题。()
5. 剪枝可以减少搜索分支。()
编程题
1. 迷宫BFS
【问题描述】n*m迷宫,'.'通路,'#'墙,起点到终点最短步数,不能斜走。
输入:n,m,迷宫地图,起点终点坐标
输出:最短步数,无法到达输出-1。
2. 最长上升子序列
【问题描述】给定序列,求最长严格上升子序列长度。
输入:n,数组
输出:长度。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
GESP C++八级
单选题
1. Floyd求多源最短路复杂度()
A、O(n) B、O(n²) C、O(n³) D、O(m log n)
2. Dijkstra算法适用图()
A、带负权边 B、无负权边 C、带负环 D、无向图必不行
3. 并查集可以解决()
A、连通性判断 B、最短路径 C、拓扑排序 D、强连通分量
4. 拓扑排序适用()
A、有向无环图DAG B、无向图 C、带环图 D、完全图
5. Kruskal最小生成树用()辅助合并集合
A、栈 B、队列 C、并查集 D、堆
判断题
1. Kruskal按边权从小到大选边。()
2. 并查集路径压缩优化降低查询复杂度。()
3. Dijkstra可以处理负权边。()
4. 拓扑排序可以判断图有无环。()
5. Prim适合稠密图求最小生成树。()
编程题
1. 最小生成树(Kruskal)
【问题描述】无向图,求最小生成树总边权;无法生成输出-1。
输入:n点m边,每行u,v,w
输出:总权值。
2. 最短路Dijkstra
【问题描述】n个点m条无向边,边权正数,求1号点到n号点最短路径长度。
输入:n,m,m行u,v,w
输出:最短距离,不可达输出-1。
有帮助,赞一个