2023年6月GESP C++ 一级试卷解析

news2024/11/24 20:00:41

2023年6月GESP C++ 一级试卷解析

一、单选题(每题2分,共30分)

1.以下不属于计算机输出设备的有( )。

A.麦克风

B.音箱

C.打印机

D.显示器

【答案】A
【考纲知识点】计算机基础(一级)

【解析】本题属于考察计算机基础知识中的“输入”和“输出”概念;“输入”指外界向机器内部传递信息,“输出”指计算机内部信息向外界展示信息。此题中,“麦克风”属于向内部输入声音,属于输入概念,所以本题正确答案为A。

2. ChatGPT是OpenAI研发的聊天机器人程序,它能通过理解和学习人类的语言来进行对话,还能根据聊天的上下文进行互动,完成很多工作。请你猜猜看,下面任务中,ChatGPT不能完成的是( )。

A.改邮件

B.编剧本

C.擦地板

D.写代码

【答案】C

【考纲知识点】计算机基础(一级)

【解析】本题属于考察计算机在现代社会中的常见应用;ChatGPT聊天机器人程序可以帮助我们完成一些计算机上的操作,A、B、D都属于这个范畴,C选项擦地板无法直接实现。所以本题正确答案为C。

3.常量'3'的数据类型是( )。

A. double

B. float

C. char

D. int

【答案】C
【考纲知识点】基本数据类型(一级)

【解析】本题属于考察C++中的基本数据类型;C++中的基本数据类型有:整数型(int、long long)、实数型(float、double)、字符型(char)、布尔型(bool)。本题中'3'是用单引号引起来的单个字符3,属于字符型char,所以本题正确答案为C。

4.下列关于C++语言变量的叙述,正确的是( )。

A.变量可以没有定义

B.对一个没有定义的变量赋值,相当于定义了一个新变量

C.执行赋值语句后,变量的类型可能会变化

D.执行赋值语句后,变量的值可能不会变化

【答案】D

【考纲知识点】变量的定义与使用(一级)

【解析】本题属于考察C++程序的基本概念中的“变量”相关概念;A、B选项错误都在于,变量需要“先定义,再使用”,没有定义过的变量无法直接“赋值”,故排除A、B。C选项错误在于,赋值操作不会改变变量数据类型,故排除。故排除A、B、C选项,。如果赋值语句右侧的表达式计算结果与左侧的变量原值相同,则执行赋值语句后变量的值不会变化,所以本题正确答案为D。

5.以下可以作为C++标识符的是( )。

A. number_of_Chinese_people_in_millions

B. 360AntiVirus

C. Man&Woman

D. break

【答案】A
【考纲知识点】变量的定义与使用(一级)
【解析】在计算机编程语言中,“标识符”是用户编程时使用的名字,用于给变量、常量、函数等命名;C++中声明变量名时,变量名中能且只能包含字母、数字、下划线,且不能用数字开头。另外,C++中有一些关键字((如if、while、break等))这些关键字已被编程语言保留,不能用作标识符。选项中B、C、D均不满足要求,所以本题正确答案为A。

6.以下哪个不是C++语言的关键字?( )

A. double

B. else

C. while

D. endl

【答案】D

【考纲知识点】计算机基础与编程环境(一级)

【解析】本题考察对cC++关键字的认识;C++的关键字如下图所示:

图片

所以本题正确答案为D。

7.如果a、b和c都是int类型的变量,下列哪个语句不符合C++语法?( )

A. a = (b == c);

B. b = 5.5;

C. c = a + b + c;

D. a + c = b + c;

【答案】D
【考纲知识点】基本运算(一级)

【解析】本题属于考察C++中的基本运算;首先要了解赋值运算符的使用规则,将符号右边的值赋值给符号左边的“变量”。A选项,符号右边是一个关系运算,运算结果是布尔类型,true或者false,对应的值是1或者0,可以直接赋值给整型变量,正确。B选型项,实数类型的值可以赋值给int类型,结果只取整数部分,正确。C选项,符合要求,正确。D选项,赋值运算符左边是一个“算术运算”,而不是一个“变量”,所以本题正确答案为D。

