#5601. GESP一级真题(202312)
GESP一级真题(202312)
C++ 一级 2023 年 12 月
1 单选题(每题 2 分,共 30 分)
- 以下 C++ 不可以作为变量的名称的是( )。 {{ select(1) }}
- CCF GESP
- ccFGESP
- CCFgesp
- CCF_GESP
- C++ 表达式 10 - 3 * (2 + 1) % 10 的值是( )。 {{ select(2) }}
- 0
- 1
- 2
- 3
- 假设现在是上午十点,求出 N 小时(正整数)后是第几天几时,如输入 20 小时则为第 2 天 6 点,如 N 输入 4 则为今天 14 点。为实现相应功能,应在横线处填写代码是( )。
int N, dayX, hourX;
cin >> N;
dayX = ______, hourX = ______;
if (dayX == 0)
cout << "今天" << hourX << "点";
else
cout << "第" << (dayX + 1) << "天" << hourX << "点";
{{ select(3) }}
- (10 + N) % 24, (10 + N) / 24
- (10 + N) / 24, (10 + N) % 24
- N % 24, N / 24
- 10 / 24, 10 % 24
- 下面的程序用于判断 N 是否为偶数,横线处应填写代码是( )。
cin >> N;
if (______)
cout << "偶数";
else
cout << "奇数";
{{ select(4) }}
- N % 2 == 0
- N % 2 = 0
- N % 2
- N % 2 != 0
- 下面对C++代码执行后输出的描述,正确的是( )。
cin >> N;
cnt = 0;
for(int i = 1; i < N; i++)
cnt += 1;
cout << cnt;
{{ select(5) }}
- 如果输入的N是大于等于2整数,第5行将输出0。
- 如果输入的N是大于等于2整数,第5行将输出N-1。
- 如果输入的N是大于等于2整数,第5行将输出N。
- 以上说法均不正确。
- 下面C++代码执行后的输出是( )。
cnt = 0;
for(int i = 1; i < 10; i++) {
cnt += 1;
i += 2;
}
cout << cnt;
{{ select(6) }}
- 10
- 9
- 3
- 1
- 下面C++代码执行后的输出是( )。
cnt = 0;
for(int i = 1; i < 20; i++) {
if(i%2)
continue;
else if(i%3==0 && i%5==0)
break;
cnt += i;
}
cout << cnt;
{{ select(7) }}
- 90
- 44
- 20
- 10
- 下面C++代码执行后的输出是( )。
N = 10;
cnt = 0;
while(1){
if(N == 0) break;
cnt += 1;
N -= 2;
}
cout << cnt;
{{ select(8) }}
- 11
- 10
- 5
- 4
- 下面C++代码用于判断一个数是否为质数(素数),在横线处应填入代码是( )。
cin >> N;
cnt = 0;
for (int i = 1; i < N + 1; i++)
if (N % i == 0)
______
if (cnt == 2)
cout << N << "是质数。";
else
cout << N << "不是质数。";
{{ select(9) }}
- cnt = 1
- cnt = 2
- cnt =+ 1
- cnt += 1
- 对下面的代码,描述正确的是( )。
#include <stdlib.h>
using namespace std;
int main(){
int arr[] = {2,6,3,5,4,8,1,0,9,10};
for(int i = 0;i < 10;i++)
cout << arr[i] << " ";
cout << i << endl;
cout << endl;
return 0;
}
{{ select(10) }}
- 输出 2 6 3 5 4 8 1 0 9 10 10
- 输出 2 6 3 5 4 8 1 0 9 9
- 输出 2 6 3 5 4 8 1 0 9 10
- 提示有编译错误
- 执行下面C++代码后输出是( )。
cnt = 0;
for (i = 10; i > 3; i -= 3)
cnt = cnt + i;
cout << cnt;
{{ select(11) }}
- 3
- 21
- 27
- 49
- 定义变量 char c,下面对 c 赋值的语句,不符合语法的是( )。 {{ select(12) }}
- c = (char)66;
- c = (char)(66);
- c = char(66);
- c = char 66;
- 下图所示C++代码对大写字母 'A' 到 'Z' 分组,对每个字母输出所属的组号,那么输入 'C' 时将输出的组号是?( )。
char c;
while(1){
cin >> c;
if(c=='q') break;
switch(c){
case 'A': cout << "1 "; break;
case 'B': cout << "3 ";
case 'C': cout << "3 ";
case 'D': cout << "5 "; break;
case 'E': cout << "5 "; break;
default: cout << "9 ";
}
cout << endl;
}
{{ select(13) }}
- 3
- 3 5
- 3 5 9
- 以上都不对
- 某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的。( ) {{ select(14) }}
- 麦克风
- 扬声器
- 油量表
- 传感器
- 现代计算机是指电子计算机,它所基于的是( )体系结构。 {{ select(15) }}
- 艾伦·图灵
- 冯·诺依曼
- 阿塔纳索夫
- 埃克特·莫克利
2 选择题(每题2分,共20分)
- C++表达式 int(3.14) 的值为3。( ) {{ select(16) }}
- 正确
- 错误
- C++语句 cout << (2 * 3, 3 % 10, 2+3) 的输出为 6,3,5。( ) {{ select(17) }}
- 正确
- 错误
- for(int i = 1; i < 10; i += 3;) ; 表示从1开始到10结束间隔为3,相当于1、4、7、10。( ) {{ select(18) }}
- 正确
- 错误
- C++表达式010+100+001的值为111。( ) {{ select(19) }}
- 正确
- 错误
- if 语句中的条件表达式的结果可以为 int 类型。( ) {{ select(20) }}
- 正确
- 错误
- 在下面的C++代码
while(1) continue;中,由于循环中的 continue 是无条件被执行,因此将导致死循环。( ) {{ select(21) }}
- 正确
- 错误
- C++表达式 ('1' + '1' == '2'? flag=1:flag=2) 的结果值和表达式 (flag==2) 的相同。( ) {{ select(22) }}
- 正确
- 错误
- 在C++的程序中,不能用 scanf 作为变量名。( ) {{ select(23) }}
- 正确
- 错误
- 小杨最近准备考GESP,他用的Dev C++来练习和运行程序,所以Dev C++也是一个小型操作系统。( ) {{ select(24) }}
- 正确
- 错误
- 任何一个 while 循环都可以转化为等价的 for 循环( )。 {{ select(25) }}
- 正确
- 错误
相关
在下列比赛中: