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


相关推荐
坚持就完事了1 小时前
数据结构之堆(Java\Python双语实现)
java·数据结构·算法
自然语1 小时前
人工智能之数字生命-观察的实现
数据结构·人工智能·学习·算法
苦藤新鸡1 小时前
63.排序数组中找元素的第一个元素和最后一个元素
算法·leetcode
D_evil__1 小时前
【Effective Modern C++】第六章 lambda表达式:避免使用默认捕获模式
c++
苦藤新鸡1 小时前
59 分割回文串
算法
得一录1 小时前
LoRA(Low-Rank Adaptation)的原理和实现
python·算法·机器学习
We་ct2 小时前
LeetCode 106. 从中序与后序遍历序列构造二叉树:题解+思路拆解
前端·数据结构·算法·leetcode·typescript
iAkuya2 小时前
(leetcode)力扣100 72每日温度(栈)
算法·leetcode·职场和发展
weixin_477271692 小时前
掾象:援助,辅佐。基于马王堆帛书《周易》原文及甲骨文还原周朝生活活动现象(《函谷门》原创)
算法·图搜索算法