8.如果用一个int类型的变量a表达正方形的边长,则下列哪个表达式不能用来计算正方形的面积?( )

A. a * a

B. 1 * a * a

C. a ^ 2

D. a * 2 * a / 2

【答案】C

【考纲知识点】基本运算(一级)

【解析】本题属于考察C++的基本运算中的位运算;边长为a的正方形的面积是a*a,A、B、D的运算结果均正确。C选项错误在于,^符号在一些其他语言中表示乘方运算,但在是C++中表示的“异或运算符”,会将符号两边的值按二进制位进行异或运算,不满足要求,所以本题正确答案为C。

9.表达式(4 * (11 + 12) / 4)的计算结果为( )。

A. 47

B. 20

C. 23

D. 56

【答案】C

【考纲知识点】基本运算(一级)

【解析】本题属于考察C++的基本运算中的运算优先级;小括号():优先级最高,括号内的计算最先进行,再按从左往右的顺序进行乘除法计算。所以本题正确答案为C。

10.如果a为int类型的变量,且a的值为6,则执行a %= 4;之后,a的值会是( )。

A. 1

B. 2

C. 3

D. 4

【答案】B
【考纲知识点】基本运算(一级)

【解析】本题属于考察C++的基本运算中的赋值运算;首先需要了解复合赋值运算符"%="的规则,a%=4等价于a=a%4,即先进行求余运算,再将得到的结果赋值给符号左边的变量。6对除以4的取余,余数为2,所以本题正确答案为B。

11.如果a和b均为int类型的变量,下列表达式能正确判断“a等于0且b等于0”的是( )。

A. (a == b == 0)

B. !(a || b)

C. (a + b == 0)

D. (a == 0) + (b == 0)

【答案】B
【考纲知识点】基本运算(一级)

【解析】本题属于考察C++的基本运算中的逻辑运算;

A选项会先判断a和b是否相等,只有a和b不相等,a==b表达式的值才为0,所以A选项判断是a不等于b。

B选项中,若!(a || b)为真,则(a||b)结果为0,若a和b有任意一个不为0,(a||b)的值都为1,所以当a等于0且b等于0时,(a || b)的结果才为0,!(a||b)的值才为1。;

C选项判断的是a+b的和是否为0,当a和b互为相反数时条件即可成立,a和b不一定为0。.

D选项判断的时表达式(a==0)和表达式(b==0)的和,只要a和b中有任意一个为0,最终表达式的值都大于0,即为真。

所以本题正确答案为B。

12.如果a和b为int类型的变量,且值分别为7和2,则下列哪个表达式的计算结果不是3.5?( )

A. 0.0 + a / b

B. (a + 0.0) / b

C. (0.0 + a) / b

D. a / (0.0 + b)

【答案】A
【考纲知识点】基本运算(一级)

【解析】本题属于考察C++的基本运算中的实数算数运算。B、C、D选项中,小括号里的运算结果数据类型是“实数型”,与整数进行除法运算,结果依旧是实数,可以得到3.5,正确。A选项错误在于,除法运算优先级高于加法运算,两个整数7和2相除的结果是整数3,再加上实数0.0,得到的结果是3.0,不满足要求,所以本题正确答案为A。

13.在下列代码的横线处填写( ),使得输出是“20 10”。

图片

A. a + b

B. b

C. a - b

D. b - a

【答案】C
【考纲知识点】基本运算(一级)

