#G3OBJ01. GESP C++ 三级真题客观题|一级/二级累计基础
GESP C++ 三级真题客观题|一级/二级累计基础
01|2025-03-L3-TF-01
判断一个三角形是否成立的条件只有:任意两边长度之和大于第三条边的长度。
校注版说明(作答前常显):按边长为正数的通常数学语义,学生训练答案为T;官方答案F可能额外考虑原题未写明的输入合法性或正数检查。
{{ select(1) }}
- 正确
- 错误
02|2025-03-L3-TF-03
闰年的定义:
普通闰年:公历年份是 4 的倍数,且不是 100 的倍数的,为闰年(如 2004 年、2020 年等就是闰年)。
世纪闰年:公历年份是整百数的,必须是 400 的倍数才是闰年(如 1900 年不是闰年,2000 年是闰年)。
下面程序是判断是否是闰年的正确程序。

{{ select(2) }}
- 正确
- 错误
03|2025-03-L3-TF-04
C++ 语句 cout<<((n%15==0? "YES":"NO")); 能够判断一个整数能否被 3 和 5 同时整除。
{{ select(3) }}
- 正确
- 错误
04|2025-03-L3-TF-05
有 n 个同学,从中抽取任意个人数来参加学校组织的大合唱,共有 2 的 n 次幂个方法。
{{ select(4) }}
- 正确
- 错误
05|2025-03-L3-SC-07
在 C++ 中,以下代码的输出是什么( )

{{ select(5) }}
- -5
- 5
- 4294967291
- 编译错误
06|2025-03-L3-TF-07
该段程序将 n 不停地除以 2,并输出此时的商和余数,直到 n=0 为止。

{{ select(6) }}
- 正确
- 错误
07|2025-06-L3-TF-01
C++中 string 的 == 运算符比较的是字符串的内存地址,而非内容
{{ select(7) }}
- 正确
- 错误
08|2025-06-L3-TF-03
x 是浮点数,(x >> 1)等价于 x / 2
{{ select(8) }}
- 正确
- 错误
09|2025-06-L3-TF-05
sort 可以直接用于排序 set 中的元素。
{{ select(9) }}
- 正确
- 错误
10|2025-06-L3-TF-08
在数学纸面计算中,pow(2, 3) 的计算结果一定是8,但是在C++中,如果遇到数据类型是浮点数,那就不一定正确。
{{ select(10) }}
- 正确
- 错误
11|2025-06-L3-TF-09
在 C++ 中,枚举的底层类型可以是非整型(如 float 或 double)。
{{ select(11) }}
- 正确
- 错误
12|2025-06-L3-SC-15
字符串"Gesp考试",字符数是( )
{{ select(12) }}
- 10
- 8
- 6
- 字符数多少取决于编码
13|2025-09-L3-SC-01
执行以下C++代码后,c 的数值是( )。

{{ select(13) }}
- 3.33333
- 3.333
- 3.0
- 3.3
14|2025-09-L3-TF-01
表达式 sizeof('a') 的结果总是 1,因为 'a' 是一个字符。
校注版说明(作答前常显):校注版:学生判题T,与官方答案表F不同。C++11中普通字符字面量的类型为char,sizeof(char)==1;官网原题与官方答案均保留,不静默覆盖。
{{ select(14) }}
- 正确
- 错误
15|2025-09-L3-SC-02
下列C++表达式的结果为true的是( )。
{{ select(15) }}
- (5 <= 5) && (7 < 5)
- !(10 > 5)
- (10 != 10) || (5 >= 3)
- (5 == 3) && (4 > 2)
16|2025-09-L3-TF-03
do { ... } while (false); 循环体内的语句至少会被执行一次。
{{ select(16) }}
- 正确
- 错误
17|2025-09-L3-TF-04
在C++中, ++i 是一个左值表达式,而 i++ 是一个右值表达式。
{{ select(17) }}
- 正确
- 错误
18|2025-09-L3-TF-07
在C++中, char 类型的取值范围总是 -128 到 127。
{{ select(18) }}
- 正确
- 错误
19|2025-09-L3-SC-08
以下C++代码 count++ 执行的次数是( )。

{{ select(19) }}
- 2
- 3
- 4
- 0
20|2025-09-L3-TF-08
表达式 a > b ? a : b = 10; 一定是合法的C++代码。
{{ select(20) }}
- 正确
- 错误
21|2025-09-L3-SC-11
关于以下代码的说法正确的是( )。

校注版说明(作答前常显):官网原题、官方答案D、页码和PDF哈希永久保留。原题D中的1463847412并非严格最大值;学生训练版按C++11、32位int且反转过程不溢出的安全语义,将D收敛为2147483641。学生答案仍为D。
{{ select(21) }}
- 能够反转任何位数的整数
- 能够反转的最大位数正整数是 2147483647
- 能够反转的最大位数正整数是 2147483648
- 在32位int且反转过程不溢出的前提下,能够安全反转的最大正整数是2147483641。
22|2025-12-L3-TF-02
整型变量 a 的值为 3,浮点数变量 b 的值为 3.5,在 C++ 编译环境下,经过 a *= b 计算后,a 的值变为 10.5,此时如果输出 a,将输出 10.5。
{{ select(22) }}
- 正确
- 错误
23|2025-12-L3-SC-03
下列代码段执行后,变量 sum 的值是( )

