2023年6月 GESP C++ 3级
2023年6月 GESP C++ 3级认证考试真题(含编程操作题部分)
// questions
题目预览
高级语言编写的程序需要经过以下( )操作,可以生成在计算机上运行的可执行代码。
编辑
保存
调试
编译
二进制数 11.0111.0111.01 在十进制下是( )。
3.013.013.01
3.053.053.05
3.1253.1253.125
3.253.253.25
已知大写字符 'A' 的 ASCII 编码的十六进制表示为 0x41,则字符 'F' 的 ASCII 编码的十六进制表示为( )。
46
47
48
49
以下哪个不是 C++ 语言中的运算符?( )
&
&&
*
**
如果字符串定义为 char str[] = "Hello";,则字符数组 str 的长度为( )。
000
555
666
777
一个数组定义为 double array[3];,则这个数组占用内存的大小为( )。
242424
121212
666
333
以下数组定义,符合 C++ 语言语法的是( )。
int a[];
int b['3'];
int c[3.0];
int[3] d;
下列关于进制的叙述,不正确的是( )。
正整数的二进制表示中只会出现 000 和 111 。
101010 不是 222 的整数次幂,所以十进制数无法转换为二进制数。
从二进制转换为 888 进制时,可以很方便地由低到高将每 333 位二进制位转换为对应的一位 888 进制位。
从二进制转换为 161616 进制时,可以很方便地由低到高将每 444 位二进制位转换为对应的一位 161616 进制位。
下列关于 C++ 语言中数组的叙述,不正确的是( )。
数组必须先定义后使用。
数组的所有元素在内存中是连续存放的。
除了字符数组,在定义数组时 [] 内必须有常数。
不能对数组赋值,但可以对数组的每个基础类型的元素赋值。
一个 int 类型的值,做以下哪个操作,一定会变回原来的值?( )
左移 333 位,再右移 333 位。
右移 333 位,再左移 333 位。
按位或 777 ,再按位与 −8-8−8 。
按位异或 777 ,再按位异或 777 。
如果 aaa 和 bbb 均为 int 类型的变量,下列表达式能正确判断“aaa 等于 bbb”的是( )。
((a / b) == 1)
((a & b) == a)
((a ^ b) == 0)
((a | b) == b)
如果 aaa 为 int 类型的变量,下列哪个表达式可以正确求出满足“小于等于 aaa 且是 444 的倍数”的整数中最大的?( )
(a & (~3))
((a << 2) >> 2)
(a ^ 3)
((a - 1) | 3) + 1
在下列代码的横线处填写( ),可以使得输出是“24 12”。
a = a ^ b
b = a ^ b
a = a + b
b = a + b
在下列代码的横线处填写( ),可以使得输出是“2”。
min > array[i]
min < array[i]
min = array[i]
以上均不对。
在下列代码的横线处填写( ),可以使得输出不是“31”。
res = res + array[i]
res = res & array[i]
res = res | array[i]
res = res ^ array[i]
一个算法可以用不同的形式来描述,但要求描述比较规范,因此不能用自然语言描述。
域名是由一串用点分隔的名字来标识互联网上一个计算机或计算机组的名称,CCF 编程能力等级认证官方网站的域名是 gesp.ccf.org.cn,其中顶级域名是 gesp。
数据编码方式只有原码、反码、补码三种。
在 C++ 语言中,长度为 nnn 的数组,合理的下标范围是从 000 到 nnn,包括 000 和 nnn。
字符常量 '\0' 常用来表示字符串结束,它和字符常量 '0' 是不同的。
在 C++ 语言中,可以使用字符(如 '0')作为数组下标。
在 C++ 语言中,数组被定义时,它的大小就确定了。
计算机中存储的数据都是二进制形式。因此,在使用 C++ 语言编写程序时,将所有十进制数改写为相同数值的二进制数,会使得程序运行效率更高。
在 C++ 语言中,表达式 (0xf == 015) 的值为 true。
如果 aaa 为 int 类型的变量,且表达式 ((a | 3) == 3) 的值为 true,则说明 aaa 在从 000 到 333 之间(可能为 000、可能为 333)。
试题名称:春游
时间限制:1.0 s | 内存限制:128.0 MB
题目描述
老师带领同学们春游。已知班上有 NNN 位同学,每位同学有从 000 到 N−1N-1N−1 的唯一编号。到了集合时间,老师确认是否所有同学都到达了集合地点,就让同学们报出自己的编号。到达的同学都会报出自己的编号,不会报出别人的编号,但有的同学很顽皮,会多次报出。你能帮老师找出有哪些同学没有到达吗 ?。
输入格式
输入包含 222 行。第一行包含两个整数 NNN 和 MMM,表示班级有 NNN 位同学,同学们共有 MMM 次报出编号。约定 2≤N,M≤10002 \le N,M \le 10002≤N,M≤1000。
第二行包含 MMM 个整数,分别为 MMM 次报出的编号。约定所有编号是小于 NNN 的非负整数。
输出格式
输出一行。如果所有同学都到达,则输出 NNN;否则由小到大输出所有未到达的同学编号,空格分隔。
样例输入 #1
3 3
0 2 1
样例输出 #1
3
样例输入 #2
3 5
0 0 0 0 0
样例输出 #2
1 2
试题名称:密码合规
时间限制:1.0 s | 内存限制:512.0 MB
题目描述
网站注册需要有用户名和密码,编写程序以检查用户输入密码的有效性。合规的密码应满足以下要求 :
-
只能由 a∼z\texttt a \sim \texttt za∼z 之间 262626 个小写字母、A∼Z\texttt A \sim \texttt ZA∼Z 之间 262626 个大写字母、0∼90 \sim 90∼9 之间 101010 个数字以及
!@#$四个特殊字符构成。 -
密码最短长度 :6:6:6 个字符,密码最大长度 :12:12:12 个字符。
-
大写字母,小写字母和数字必须至少有其中两种,以及至少有四个特殊字符中的一个。
输入格式
输入一行不含空格的字符串。约定长度不超过 100100100。该字符串被英文逗号分隔为多段,作为多组被检测密码。
输出格式
输出若干行,每行输出一组合规的密码。输出顺序以输入先后为序,即先输入则先输出。
样例输入 #1
seHJ12!@,sjdkffH$123,sdf!@&12HDHa!,123&^YUhg@!
样例输出 #1
seHJ12!@
sjdkffH$123
说明/提示
【样例 1 解释】
输入被英文逗号分为了四组被检测密码:seHJ12!@、sjdkffH$123、sdf!@&12HDHa!、123&^YUhg@!。其中 sdf!@&12HDHa! 长度超过 12 个字符,不合规;123&^YUhg@! 包含四个特殊字符之外的字符不合规。