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)str[5] 越界了

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

这叫:

🚨 越界访问


(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) ch[2] 对应的是'\0'

所以什么也不会输出。

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


3、✅ 第8题答案:D


🎁 今日知识宝箱

🌟 数组口诀

什么类型装什么货,

装错东西会出祸!


🌟 字符串口诀

下标从0开始排,

超出范围别乱来!


相关推荐
俺不要写代码2 小时前
lambda表达式理解
c++·算法
澈2072 小时前
动态内存管理:从基础到实战详解
c++·算法
想唱rap2 小时前
C++11之包装器
服务器·开发语言·c++·算法·ubuntu
wuminyu2 小时前
专家视角看Java的线程是如何run起来的过程
java·linux·c语言·jvm·c++
REDcker2 小时前
C++ std::move实现原理与vector扩容移动语义
开发语言·c++·c
脱氧核糖核酸__2 小时前
LeetCode热题100——48.旋转图像(题解+答案+要点)
c++·算法·leetcode
宵时待雨2 小时前
优选算法专题2:滑动窗口
数据结构·c++·笔记·算法
我叫Ycg2 小时前
C++ 中关于插入函数insert() 与 emplace() 的区别与使用建议
开发语言·c++
谭欣辰2 小时前
区间动态规划精解
c++·动态规划