GESP错题整理

1

以下C++ 不可以作为变量的名称的是( )。

 A. CCF GESP
 B. ccfGESP
 C. CCFgesp
 D. CCF_GESP

解答:因为C++在定义变量时只能用字母,数字,符号作为变量名,空格是不能作为变量名的,所以选A。

2

下面C++ 代码执行后的输出是( )。

下图所示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;

A. 3
B. 3 5
C. 3 5 9
D. 以上都不对
解答:因为switch里写的数就是case要判断的(case只能判断相等关系),这里要求’C’,C先输入了一个3和空格,后面没有break就接着输出5,5后面有break了,跳出循环输出空行就结束了,所以选B。

3

现代计算机是指电⼦计算机,它所基于的是( )体系结构。
A. 艾伦·图灵
B. 冯·诺依曼
C. 阿塔纳索夫
D. 埃克特-莫克利
解答:
诺依曼体系结构的五大组成部分

诺依曼体系结构是由现代计算机科学之父约翰·冯·诺依曼提出的,它奠定了现代计算机的基本结构,这一结构主要由五大组成部分构成。

  1. 运算器:这是计算机的数学大脑,负责执行算术和逻辑运算。它处理数据,帮助计算机理解和执行各种命令。
  2. 控制器:作为计算机的指挥中心,控制器负责读取指令,解码并执行它们。它协调计算机的所有其他部分,确保它们协同工作。
  3. 存储器:存储器是计算机的记忆系统,负责存储数据和程序。它分为短期和长期两种类型,短期存储器通常称为RAM(随机存取存储器),长期存储器则称为ROM(只读存储器)或硬盘驱动器。
  4. 输入设备:输入设备允许用户向计算机提供信息,例如键盘、鼠标、扫描仪等。这些设备将现实世界的信息转换为计算机可以理解的数字信号。
  5. 输出设备:输出设备将计算机处理后的信息返回给用户,例如显示器、打印机等。这些设备将计算机的数字信号转换为人类可以理解的格式。
    所以选B。

4

C++ 语句cout << (2 * 3, 3 % 10, 2+3)的输出为6,3,5。 ( )
A. 正确
B. 错误
解答:错误,因为逗号表达式只会输出他们的和。

5

C++ 表达式010+100+001的值为111。( )
A. 正确
B. 错误
解答:错误,因为开头为零的数在C++里被默认为是八进制数,所以 010 为八进制的10,即十进制的8,001 为八进制的1,所以表达式的值为8 + 100 + 1 = 109。

6

C++ 表达式 ('1'+'1'=='2'? flag=1:flag=2) 的结果值和表达式 (flag==2)的相同。( )
A. 正确
B. 错误
解答:错误,因为’1’+'1’的ascll码等于98,不等于’2’的50,因此表达式 ('1'+'1'=='2'? flag=1:flag=2) 的结果是 flag=2,与 flag==2 的结果不同,条件表达式的格式是条件?表达式1:表达式2,当条件为真时,取表达式1的结果,否则,取表达式2的结果。

7

在C++ 的程序中,不能用scanf作为变量名。( )
A. 正确
B. 错误
解答:错误,因为scanf不是关键字,所以可以用scanf作为变量名,但最好不要用,避免混淆。

8

定义变量char c,下面对c赋值的语句,不符合语法的是( )。
A. c = (char)66;
B. c = (char)(66);
C. c = char(66);
D. c = char 66;
解答:选D,因为D缺少括号,导致语法错误。

9

小杨最近在准备考GESP,他用的Dev C++ 来练习和运⾏程序,所以Dev C++ 也是⼀个⼩型操作系统。( )
A. 正确
B. 错误
解答:错误,因为Dev C++ 是一个集成开发环境(IDE),不是操作系统。
集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。

10

ENIAC 是世界上第一台计算机,其在设计时采用了集成电路作为主要元器件。()
解答:错误,因为世界上第一台电子数字式计算机的名称叫ENIAC (埃尼阿克),第一台电脑用的是真空管,而第三代计算机才用集成电路。

11

以下选项中不符合 C++ 变量命名规则的是?(B)
A. s t u d e n t student student
B. 2 2 2_ f r o m from from
C. _ t o to to
D. T e x t Text Text
解答:众所周知,变量不能用数字开头,所以选B。

12

以下选项中,不能用于表示分支结构的C++ 保留字是?(B)
A. s w i t c h switch switch
B. r e t u r n return return
C. e l s e else else
D. i f if if
解答:因为 r e t u r n return return是用来结束程序的,而其它的都是分支结构,所以选B。

13

小杨今年春节回奶奶家了,奶奶家的数字电视要设置ip地址并接⼊到WIFI盒子才能收看节目,那这个WIFI盒子具有路由器的功能。(A)
A. 正确
B. 错误
解答:路由器是可以连接外网的设备,WIFI就是连接外网。

14

如果变量 a 的值使得C++ 表达式 sqrt(a)==abs(a) ,则 a 的值为0。(B)
A. 正确
B. 错误
解答:也有可能是1

15

小杨父母带他到某培训机构给他报名参加CCF组织的GESP认证考试的第1级,那他可以选择的认证语言有几种?(C)
A. 1
B. 2
C. 3
D. 4
解答:GESP认证考试可以选择 S c r a t c h Scratch Scratch, P y t h o n Python Python, C C C++

16

