2024年6月 GESP C++ 1级
2024年6月 GESP C++ 1级认证考试真题(含编程操作题部分)
// questions
题目预览
在 C++ 中,下列不可做变量的是( )。
five-Star
five_star
fiveStar
_fiveStar
C++ 表达式 3 - 3 * 3 / 5 的值是( )。
−1.2-1.2−1.2
111
000
222
在 C++ 中,假设 NNN 为正整数,则表达式 cout << (N % 3 + N % 7) 可能输出的最大值是( )。
666
888
999
101010
C++ 语句 printf("5%%2={%d}\n",5 % 2) 执行后的输出是( )。
1={1}
5%2={5%2}
5%2={1}
5 ={1}
对整型变量 iii,执行 C++ 语句 cin >> i, cout << i 时如果输入 5+2,下述说法正确的是( )。
将输出整数 777
将输出 555
语句执行将报错,输入表达式不能作为输出的参数
语句能执行,但输出内容不确定
下面 C++ 代码执行后的输出是( )。
float a;
a = 101.101;
a = 101;
printf("a+1={%.0f}", a+1);
102102102={102}
a+1={a+1}
a+1={102}
aaa 先被赋值为浮点数,后被赋值为整数,执行将报错
表达式 9/4 - 6 % (6 - 2) * 10 的值是( )。
−17.75-17.75−17.75
−18-18−18
−14-14−14
−12.75-12.75−12.75
下面 C++ 代码执行时输入 101010 后,正确的输出是( )。
int N;
cout << "请输入正整数:";
cin >> N;
if (N % 3)
printf("第5行代码%2d", N % 3);
else
printf("第6行代码%2d", N % 3);
第5行代码 1
第6行代码 1
第5行代码 1
第6行代码 1
下面 C++ 代码执行后输出是( )。
int Sum = 0, i = 0;
for ( ; i < 10; )
Sum += i++;
cout << i << " " << Sum;
999 454545
101010 555555
101010 454545
111111 555555
下面 C++ 代码用于判断 NNN 是否为质数(只能被 111 和它本身整除的正整数)。程序执行后,下面有关描述正确的是( )。
int N;
cout << "请输入整数:";
cin >> N;
bool Flag = false;
if (N >= 2){
Flag = true;
for (int i=2; i < N; i++)
if (N % i == 0){
Flag = false;
break;
}
}
if(Flag)
cout << "是质数";
else
cout << "不是质数";
如果输入负整数,可能输出“是质数”
如果输入 222 ,将输出“不是质数”,因为此时循环不起作用
如果输入 222 ,将输出“是质数”,即便此时循环体没有被执行
如果将 if (N >= 2) 改为 if (N > 2) 将能正确判断 NNN 是否质数
下面的 C++ 代码用于求 1∼N1 \sim N1∼N 之间所有奇数之和,其中 NNN 为正整数,如果 NNN 为奇数,则求和时包括 NNN。有关描述错误的是( )。
int N;
cout << "请输入正整数:";
cin >> N;
int i = 1, Sum = 0;
while (i <= N){
if (i % 2 == 1)
Sum += i;
i += 1;
}
cout << i << " " << Sum;
执行代码时如果输入 101010,则最后一行输出将是 111111 252525
执行代码时如果输入 555,则最后一行输出将是 666 999
将 i += 1 移到 if (i % 2 == 1) 前一行,同样能实现题目要求
删除 if (i % 2 == 1),并将 i += 1 改为 i += 2,同样可以实现题目要求
如果一个整数 NNN 能够表示为 X×XX \times XX×X 的形式,那么它就是一个完全平方数,下面 C++ 代码用于完成判断 NNN 是否为 一个完全平方数,在横线处应填入的代码是( )。
int N;
cin >> N;
for(int i = 0; i <= N; i++)
if(___________________)
cout << N << "是一个完全平方数\n";
i == N*N
i*10 == N
i+i == N
i*i == N
执行下面 C++ 代码后输出的 cnt 的值是( )。
int cnt=0;
for(int i = 0; i*i < 64; i+=2)
cnt++;
cout << cnt;
888
777
444
111
小杨父母带他到某培训机构给他报名参加 CCF 组织的 GESP 认证考试的第 1 级,那他可以选择的认证语言有几种?( )
111
222
333
444
ENIAC 于 1946 年投入运行,是世界上第一台真正意义上的计算机,它的主要部件都是( )组成的。
感应线圈
电子管
晶体管
集成电路
在 C++ 代码中变量 XXX 被赋值为 16.4416.4416.44,则 cout << X / 10 执行后输出的一定是 111。( )
C++ 的整型变量 NNN 被赋值为 101010,则语句 cout << N / 4 << "->" << N % 4 << "->" << N / 4.0 执行后输出是 2->2->2.0。 ( )
定义 C++ 的 float 型变量 NNN ,则语句 cin >> N; cout << int(float(N)) 可以输入正负整数和浮点数,并将其转换为整数后输出。( )
C++ 的整型 NNN 被赋值为 555,语句 printf("%d*2", N) 执行后将输出 101010。( )
在 C++ 中,break 语句用于终止当前层次的循环,循环可以是 for 循环,也可以是 while 循环。( )
在 C++ 中,continue 语句通常与 if 语句配合使用。( )
在 C++ 代码中,不可以将变量命名为 printf,因为 printf 是 C++ 语言的关键字。( )
在 C++ 中有整型变量 NNN,则表达式 N += 8/4//2 相当于 N += 8/(4/2)。( )
C++ 中定义变量 int N,则表达式 (!!N) 的值也是 NNN 的值。 ( )
GESP 测试是对认证者的编程能力进行等级认证,同一级别的能力基本上与编程语言无关。( )
试题名称:休息时间
时间限制:1.0 s | 内存限制:512.0 MB
题目描述
小杨计划在某个时刻开始学习,并决定在学习 kkk 秒后开始休息。
小杨想知道自己开始休息的时刻是多少。
输入格式
前三行每行包含一个整数,分别表示小杨开始学习时刻的时 hhh、分 mmm、秒 sss(h,m,sh,m, sh,m,s 的值符合 1≤h≤12,0≤m≤59,0≤s≤591 \le h \le 12,0 \le m\le 59,0 \le s\le591≤h≤12,0≤m≤59,0≤s≤59)。
第四行包含一个整数 kkk,表示小杨学习的总秒数(注:kkk 的值符合 1≤k≤36001 \le k \le 36001≤k≤3600)。
输出格式
输出一行,包含三个整数,分别表示小杨开始休息时刻的时、分、秒。
样例输入 #1
12
59
59
10
样例输出 #1
13 0 9
说明/提示
小杨在时刻 12:59:59 开始学习,学习 10 秒后开始休息,即在 13:0:9 时刻开始休息。
对于全部数据,保证有 1≤h≤121 \le h \le 121≤h≤12,0≤m≤590 \le m\le 590≤m≤59,0≤s≤590 \le s\le 590≤s≤59,1≤k≤36001 \le k \le 36001≤k≤3600。
试题名称:立方数
时间限制:1.0 s | 内存限制:512.0 MB
题目描述
小杨有一个正整数 nnn,他想知道 nnn 是否是一个立方数。一个正整数 nnn 是立方数当且仅当存在一个正整数 xxx 满足 x×x×x=nx\times x\times x=nx×x×x=n 。
输入格式
第一行包含一个正整数 nnn。
输出格式
如果正整数 nnn 是一个立方数,输出 Yes,否则输出 No。
样例输入 #1
8
样例输出 #1
Yes
样例输入 #2
9
样例输出 #2
No
说明/提示
对于样例 1,存在正整数 222 使得 8=2×2×28=2\times 2\times 28=2×2×2 ,因此 888 为立方数。
对于样例 222,不存在满足条件的正整数,因此 999 不为立方数。
对于全部数据,保证有 1≤n≤10001 \le n \le 10001≤n≤1000。