【解析】由于题目中没有分支、循环语句,可以尝试由结果反推。已知在第8行,输出“20 10”,因此此时a为20、b为10。第7行对a赋值后得到的就是第8行时a的值20,而且b的值不变,可知第7行语句执行前a、b分别为-10、10。同理,第6行对b赋值后得到的就是第8行时b的值10,而且a的值不变,可知第6行语句执行前a、b分别为-10、20。于是,第5行语句对a赋值后,a的值应变为-10。第5行语句执行前,a为10、b为20,四个选项中,只有选项C的表达式的计算结果为-10。本题主要考察基本运算中,如何使用运算的方式交换两个变量的数值,可以使用代入法进行排除。所以本题正确答案为C。

14.在下列代码的横线处填写( ),可以使得输出是“147”。

图片

A. i % 2 == 1

B. i % 3 == 1

C. i = i + 3

D. i + 3

【答案】B

【考纲知识点】循环结构、基本运算(一级)

【解析】本题主要考察for循环中变量的取值,与求余运算符的使用;可以使用代入法进行排除。

A选项中,只有i为奇数,才会输出,输出结果为1357,不满足题目要求。

B选项带入,1,4,7除以4的刚好余1,输出结果为147,满足题目要求。

C选项为赋值表达式,表达式的值为真,输出结果为487,不满足要求。

D选项只要i+3的值不为0表达式都成立,输出结果为12345678,不满足要求

所以本题正确答案为B。

15.执行以下C++语言程序后,输出结果是( )。

图片

A. 63

B. 98

C. 113

D.无法确定

【答案】D
【考纲知识点】变量的定义与使用(一级)

【解析】本题主要考察C++程序基本概念中的变量定义规则,本题中,变量sum的作用是累加求和,定义在主函数内里边,但是并没有进行初始化,无法保证其初始值为0。所以参与计算的时候,系统会赋一个随机值给sum,故运行结果无法确定,所以本题正确答案为D。

二、判断题(每题2分,共20分)

1.计算机硬件主要包括运算器、控制器、存储器、输入设备和输出设备。

【答案】对
【考纲知识点】计算机基础(一级)

【解析】本题考察计算机基础知识中的计算机组成五大部分;分别是:存储器、控制器、运算器、输入设备和输出设备,所以本题正确。

2.诞生于1958年的103机是中国第一台通用数字电子计算机,比1946年在美国诞生的第一台通用电子计算机ENIAC晚了十多年。

【答案】对
【考纲知识点】计算机的历史(一级)

【解析】本题属于对计算机历史的考察;中国第一台通用数字电子计算机于1958年8月研制成功,美国第一台通用电子计算机ENIAC诞生于1946年2月14日。所以本题正确。

3.在C++语言中,计算结果必须存储在变量中才能输出。

【答案】错

【考纲知识点】输入输出语句(一级)

【解析】本题考察计算机基本语言中的输出语句;输出语句可以直接输出表达式,输出的内容是表达式运算结果。所以本题错误。

4.在C++语言中,标识符的命名不能完全由数字组成,至少有一个字母就可以。

【答案】错

【考纲知识点】变量的定义与使用(一级)

【解析】本题考察C++语言中标识符的命名规则;C++语言中,标识符的命名能且只能包含字母、数字、下划线,且不能用数字开头。可以没有字母,例如:_123是合理的标识符;有字母也可能不能作为标识符,例如2ab不是合理的标识符。所以本题错误。

5. 10是一个int类型常量。

【答案】对
【考纲知识点】基本数据类型(一级)

【解析】本题考察C++语言中常量的概念;常量是固定值,在程序执行期间不会改变,可以是任何的基本数据类型,10是一个整型常量,默认类型为int类型。所以本题正确。

6. if语句可以没有else子句。

【答案】对

【考纲知识点】选择结构(一级)

【解析】本题考察C++中分支结构中的if语句,if...else...语句的区别;if...else...语句中,当if语句条件不满足,会执行else中的语句;if语句可以独立存在,条件满足,执行下级代码,条件不满足,跳过下级代码继续执行。所以本题正确。

7. do ... while语句的循环体至少会执行一次。

【答案】对

【考纲知识点】循环结构(一级)

