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 小时前
【51单片机按键调节占空比3位数码管显示】2023-8-24
c++·经验分享·笔记·算法·51单片机
.5482 小时前
## Sorting(排序算法)
python·算法·排序算法
wuweijianlove2 小时前
算法的平均复杂度建模与性能回归分析的技术7
算法·数据挖掘·回归
子琦啊3 小时前
【算法复习】字符串 | 两个底层直觉,吃透高频题
linux·运维·算法
徐某人..3 小时前
基于i.MX6ULL平台的智能网关系统开发
arm开发·c++·单片机·qt·物联网·学习·arm
无敌秋4 小时前
# C++ 简单工厂模式实战指南
c++·简单工厂模式
code_pgf4 小时前
Octo 算法详解-开源通用机器人策略模型技术报告
算法·机器人·开源
cany10004 小时前
C++ -- 模板的声明和定义
开发语言·c++
澈2074 小时前
深耕进阶 Day1:C 与 C++ 核心差异 + C++ 入门基石
c语言·开发语言·c++