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


🏰 第1题 ------ 磁心存储像什么?

1、题目问:

1972年的磁心存储元件,相当于现代计算机的什么?

A. 内存

B. 磁盘

C. CPU

D. 显示器


2、✅ 正确答案:A 内存


3、🎬 形象解释

(1)想象电脑是一座城堡 🏰

  • 👑 CPU = 国王(负责思考计算)

  • 📺 显示器 = 窗户(给我们看结果)

  • 💾 磁盘 = 仓库(长期存东西)

  • 🧠 内存 = 书桌(正在用的东西放这里)


(2)磁心存储"存储周期 2μs",2μs是转瞬即逝,

说明它是用来快速存数据的

所以它相当于计算机的:

👉 内存(RAM)



🌍 第2题 ------ A类地址有多少个?

1、题目问:

IPv4有多少个A类网络?

选项里有:A/B都大的离谱,只考虑看C、D

C. 126

D. 128


✅ 正确答案:C 126


2、🎬简单解释

(1)IPv4有32位。

cpp 复制代码
第一段可用范围:1~126

(2)为什么不是128呢?

因为:

  • 0 开头留作特殊用途

  • 127 是回环地址(本机测试)


(3)所以真正可用的是:

👉 1~126

👉 共 126 个


3、知识拓展

(1)、A类网络的基本结构

  • 地址范围:A类网络的地址范围从0.0.0.0到127.255.255.255。然而,并非所有地址都可用于实际网络分配。
  • 网络号与主机号:A类地址的第一个字节(8位)用于标识网络号,剩余的24位用于标识主机号。这意味着,A类网络可以拥有大量的主机。
  • 首位固定为0:A类地址的首位(最高位)固定为0,这是A类地址的一个显著特征。

(2)、A类网络数量的计算

  • 理论网络数量:由于A类地址的第一个字节用于标识网络,且首位固定为0,因此理论上可用的网络数量是27=128个(因为剩余7位可以自由组合)。
  • 实际可用网络数量:然而,在实际应用中,有两个网络号是被保留的,不能用于实际网络分配。这两个网络号分别是0.0.0.0(保留用于默认路由)和127.0.0.0(保留用于环回测试)。因此,实际可用的A类网络数量是128−2=126个。

(3)、A类网络的特点与应用

  • 适用于大型网络:由于A类网络可以拥有大量的主机(每个网络理论上可容纳约1677万台主机),因此它非常适合用于大型网络,如企业网络、校园网络等。
  • 子网划分:在实际应用中,为了更有效地利用IP地址资源,通常会对A类网络进行子网划分。通过子网划分,可以将一个大的A类网络划分为多个小的子网,每个子网可以拥有不同的主机数量,从而满足不同部门或不同应用的需求。
  • 私有地址段:A类地址中有一个私有地址段,即10.0.0.0到10.255.255.255。这个地址段专用于局域网内部通信,不通过公共互联网路由。这有助于保护局域网内部的安全性和隐私性。


🧾 第3题 ------ 哪个变量名不能用?

1、题目问:那个不能当变量?

A. ccf-gesp

B. ccf_gesp

C. ccfGesp

D. _ccfGesp


2、✅ 正确答案:A


3、🎬 形象讲解

(1)变量名像人的名字 👦

规则:

✔ 可以有字母

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

✔ 可以有下划线 _

❌ 不能有减号 -


(2)因为:

cpp 复制代码
ccf-gesp

(3)会被认为是:

cpp 复制代码
ccf 减 gesp

(4)所以 ccf-gesp 不能当变量名。



🔁 第4题 ------ for循环谁一样?

1、原题:

cpp 复制代码
for (int i = 1; i < 10; i++)

2、它的含义是:

i 从 1 到 9


3、选项里:

C. for (int i = 1; i < 10; ++i)

效果相同


4、✅ 正确答案:C


5、🎬 讲解

i++ 和 ++i 在fot循环这里,都是要经过条件判断,效果一样。


复制代码

➗ 第5题 ------ 数学小魔法

cpp 复制代码
cout << (5 / 2 + 5 % 3)

1、顺序计算:

第一步 5 / 2 = 2 (整数除法!)

第二步 5 % 3 = 2

第三步 2 + 2 = 4


3、✅ 正确答案:C 4


4、🎯 注意:

整数除法会丢掉小数!

cpp 复制代码
5 / 2 = 2

不是 2.5



🔢 第6题 ------ 输入 -2 和 3.14

1、题目问:输出不可能是什么?

选项:

A. 1

B. 1.14

C. 47

D. 将触发异常


2、✅ 正确答案:D


3、🎬 小侦探

(1)直观判断:

C++ 输入:

-2

3.14

无论出那个答案,它不会"崩溃"抛异常。


(2)所以:

👉 不可能触发异常,答案 D、将触发异常


(3)接下来,我们看下其他几个答案

cpp 复制代码
int a,b;
cin >> a;  // -2
cin >> b;  //3.14
cout << (a + b);  //输出1
cpp 复制代码
int a;
double b;
cin >> a;  //-2
cin >> b;  //3.14
cout << (a + b);  //输出1.14
cpp 复制代码
char a;
int b;
cin >> a;        // '-' 抓取第一个字符,减号"-"的ASCII码值为 45(十进制)
cin >> b;        //  2 后面有空格,抓取int型数字2
cout << (a + b); // 输出45+2的结果,为47


🔢第7题 ------ 怎么取个位?

1、假设 N 是正整数。

A. N % 10

B. N / 10

C. N && 10

D. 都不对


2、✅ 正确答案:A


3、🎬 讲解

举例:

cpp 复制代码
N = 123
cpp 复制代码
123 % 10 = 3

4、%10 就是"砍掉前面,只留最后一位"。

这是取个位的标准操作!




🔁 第8题 ------ break 的小秘密

1、先看代码:

cpp 复制代码
for (i = 0; i < 10; i++){
    if (i % 2)
        break;
    cout << "0#";
}
if(i==10) cout << "1#";

2、🎬 一步步执行

(1)i = 0

0 % 2 = 0 ❌ 不成立

输出:0#


(2)i++ → 1

1 % 2 = 1 ✅ 成立

执行 break

循环结束!


(3)此时:

i = 1


(4)下面判断:

cpp 复制代码
if(i==10)

1 ≠ 10

不输出。


(5)最终输出:

cpp 复制代码
0#

✅ 正确答案:A


相关推荐
阿猿收手吧!2 小时前
【C++】syncstream:多线程安全输出的终极方案
c++·安全
「QT(C++)开发工程师」2 小时前
Day 1:信号槽原理深入
c++·qt
石去皿2 小时前
算法面试通关指南:高频考点+解题模板+避坑实战
算法·面试·职场和发展
Frostnova丶2 小时前
LeetCode 799. 香槟塔
算法·leetcode
蒸蒸yyyyzwd2 小时前
力扣刷题笔记
笔记·算法·leetcode
Anastasiozzzz2 小时前
三色标记法:并发垃圾回收的核心算法与漏标问题攻防战
算法
gfdgd xi2 小时前
GXDE OS 25.3.1 更新了!修复更多 bug 了!
linux·c++·操作系统·bug·deepin
Trouvaille ~2 小时前
【Linux】TCP vs UDP深度对比:如何选择与用UDP实现可靠传输
linux·网络·c++·tcp/ip·udp·操作系统
小刘的大模型笔记2 小时前
POP原理落地到实际微调
数据库·人工智能·深度学习·算法·机器学习