【解析】本题主要考察C++中的do...while语句执行逻辑;do...while会先执行一次循环体,然后再判别表达式。当表达式结果为“真”时,返回重新执行循环体,如此反复,直到表达式结果为“假”为止,此时循环结束。所以本题正确。

8.如果a和b为int类型的变量,则表达式a = b可以判断a和b是否相等。

【答案】错

【考纲知识点】基本运算(一级)

【解析】本题考察C++基本运算中关系运算符的使用;C++中,判断相等需要使用两个等于号( == ),一个等于号( = )是赋值符号。所以本题错误。

9.如果a为int类型的变量,则表达式(a % 4 == 2)可以判断a的值是否为偶数。

【答案】错
【考纲知识点】基本运算(一级)
【解析】本题主要考察C++基本运算中的求余运算,与偶数判断;偶数是指在整数中能被2整除的数。题中表达式表达“被4除余2”,这样的数一定是偶数,但偶数不一定满足该条件。满足条件的数字对4取余,余数不一定为2。例如,4是偶数,被对4除取余,余数是0。所以本题错误。

10.表达式(37 / 4)的计算结果为9,且结果类型为int。

【答案】对

【考纲知识点】基本运算(一级)

【解析】本题主要考察C++基本运算中的整数除法运算;在C++语言中,除号/左右均为整数类型时,表示的整数除法,运算结果向下取整((舍弃小数部分)),且结果为整数类型。所以本题正确。

三、编程题(每题25分,共50分)

1.时间规划

【问题描述】

小明在为自己规划学习时间。现在他想知道两个时刻之间有多少分钟,你能通过编程帮他做到吗?

【输入描述】

输入4行,第一行为开始时刻的小时,第二行为开始时刻的分钟,第三行为结束时刻的小时,第四行为结束时刻的分钟。

输入保证两个时刻是同一天,开始时刻一定在结束时刻之前。时刻使用24小时制,即小时在0到23之间,分钟在0到59之间。

【输出描述】

输出一行,包含一个整数,从开始时刻到结束时刻之间有多少分钟。

【样例输入1】

9

5

9

6

【样例输出1】

1

【样例输入2】

9

5

10

0

【样例输出2】

55

【题目大意】时间转换问题,输入开始时刻和结束时刻,时刻使用24小时制,保证两个时刻是同一天,且开始时刻一定在结束时刻之前,计算两者中间的时间,转化为分钟进行输出。
【考纲知识点】变量的定义与使用、顺序结构、基本运算、输入输出语句(一级)

【解题思路】

按题目要求定义好需要的变量,并实现输入;

利用结束时刻的小时减开始时刻的小时,结果乘60,得到小时数之差对应的分钟数;

利用结束时刻的分钟减开始时刻的分钟,得到分钟数之差;

将将上述结果相加并输出;

【参考程序】

图片

2.累计相加

【问题描述】

输入一个正整数 n,求形如:

图片

的累计相加。

【输入描述】

输入一个正整数。约定 1<n<100。

【输出描述】

输出累计相加的结果。

【样例输入1】

3

【样例输出1】

10

【样例输入2】

4

【样例输出2】

20

【样例输入3】

10

【样例输出3】

220

【题目大意】多项式求和问题,多项式的每一项,都是从1开始,累加到当前项数结束。累加每项之和求出整个多项式的和。

【考纲知识点】循环结构、基本运算、输入输出语句(一级)

【解题思路】

1. 分析出参与求和运算的每一项的规律:第1项为1,第2项从1开始加到2,第3项从1开始加到3,依次类推,第i项从1开始一直加到当前项数i,利用求和公式可以表示为(i+1)*i/2;

2. 借助for循环,把每个多项式的结果累加到sum中;

3. 按要求完成输入和输出。

解题过程中应注意变量sum初始化,循环条件i <= n是否包含等于情况,表达式(i+1)*i/2的运算顺序等问题。