下面流程图在yr输入2024时,可以判定yr代表闰年,并输出 2月是29天 ,则图中菱形框中应该填(B)请添加图片描述
A. (yr%400==0) || (yr%4==0)
B. (yr%400==0) || (yr%4==0 && yr%100!=0)
C. (yr%400==0) && (yr%4==0)
D. (yr%400==0) && (yr%4==0 && yr%100!=0)
解答:众所周知闰年是四年一闰,百年不闰,四百又闰,所以选 B B B

编程题

[GESP202406 一级] 休息时间

题目描述

小杨计划在某个时刻开始学习,并决定在学习 k k k 秒后开始休息。

小杨想知道自己开始休息的时刻是多少。

输入格式

前三行每行包含一个整数,分别表示小杨开始学习时刻的时 h h h、分 m m m、秒 s s s h , m , s h,m, s h,m,s 的值符合
1 < h ≤ 12 , 0 ≤ m ≤ 59 , 0 ≤ s ≤ 59 1 < h \le 12,0 \le m\le 59,0 \le s\le59 1<h12,0m59,0s59)。

第四行包含一个整数 k k k,表示小杨学习的总秒数(注: k k k 的值符合 1 ≤ k ≤ 3600 1 \le k \le 3600 1k3600)。

输出格式

输出一行,包含三个整数,分别表示小杨开始休息时刻的时、分、秒。

样例 #1

样例输入 #1

12
59
59
10

样例输出 #1

13 0 9

提示

小杨在时刻 12:59:59 开始学习,学习 10 秒后开始休息,即在 13:0:9 时刻开始休息。

对于全部数据,保证有 1 < h ≤ 12 1 < h \le 12 1<h12 0 ≤ m ≤ 59 0 \le m\le 59 0m59 0 ≤ s ≤ 59 0 \le s\le 59 0s59 1 ≤ k ≤ 3600 1 \le k \le 3600 1k3600

#include <bits/stdc++.h>
using namespace std;
int main() {
	int h,m,s,k;
    cin>>h>>m>>s>>k;
    h*=3600,m*=60;
    int ans=h+m+s+k;
    cout<<ans/3600<<" "<<ans%3600/60<<" "<<ans%3600%60;
 	return 0;
}

[GESP202406 二级] 平方之和

题目描述

小杨有 n n n 个正整数 a 1 , a 2 , … , a n a_1,a_2,\dots,a_n a1,a2,,an,他想知道对于所有的 i ( 1 ≤ i ≤ n ) i (1\le i\le n) i(1in),是否存在两个正整数 x x x y y y 满足 x × x + y × y = a i x\times x+y \times y=a_i x×x+y×y=ai

输入格式

第一行包含一个正整数 n n n,代表正整数数量。
之后 n n n 行,每行包含一个正整数,代表 a i a_i ai

输出格式

对于每个正整数 a i a_i ai,如果存在两个正整数 x x x y y y 满足 x × x + y × y = a i x\times x+y \times y=a_i x×x+y×y=ai,输出 Y e s Yes Yes,否则输出 N o No No

样例 #1

样例输入 #1

2
5
4

样例输出 #1

Yes
No

提示

对于第一个正整数,存在 1 × 1 + 2 × 2 = 5 1\times 1+2 \times 2=5 1×1+2×2=5,因此答案为 Yes

对于全部数据,保证有 1 ≤ n ≤ 10 , 1 ≤ a i ≤ 1 0 6 1 \le n \le 10,1 \le a_i \le 10^6 1n10,1ai106

#include <bits/stdc++.h>
using namespace std;
int a[1000010];
int main() 
{
	int n,flag=0;
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    for(int i=1;i<=n;i++)
    {
        flag=0;
        for(int x=1;x<=sqrt(a[i]);x++)
        {
            for(int y=1;y<=sqrt(a[i]);y++) if(x*x+y*y==a[i]){flag=1;break;}
        }
        if(flag==1) cout<<"Yes"<<endl;
        else cout<<"No"<<endl;
    }
 	return 0;
}

[GESP202309 二级] 数字黑洞

题目描述

给定一个三位数,要求各位不能相同。例如, 352 352 352 是符合要求的, 112 112 112 是不符合要求的。将这个三位数的三个数字重新排列,得到的最大的数,减去得到的最小的数,形成一个新的三位数。对这个新的三位数可以重复上述过程。神奇的是,最终一定会得到 495 495 495

试试看,重新排列 352 352 352,得到的最大数为 532 532 532,最小数为 235 235 235,它们的差是 297 297 297;变换 297 297 297,得到 972 − 279 = 693 972-279=693 972279=693;变换 693 693 693 962 − 369 = 594 962-369=594 962369=594;变换 594 594 594 954 − 459 = 495 954-459=495 954459=495。因此,经过 4 4 4 次变换得到了 495 495 495

现在,输入的三位数,你能通过编程得出,这个三位数经过多少次变换能够得到 495 495 495 吗?

输入格式

输入一行,包含一个符合要求的三位数 N N N

输出格式

输出一行,包含一个整数 C C C,表示经过 C C C 次变换得到 495 495 495

样例 #1

样例输入 #1

352

样例输出 #1

4
#include<bits/stdc++.h>
using namespace std;
int n,g,s,b,ma,mi,cnt;
int main(){
	cin>>n;
	while(n!=495){
		if(ma-mi==495) break;
		cnt++;
		g=n%10;
		s=n/10%10;
		b=n/100;
		if(s>b) swap(s,b);
		if(g>s) swap(s,g);
		if(s>b) swap(s,b);
		ma=b*100+s*10+g;
		mi=g*100+s*10+b;
		n=ma-mi;
	}
	cout<<cnt;
	return 0;	
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值