GESP C++ 三级模拟卷2(数据编码、进制转换、位运算、字符串处理、数组模拟、枚举法与模拟法)
选 单选题(共 15 题,每题 2 分)
表达式 (5 | 3) 的值是( )
执行以下代码后,输出的结果是( )
string s = "hello";
cout << s.find("e");
释放 int *p = new int[10]; 所分配内存的正确方式是( )
二进制数 101101 转换为十进制数是( )
十进制数 -3 的 8 位二进制补码表示为( )
执行以下枚举算法代码,输出的结果是( )
int cnt = 0;
for (int a = 1; a <= 9; a++) {
for (int b = 0; b <= 9; b++) {
if (a * b == 24) cnt++;
}
}
cout << cnt;
执行以下代码后,输出的结果是( )
string s = "Hello World";
int cnt = 0;
for (int i = 0; i < s.length(); i++) {
if (s[i] >= 'a' && s[i] <= 'z') cnt++;
}
cout << cnt;
执行以下代码后,输出的结果是( )
int a[5] = {2, 4, 6, 8, 10};
int s = 0;
for (int i = 0; i < 5; i++) {
if (i % 2 == 0) s += a[i];
}
cout << s;
8 位二进制补码 11111001 表示的十进制数是( )
表达式 (12 ^ 5) 的值是( )
将十进制数 255 转换为十六进制数是( )
执行以下代码后,输出的结果是( )
int a[6] = {0};
for (int i = 1; i <= 5; i++) {
for (int j = i; j <= 5; j++) {
a[j]++;
}
}
int s = 0;
for (int i = 1; i <= 5; i++) {
s += a[i];
}
cout << s;
执行以下代码后,输出的结果是( )
int a[8] = {1, 2, 3, 4, 5, 6, 7, 8};
int s = 0;
for (int i = 0; i < 8; i++) {
if (a[i] % 2 == 1) s++;
}
cout << s;
执行以下代码后,输出的结果是( )
int cnt = 0;
for (int i = 1; i <= 50; i++) {
if (i % 3 == 0 && i % 5 == 0) cnt++;
}
cout << cnt;
执行以下代码后,变量 a 的值是( )
int a = 0, b = 1, c;
for (int i = 1; i <= 4; i++) {
c = a + b;
a = b;
b = c;
}
cout << a;
判 判断题(共 10 题,每题 2 分)
二进制数 1010 转换为十进制数是 10。( )
C++ 中 string 类型的 find() 函数在找不到子串时返回 0。( )
C++ 中 delete 和 delete[] 不能互换使用。( )
一维数组在内存中占用连续的存储空间。( )
使用 new 分配的动态数组,大小在分配后不能再改变。( )
在 C++ 中,表达式 (7 & 3) 的值为 3。( )
枚举法在问题规模较大时,可能会因为需要验证的情况过多而效率较低。( )
十六进制数 2F 转换为十进制数的结果是 47。( )
在 C++ 中,定义数组 int a[10]; 后,可以使用 a[10] = 5; 对数组元素赋值。( )
使用 new 关键字分配的内存位于堆(heap)上。( )
编 编程操作题(共 2 题,共 50 分)
试题名称:回文数判断
时间限制:1.0 s | 内存限制:512.0 MB
给定一个正整数 N,请判断它是否是回文数。回文数是指正读和反读都一样的数。
输入格式
一行,一个正整数 N(1 ≤ N ≤ 10⁹)。
输出格式
如果是回文数,输出 Yes;否则输出 No。
样例输入 #1
12321
样例输出 #1
Yes
样例输入 #2
12345
样例输出 #2
No
试题名称:数组循环右移
时间限制:1.0 s | 内存限制:512.0 MB
给定 N 个整数和一个非负整数 K,将数组中的每个元素向右循环移动 K 个位置。右边的元素移出后从左边重新进入。
例如:数组 [1, 2, 3, 4, 5],K=2,结果为 [4, 5, 1, 2, 3]。
输入格式
第一行,两个整数 N 和 K(1 ≤ N ≤ 1000,0 ≤ K ≤ 10⁹)。
第二行,N 个整数,每个整数的绝对值不超过 10000,数之间用空格分隔。
输出格式
一行,N 个整数,表示循环右移 K 位后的数组,数之间用一个空格分隔。
样例输入 #1
5 2
1 2 3 4 5
样例输出 #1
4 5 1 2 3