如果不了解等差数列求和公式,也可以使用二重循环解题,需要更加注意循环条件的处理。

【参考程序】

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/937598.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

科大讯飞永久免费GPT入口来了!!!

讯飞GPT永久免费使用入口注册链接&#xff1a;讯飞星火认知大模型-AI大语言模型-星火大模型-科大讯飞。 登录讯飞账号后&#xff0c;点击进入体验。 进入体验页面后&#xff0c;选择景点推荐。 笔者让其写一篇关于讯飞GPT介绍的文案。 讯飞GPT是一款由讯飞公司推出的人工智能语…

14. 完整模型验证套路

14.1 GPU训练30轮次 import torchvision import torch from torch import nn from torch.utils.data import DataLoader from torch.utils.tensorboard import SummaryWriter import time# 定义训练的设备 #device torch.device("cpu") device torch.device("…

第七周第六天学习总结 | MySQL入门及练习学习第一天

实操练习&#xff1a; 1.查看数据库 2.查询当前数据库 3.创建一个名为 lianxi 的数据库 4.删除一个名为 shanchu 的数据库&#xff08;如果存在就删除&#xff0c;不存在不删除&#xff09; 5.切换至 lianxi 数据库下&#xff0c;并验证 6.查询 lainxi 数据库下的所有数据…

DMK5框选变量之后不显示其他位置的此变量高亮

使用软件MDK5.3.8版本 如下在2的位置选择之后&#xff0c;其他同样的变量没有高亮&#xff0c;因为1的原因折叠了&#xff1b; 展开折叠之后就可以了

Android学习之路(10) setContentView详解

一、简介 setContentView我们在Activity中经常见到&#xff0c;它的作用就是把我们的布局文件放在Activity中显示&#xff0c;下面我们根据源码分析setContentView是如何做到的 二、源码分析 1.两种setContentView 注意Activity的setContentView和AppCompatActivity的setCo…

【SpringBoot】如何使用 HandlerInterceptor 拦截器? 为什么不使用 SpingAOP ?

文章目录 前言一、为什么不使用 SpringAOP ?1, 需求分析2, SpringAOP 能实现吗? 二、使用 HandlerInterceptor1, 实现 HandlerInterceptor 接口2, 将自定义拦截器加入到系统配置 三、HandlerInterceptor 实现原理源码分析 总结 前言 各位读者好, 我是小陈, 这是我的个人主页,…

基于全新电脑环境安装pytorch的GPU版本

前言&#xff1a; 距离第一次安装深度学习的GPU环境已经过去了4年多&#xff08;当时TensorFlow特别麻烦&#xff09;&#xff0c;现在发现安装pytorch的GPU版本还是很简单方便的&#xff0c;流程记录如下。 安装步骤&#xff1a; 步骤一&#xff1a;官网下载Anaconda Free…

【无法联网】电脑wifi列表为空的解决方案

打开电脑, 发现wifi列表为空, 点击设置显示未连接 首先检查是不是网卡驱动有问题, cmd, devmgmt.msc 找到网络适配器, 看看网卡前面是否有感叹号, 如果没有则说明网卡没问题, 有问题则重装驱动 看看网络协议是否设置正确 找到"控制面板\所有控制面板项\网络和共享中心&…

微服务通信[HTTP|RPC同步通信、MQ异步通信]

概念 A服务调用B服务,B服务调C服务,C服务调D服务,即微服务之间的通信(也可以叫微服务之间的调用) HTTP同步通信 一种轻量级的通信协议,常用于在不同的微服务之间进行通信,也是最简单的通信方式使用REST ful为开发规范&#xff0c;将服务对外暴露的HTTP调用方式为REST API(如GET…

飞腾FT-2000/4、D2000 log报错指导(3)

在爱好者群中遇见了很多的固件问题,这里总结记录了大家的交流内容和调试心得。主要是飞腾桌面CPU FT-2000/4 D2000相关的,包含uboot和UEFI。希望对大家调试有所帮助。 这个专题会持续更新,凑够一些就发。 23 在s3 唤醒时报错如下 check suspend ,Platform exception report…

