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


相关推荐
Evand J11 小时前
【课题推荐】强跟踪UKF算法,三维非线性状态量和观测量,附MATLAB代码测试结果
开发语言·算法·matlab
haibindev12 小时前
别让AI再从零写一堆优美的屎山了
c++·ai编程·claude·流媒体·codex·代码复用
Zhang~Ling12 小时前
C++ 模板初阶:从函数模板到类模板
c++
蜕变的土豆12 小时前
Visual Studio编译时,报错windows sdk 不匹配,找不到windows sdk
c++
雪度娃娃12 小时前
转向现代C++——优先选用限定作用域的枚举型别,而非不限作用域的枚举型别
java·jvm·c++
咩咦12 小时前
C++学习笔记17:析构函数
c++·学习笔记·类和对象·构造函数·析构函数·动态内存
爱炸薯条的小朋友12 小时前
全局锁的性能优势,以及链路优化为何常常低于预期——基于 `MatPoolsTest` 中小图池与大图池的实战复盘
opencv·算法·c#
NCU_wander12 小时前
全品类存储芯片汇总/DRAM/flash/HBM
算法
Plan-C-12 小时前
二叉树的遍历
java·数据结构·算法