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=12/1=2
  • i=4, j=24/2=2
  • i=5, j=2 →5/2=2
  • i=6, j=36/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开始排,

超出范围别乱来!


相关推荐
stellanke21 分钟前
Linux网络编程实战2:TCP Socket 基础与实践
linux·网络·c++
蒸蒸yyyyzwd32 分钟前
机试和Redis学习笔记
c++·笔记·面试
tdtsmt1 小时前
2026年SMT贴片加工选型指南:天地通电子推荐参考
c++
一木 之林1 小时前
插件、MCP、Skill 的区别?
java·c++·人工智能
ShineWinsu2 小时前
对于MySQL:内置函数的解析
linux·数据库·c++·mysql·面试·函数·查询
程序猿编码4 小时前
纯C++轻量计算机视觉推理引擎:基于GGML的端侧CV模型部署技术全解析
开发语言·c++·计算机视觉·大模型·transformer
Tairitsu_H5 小时前
[C++] C++11新增构造:列表初始化和std::initializer_list
开发语言·c++·c++11·构造
hansang_IR5 小时前
【题解】P4456 [CQOI2018] 交错序列(矩阵乘法)
c++·线性代数·算法
CodeStats6 小时前
【Java数据类型】Java底层数据类型原理(上):基本类型、转换与封装核心
java·数据类型·string·封装·转换
光电笑映6 小时前
Linux 线程同步与互斥:锁的本质、条件变量与信号量的底层原理
linux·运维·服务器·开发语言·c++