GESP2023年12月认证C++三级( 第一部分选择题(1-8))


🎯 第1关:数组仓库的箱子

1、题目:

下面数组定义中,会丢失数据的是( )

A.

复制代码
char dict_key[] = {'p','t','o'};

B.

复制代码
int dict_value[] = {33,22,11};

C.

复制代码
char dict_name[] = {'chen','wang','zhou'};

D.

复制代码
float dict_value[] = {3,2,1};

2、🧠 故事讲解:

数组就像一排储物箱,每个箱子只能装规定的东西。


✅ A:字符箱子装字符

复制代码
'p' 't' 'o'

每个都是一个字符,没问题!


✅ B:整数箱子装整数

复制代码
33 22 11

完全正确!


❌ C:字符箱子塞大字符串

复制代码
'chen'
'wang'
'zhou'

char 只能装 一个字符 ,像 'c'。

这里却塞进一整串字母,就像把西瓜塞进铅笔盒 🍉📦

会丢失数据!


✅ D:小数箱子装数字

复制代码
float

可以装整数,也能自动变成:

复制代码
3.0 2.0 1.0

没问题!


✅ 第1题答案:C



🎯 第2关:二进制密码门

1、题目:

二进制:

复制代码
11011101

不能和它相等的是( )

A. 221(十进制)

B. 335(八进制)

C. dd(十六进制)

D. 5d(十六进制)


2、🧠 故事讲解:

先把二进制变成十进制:

复制代码
11011101
=128+64+16+8+4+1
=221

3、看选项:

✅ A:221

一样!

✅ B:335(八进制)

换算后也是 221。

✅ C:dd(16进制)

d=13

复制代码
13×16+13=221

❌ D:5d

复制代码
5×16+13=93

不是 221!


✅ 第2题答案:D



🎯 第3关:字符串魔法书

1、题目:

下面代码执行后,不能输出 "GESP" 的是( )


A

复制代码
string str("GESP");
cout << str;

输出 GESP ✅


B

复制代码
string str = "GESP";
cout << str;

输出 GESP ✅


C

复制代码
string str("GESP");
cout << str[1] << str[2] << str[3] << str[4];

🧠 重点!

字符串位置从 0 开始:

位置 字符
0 G
1 E
2 S
3 P

但这里访问了:

复制代码
cout << str[1] << str[2] << str[3] << str[4]; //索引不正确

超出范围啦!🚨

所以不能正确输出 GESP。


D

复制代码
string str{"GESP"};
cout << str;

也能输出 GESP ✅


✅ 第3题答案:C



🎯 第4关:神秘代码箱

1、题目结果:

输出是( )

A. 10

B. 8

C. 4

D. 3

答案:C


2、循环判定:

  1. 外层循环 :i从1到6(共6次)。
  2. 内层循环 :j从1到4(共4次)。
  3. 条件判断 :i/j == 2时,temp++。

满足条件的情况:

  • i=2, j=1 → 2/1=2
  • i=4, j=2 → 4/2=2
  • i=5, j=2 →5/2=2
  • i=6, j=3 → 6/3=2

总计4次 ,temp最终值为4


✅ 第4题答案:C



🎯 第5关:数字机关门

1、题目结果:

输出是( )

A. 4

B. 2

C. 5

D. 3

答案:C


2、🧠 故事讲解:

(1)先判断字符串的长度:

cpp 复制代码
string str = ("chen");
int x = str.length();

长度 x= 4


(2)要看循环次数:

cpp 复制代码
for(int i =0; i<=x ; i++)

循环次数是0~4,一共是5次。


3、✅ 第5题答案:C



🎯 第6关:字符串长度

1、题目结果:

输出是( )

A. 4

B. 3

C. 2

D. 5

答案:A


2、🧠 故事讲解:

(1) 字符串:"chen" ,有4个字母。

cpp 复制代码
'c' 'h' 'e' 'n'

(2)length() 就是求string的长度

cpp 复制代码
str.length()  //  等于4

3、✅ 第6题答案:A



🎯 第7关:字符宝箱

1、题目结果:

输出的是( )

A. 输出未知的数

B. 输出 'n'

C. 输出 '\0'

D. 输出空格

答案:A


2、🧠 故事讲解:

(1)string str 所有字符的索引:

cpp 复制代码
'c' 'h' 'e' 'n' '\0'
 0   1   2   3    4

(2)str5 越界了

没有这个位置,你确要访问,

这叫:

🚨 越界访问


(3)🌟 所以输出可能乱七八糟


3、✅ 第7题答案:A



🎯 第8关:空气输出术

1、题目结果:

输出是( )

A. 0

B. 1

C. 输出空格

D. 什么也不输出

答案:D


2、🧠 故事讲解:

什么也不输出,说明程序虽然运行了,但没有真正打印内容。


(1)🌟 字符数组 ch 的构成:

cpp 复制代码
'1' '\0' '\0''\0' '\0' '\0' '\0' '\0' '\0' '\0' 
 0    1    2   3    4    5    6    7    8    9

(2) ch2 对应的是'\0'

所以什么也不会输出。

打印空字符串,看不到内容。


3、✅ 第8题答案:D


🎁 今日知识宝箱

🌟 数组口诀

什么类型装什么货,

装错东西会出祸!


🌟 字符串口诀

下标从0开始排,

超出范围别乱来!


相关推荐
weixin_424183613 小时前
开放—封闭原则实战(下):基于策略的流程编排与编译期多态
c++·分布式·系统架构
wuminyu4 小时前
C++协程实现接收端的零拷贝Buffer管理原理剖析
java·linux·c语言·jvm·c++
m0_380743874 小时前
C++中的freopen的用法实例详解
开发语言·c++
jimy15 小时前
polymorph.cpp里面的“析构函数、智能指针”问题
开发语言·c++
朝朝辞暮i5 小时前
C++ 第 6 课:switch —— 多状态选择
开发语言·c++·算法
朝朝辞暮i6 小时前
C++ 第 4 课:if / else —— 让程序自己做决定
开发语言·c++
苏打豆6 小时前
Pinocchio源码阅读——刚体运动物理量空间变换及求导
c++·线性代数·算法·矩阵·机器人
m0_380743876 小时前
Qt中导航栏实现的详细指南
开发语言·c++
估值探索者6 小时前
【Python量化策略实战 #02】多因子合成mom和vol两因子打分合成
开发语言·c++·python·数据挖掘·c#
思麟呀6 小时前
位运算:从一个整数到一个集合
c语言·数据结构·c++·算法