你对SPA单页面的理解,它的优缺点分别是什么?如何实现SPA应用呢?

一、什么是SPA SPA&#xff08;single-page application&#xff09;&#xff0c;翻译过来就是单页应用SPA是一种网络应用程序或网站的模型&#xff0c;它通过动态重写当前页面来与用户交互&#xff0c;这种方法避免了页面之间切换打断用户体验在单页应用中&#xff0c;所有必…

【kubernetes】使用KubeSphere devops部署我的微服务系统

KubeSphere Devops 入门使用KubeSphere的Devops功能部署"我的微服务系统" &#xff08;内容学习于尚硅谷云原生课程&#xff09; kubesphere devops官方文档&#xff1a; https://v3-1.docs.kubesphere.io/zh/docs/devops-user-guide/how-to-use/create-a-pipeline-u…

nginx调优(二)

一、event模块: 用于配置服务器的事件驱动机制的模块。它定义了 Nginx 如何处理并发连接和网络事件&#xff0c;以及如何与底层操作系统的事件机制交互。 1.最大并发连接数&#xff1a; worker_connections 65536; 2.选择事件驱动&#xff1a; nginx默认使用epoll时间驱动类…

【Java】Java基础

环境准备 安装JDK和JRE 下载JDK&#xff0c;可以在官网Java Downloads | Oracle 中国下载&#xff0c;但是这里需要注册才能够下载。在Index of java-local/jdk (huaweicloud.com)也可以下载到&#xff0c;但是版本比较老&#xff0c;关系不大&#xff0c;直接下载&#xff0…

OpenGL-入门-BMP像素图glReadPixels

glReadPixels函数用于从帧缓冲区中读取像素数据。它可以用来获取屏幕上特定位置的像素颜色值或者获取一块区域内的像素数据。下面是该函数的基本语法&#xff1a; void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *da…

【Kafka】Kafka Stream简单使用

一、实时流式计算 1. 概念 一般流式计算会与批量计算相比较。在流式计算模型中&#xff0c;输入是持续的&#xff0c;可以认为在时间上是无界的&#xff0c;也就意味着&#xff0c;永远拿不到全量数据去做计算。同时&#xff0c;计算结果是持续输出的&#xff0c;也即计算结果…

微信小程序 基于Android的美容理发师预约管理系统

&#xff0c;本系统主要根据管理员、用户及理发师的实际需要&#xff0c;方便用户利用互联网实现对商品信息进行立即订购&#xff0c;同时让管理者可以通过这个系统对用户实际需求以及各信息进行管理。设计该系统主要目的是为了方便用户、理发师可以有一个非常好的平台体验&…

Mac下Docker Desktop开启本地远程访问

mac系统下&#xff0c;为了在idea里方便使用docker&#xff0c;需要开启Docker Desktop本地远程访问。 开启方法是在设置-高级下&#xff0c;开启“Allow the default Docker socket to be used (requires password)”&#xff0c;特此记录一下&#xff1a; 开启后的效果&…

iOS swift5 扫描二维码

文章目录 1.生成二维码图片2.扫描二维码&#xff08;含上下扫描动画&#xff09;2.1 记得在info.plist中添加相机权限描述 1.生成二维码图片 import UIKit import CoreImagefunc generateQRCode(from string: String) -> UIImage? {let data string.data(using: String.En…

计算机视觉:深层卷积神经网络的构建

本文重点 上一节课程中我们学习了单卷积层的前向传播,本次课程我们构建一个具有三个卷积层的卷积神经网络,然后从输入(39*39*3)开始进行三次卷积操作,我们来看一下每次卷积的输入和输出维度的变化。 第一层 第一层使用3*3*3的过滤器来提取特征,那么f[1]=3,然后步长s[…