{{ select(23) }}
- 12
- 17
- 33
- 40
24|2025-12-L3-TF-04
以下代码输出结果为 8。

{{ select(24) }}
- 正确
- 错误
25|2025-12-L3-SC-05
已知字符串 s = "C++ Programming",下列程序运行的结果是( )

{{ select(25) }}
- 14
- 15
- 16
- 17
26|2025-12-L3-SC-06
以下代码是一个程序的部分代码,能够正确执行,输出的结果是( )

{{ select(26) }}
- 1
- 2
- 3
- 4
27|2025-12-L3-SC-07
以下关于 C++ 求最小值函数 min() 的描述,不正确的是( )
{{ select(27) }}
- 函数必须返回一个值
- 该函数可以嵌套调用
- 调用 min(5) 是错误的,不能通过编译
- 调用 min()(不传任何参数)可以通过编译,结果为 0
28|2025-12-L3-TF-08
在 C++ 中,++ 和 -- 运算符只能用于整型变量,不能用于浮点数变量。
{{ select(28) }}
- 正确
- 错误
29|2025-12-L3-SC-11
整型变量 x 的初始值为 10,以下代码的输出结果是( )

{{ select(29) }}
- 0
- -1
- 1
- 死循环
30|2025-12-L3-SC-14
以下关于 C++ 中 abs() 函数的描述,正确的是( )
{{ select(30) }}
- abs() 函数可用于计算 int 类型整数的绝对值,头文件为 <cmath> 或 <cstdlib>
- 调用 abs(3.14) 可以四舍五入得到 3
- abs(-1, -2) 的返回值是 1
- 若传入负数浮点数,abs() 会自动截断小数部分后返回整数绝对值
31|2025-12-L3-SC-15
如果字符串 s 的值是 GESP,以下代码 s 的最后结果是( )

{{ select(31) }}
- GESP
- HFTR
- hesp
- GFUS
32|2026-03-L3-SC-01
如果字符变量 _1 的值是字符 1,那么 (int) _1 的值是?( )。
{{ select(32) }}
- 1
- -1
- 49
- +1 或者 -1
33|2026-03-L3-SC-02
a、b 是整型变量,各自有互不相同的初始值。下列程序实现了什么效果( )。

{{ select(33) }}
- a、b 的值从始至终都没有改变。
- a、b 的值实现了互换。
- a、b 的值互换了以后,又还回去了,相当于没有变化。
- a、b 的值最后和原值不一样,没有任何意义。
34|2026-03-L3-SC-11
执行以下代码后,输出结果是( )。

{{ select(34) }}
- 4
- 6
- 24
- 30
35|2026-03-L3-SC-12
执行以下代码后,输出结果是( )。

{{ select(35) }}
- 4
- 5
- 6
- 10
36|2026-06-L3-TF-04
判断某个数是否是质数,枚举范围可适当缩小(遍历到 √i 而非 i),提升效率。
{{ select(36) }}
- 正确
- 错误
37|2026-06-L3-TF-08
某个初学 C++ 的学生,在对照参考程序写了一个程序以后,信心满满地进行编译,他敲进编译器的全部代码如下,这个程序能够正常编译运行。

{{ select(37) }}
- 正确
- 错误
38|2026-06-L3-TF-09
代码逐行复刻手工运算步骤,中间不能增加任何判断逻辑,否则就不属于模拟算法。
{{ select(38) }}
- 正确
- 错误
39|2025-09-L3-SC-04
执行以下C++代码后,变量 sum 的值是( )。

{{ select(39) }}
- 6
- 9
- 15
- 死循环
40|2025-12-L3-SC-04
执行以下程序段,输出值是( )

{{ select(40) }}
- 0
- 5
- 120
- 1
41|2025-12-L3-TF-07
C++ 表达式 z = a > b ? x : y 等同于:


{{ select(41) }}
- 正确
- 错误
42|2025-12-L3-TF-10
以下代码中,Hello 将被输出5次。

{{ select(42) }}
- 正确
- 错误
43|2026-03-L3-SC-04
关于以下程序段,说法正确的是( )。

校注版说明(作答前常显):作答前校注:本题按官网原题与官方答案A保留。表达式 x++ + (++x) 在C++11中对同一标量对象的两次修改未排序,行为未定义,不能稳定推导为20、21或22;这与2026-01-28认证标准“考题不会涉及未定义行为”的总注存在政策张力。本训练按C++11标准语义判A。
{{ select(43) }}
- C++11 标准中,这是未定义行为,不同的环境有可能出现不同的结果
- 22
- 21
- 20
44|2026-06-L3-TF-10
判断一个 int 型数字 s[i] 是不是在 0 和 9 之间(可以是 0 和 9),判断条件可以写为 if (s[i] >= '0' && s[i] <= '9')。
{{ select(44) }}
- 正确
- 错误
45|2025-06-L3-TF-10
函数声明 double f(); 返回 int 时,会自动转换为 double
{{ select(45) }}
- 正确
- 错误