视频讲解:GESP2025年6月一级C++真题讲解

一、单选题

第1题

解析:

答案C,传感器向计算机传递数据,所有是输入设备

第2题

解析:

答案A,L1行可设置断点

第3题

解析:

答案D,变量命区分大小写

第4题

解析:

答案D,变量命只能由数字、字母、下划线组合

第5题

解析:

答案C,根据运算顺序计算即可

14-3*3%2

=14-9%2

=14-1

=13

第6题

解析:

答案B

执行L2行:x=x+y时,x=30  y=20

执行L3行:y=x-y时,x=30  y=10

执行L3行:x=x-y时,x=20  y=10

第7题

解析:

答案D,++a使a变为17,+=3变为20

第8题

解析:

答案C

cout<<(++x)++; 输出9  ,第二个++是输出后,再进行加一

执行后输出10

第9题

解析:

答案A,%02d 表示占两个位置,不够用0补

第10题

解析:

答案B,(N+M)%7可以去除超过7的天数,去除后能被7整除,即%7的结果为0,就是星期天

第11题

解析:

答案A,i循环为:1 4 7 10 ,14跳出循环,循环中continue导致后面的语句都不执行;i为14时满足i>=14 输出“END”

第12题

解析:

答案C,while循环需n至2,1在循环外输出

第13题

解析:

答案D

i循环0 1 2 3 4 5 6 7 8 9 ,为5时退出循环,

所以实际循环0 1 2 3 4 5

其中2 4 5都continue或break

所以sum+= 0  1  3

结果为4

第14题

解析:

答案C,x++时,x为102,所以cout<<++x时,输出103

第15题

解析:

答案B,先/10,将十位变为个位,再%10,去除当前个位,即十位

二、判断题

第1题

解析:

答案√,手机  电脑  手表都有操作系统、通信等功能

第2题

解析:

答案×

N+!N

=5+!5

=5+!true

=5+false

=5+0=5

第3题

解析:

答案√,continue导致后面的语句都无法执行,所以删除也不影响

第4题

解析:

答案×,首先continue后没有语句,continue对循环没影响,可有可无;i为10时才退出循环,所以最后会输出“END”

第5题

解析:

答案×

i<100时;i=i+1,循环0,1,2,3...99,共循环100次,cnt为100

i<200;i+=i+1,循环0,1,3,7,15,31,63,127,共循环8次,cnt为8

第6题

解析:

答案×,i没有初始值

第7题

解析:

答案×,i循环为0,1,2,3,4,5,6,7,8,9,共10次,每次cnt加一,最终结果为10

第8题

解析:

答案×,int和double可做运算,结果为double,否则数据精度将丢失

第9题

解析:

答案√,false为关键字

第10题

解析:

答案×,逻辑表达式的结果为0或1

三、编程题

第1题 [GESP202506 一级] 假期阅读

题目描述

小 A 有一本厚厚的书。这本书总共有 n 页,小 A 一天中最多只能阅读完其中的 k 页。小 A 的假期总共有 t 天,他想知道在假期中最多能阅读完这本书的多少页。

输入格式

第一行,一个正整数 n,表示书的页数。

第二行,一个正整数 k,表示小 A 每天最多阅读的页数。

第三行,一个正整数 t,表示小 A 假期的天数。

输出格式

一行,一个整数,表示假期中所能阅读的最多页数。

输入输出样例

输入 #1

8
3
2

输出 #1

6

输入 #2

19
3
30

输出 #2

19

说明/提示

对于所有测试点,保证 n,k,t 均不超过 1000。

答案

#include <iostream>
using namespace std;
int main() {
	//1)确定n(书的页数) k(最多) t(天数)
	int n,k,t;
	cin>>n>>k>>t;
	//2)判断是否阅读完
	if(n <= k*t){
		cout<<n;
	} else{
		cout<<k*t;
	}
}

第2题 [GESP202506 一级] 值日

题目描述

小杨和小红是值日生,负责打扫教室。小杨每 m 天值日一次,小红每 n 天值日一次。今天他们两个一起值日,请问至少多少天后,他们会再次同一天值日?

输入格式

第一行,一个正整数 m,表示小杨的值日周期;

第二行,一个正整数 n,表示小红的值日周期。

输出格式

一行,一个整数,表示至少多少天后他们会再次同一天值日。

输入输出样例

输入 #1

4
6

输出 #1

12

说明/提示

对于所有测试点,保证 1≤m,n≤100。

答案

#include<iostream>
using namespace std;
int main(){
	//1)确定m(小杨周期) n(小红周期)
	int m,n;
	cin>>m>>n;
	//2)循环m 到n*m
	for(int i=m;i<=m*n;i++){
		//3)判断是否为公倍数
		if(i%n==0 && i%m==0){
			cout<<i;
			return 0;//退出程序 
		}
	}
	
}

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