GESP2024年3月认证C++二级( 第一部分选择题(1-8))


🌟 第一题:神秘流程图的成绩判断

1、这题是一个流程图判断输出什么。

答案是:B、 良好


2、🎬 流程分析:

小杨参加考试,老师画了一个"判断成绩"的机器:

  • 如果分数 ≥90 → 优秀

  • 如果分数 ≥60 → 良好

  • 否则 → 不及格

题目给的数刚好落在"良好"的区间。


3、💡 关键知识:

本流程图本质 = if-else 判断

cpp 复制代码
if(条件1)
    ...
else if(条件2)
    ...
else
    ...

这个流程图就是穿了西装的 if 语句!



🌟 第二题:变量名字大赛

1、问:哪个名字不合法?

答案:B 、2_from


2、🎬 变量命名:

(1)变量名字就像小朋友起名字。


(2)规则是:

✅ 可以有字母

✅ 可以有下划线

✅ 可以有数字(但不能开头)

❌ 不能数字开头!


(3)所以:

cpp 复制代码
2_from ❌(数字开头)

其他都合法。



🌟 第三题:谁不是分支结构?

1、下列选项中,不能用于表示分支结构的C++保留字是?

答案:B、 return


2、🎬 分支结构:

(1)程序王国里有"分叉路口":

  • if

  • else

  • switch

它们是选择道路的。


(2)但是:

cpp 复制代码
return

是"直接回家"的命令,不属于分支结构。



🌟 第四题:谁说错了?

1、说法错误的是?

答案:C 在C++中可以使用 foreach 循环


2、🎬 C++中循环有几种:

(1)C++王国里有:

  • for

  • while

  • do while


(2)但没有 foreach 这个关键字!(那是其他语言的)

所以 C 错。



🌟 第五题:谁不是 8?

1、谁不是 8

答案:B min(max(8,9),10)


2、🎬 我们算一算:

A️、 abs(-8) → 8

C️、 int(8.88) → 8

D️、sqrt(64) → 8


3、为啥B错了:

cpp 复制代码
max(8,9) = 9
min(9,10) = 9

所以 B = 9 ❌

这是函数的嵌套,要按照顺序一步一步的算。



🌟 第六题:神秘计算

1、下面C++代码执行后的输出是?

答案:C 、26


2、🎬 代码算一算:

这题代码是多次叠加计算。

(1)第一步:


cpp 复制代码
int n,a,m,i;
n=3, a = 5;
m = (a - 1) * 2;  //m = (5-1)*2 = 8

(2)第二步:

cpp 复制代码
for (i=0; i<n-1; i++)
    m = (m - 1) * 2;

循环2次:

第一次:m = (8-1)*2 = 14

第二次:m = (14-1)*2 = 26

结果算出来是 26。


(3)👉 这类题目一定要:

1️⃣ 写出每一步

2️⃣ 按照步骤进行模拟



🌟 第七题:平方魔法

1、下面C++代码执行后的输出是?

答案:D 、81


2、🎬 代码的含义:

(1)代码在找:

"n 的最大平方因子"

n = 81

81 = 9²

所以输出 81。


(2)💡 关键知识:

cpp 复制代码
while (i * i <= n){
    if (n % (i * i) == 0)
        result = i * i;
    i += 1;
}
cout << result;

是在找平方数因子!



🌟 第八题:循化有几次?

1、先看代码:

cpp 复制代码
int s,t,ans;
s = 2, t = 10;
ans = 0;
while (s != t){
    if (t % 2 == 0 && t / 2 >= s)
        t /= 2;
    else
        t -= 1;
    ans += 1;
}
cout << ans;

答案:B、3


2、🎬 我们一步步算:

(1)第一步:

cpp 复制代码
if (t % 2 == 0 && t / 2 >= s)
    t /= 2;    // t = 5

ans = 1


(2)第二步:

cpp 复制代码
if (t % 2 == 0 && t / 2 >= s)
    t /= 2;
else
    t -= 1;    // t = 4

ans = 2


(3)第三步:

cpp 复制代码
while (s != t){
    if (t % 2 == 0 && t / 2 >= s)
        t /= 2;  // t = 2

ans = 3


(4)第四步:

cpp 复制代码
while (s != t){   // s = t = 2  退出循环

(5)第五步:

cpp 复制代码
cout << ans;

输出: 3


相关推荐
baivfhpwxf20231 分钟前
ACS X轴回零程序 项目实战版
网络·数据库·算法
一叶落43815 分钟前
LeetCode 219. 存在重复元素 II(C语言详解)
算法·哈希算法·散列表
像污秽一样17 分钟前
算法设计与分析-习题2.4
数据结构·算法·排序算法
不想看见40418 分钟前
Reverse Bits位运算基础问题--力扣101算法题解笔记
笔记·算法·leetcode
罗湖老棍子42 分钟前
【例 2】数星星 Stars(信息学奥赛一本通- P1536)
数据结构·算法·树状数组·单点修改 区间查询
逆境不可逃1 小时前
LeetCode 热题 100 之 394. 字符串解码 739. 每日温度 84. 柱状图中的最大矩形
算法·leetcode·职场和发展
sycmancia1 小时前
C++——动态内存分配、关于虚函数、关于继承中的强制类型转换
开发语言·c++
重生之后端学习1 小时前
62. 不同路径
开发语言·数据结构·算法·leetcode·职场和发展·深度优先
小资同学1 小时前
考研机试 -Kruskal算法
算法
big_rabbit05021 小时前
[算法][力扣283]Move Zeros
算法·leetcode·职场和发展