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

news2024/11/26 2:48:31

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

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

1.高级语言编写的程序需要经过以下( )操作,可以生成在计算机上运行的可执行代码。

A.编辑

B.保存

C.调试

D.编译

【答案】D

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

【解析】本题考察计算机基础知识中编译的概念;编译是把高级语言变成计算机可以识别的二进制语言的过程,所以本题正确答案为D。

2.能够实现下面流程图功能的伪代码是( )。

图片

A. if 条件判断then语句块

B. if 条件判断then什么也不做else语句块

C. while 条件判断do语句块

D. while not 条件判断do语句块

【答案】D

【考纲知识点】流程图的概念与描述(二级),循环语句(一级)

【解析】本题考察对流程图的理解,以及循环结构中的while循环;观察流程图可知,当条件判断不成立时,会执行语句块,并重新进行条件判断,当条件判断成立时,则流程继续往下进行,所以本题正确答案为D。

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

A. char类型变量不能赋值给int类型的变量。

B.两个int类型变量相乘,计算结果还是int类型。

C.计算两个int类型变量相乘时,如果乘积超出了int类型的取值范围,程序会报错崩溃。

D.计算两个double类型变量相除时,如果除数的值为0.0,程序会报错崩溃。

【答案】B

【考纲知识点】数据类型的转换(二级)

【解析】本题考察C++中数据类型转换的规则;A选项错误在于:char类型变量可以赋值给int类型的变量,赋值结果为char类型变量中存放的整数值;C选项错误在于:如果两个int类型变量相乘的乘积超出了int类型的取值范围,那么会发生溢出,得到错误的结果,但是程序不会崩溃;D选项错误在于:两个double类型变量相除时,如果除数的值为0.0,得到的结果是特殊的double类型值INF(被除数为正数时,正无穷)、-INF(被除数为负数时,负无穷)或NaN(被除数为0时,无意义),但是程序不会崩溃;所以本题正确答案为B。

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

A. if语句中的判断条件必须用小括号‘(’和‘)’括起来。

B. for语句中两个‘;’之间的循环条件可以省略,表示循环继续执行的条件一直满足。

C.循环体包含多条语句时,可以用缩进消除二义性。

D.除了“先乘除、后加减”,还有很多运算符优先级。

【答案】C

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

【解析】本题考察循环语句的语法规则;C选项错误在于:循环体包含多条语句时,需要用花括号把循环体中的所有语句括起来;所以本题正确答案为C。

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

A. main

B. max

C. double

D. sqrt

【答案】C

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

【解析】本题考察C++语言中“关键字”的概念;关键字就是预先定义好的标识符,C++编译器对其进行特殊处理,它们不能作为常量名、变量名或其他标识符名称;选项中只有double是关键字,其余均为函数名,所以本题正确答案为C。

6.以下哪个不是C++语言的运算符?( )

A. >=

B. /=

C. ||

D. <>

【答案】D

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

【解析】本题考察C++语言中的运算符;选项A为比较运算符:大于等于;选项B为赋值运算符:除并赋值;选项C为逻辑运算符:逻辑或;选项D不是C++中的运算符;所以本题正确答案为D。

7.如果a为int类型的变量,b为char类型的变量,则下列哪个语句不符合C++语法?( )

A. a = a + 1.0;

B. a = (int)(b - '0');

C. b = (char)(a + '0');

D. (int)b = a;

【答案】D

【考纲知识点】数据类型的转换(二级)

【解析】本题主要考察C++中数据类型转换的规则;强制类型转换得到的是改变类型的值,不再是能被赋值的变量;所以本题正确答案为D。

8.如果用两个int类型的变量a和b分别表达平行四边形的两条边长,用int类型的变量h表达a边对应的高,则下列哪个表达式不能用来计算b边对应的高?( )

A. a / b * (0.0 + h)

B. (0.0 + a * h) / b

C. a * h / (b + 0.0)

D. (a + 0.0) * h / b

【答案】A

【考纲知识点】基本运算(一级),数据类型的转换(二级)

【解析】本题主要考察C++运算中除法的规则以及类型转换规则;在C++中,两个变量进行运算,如果两个变量都是int类型,那么结果仍然为int类型(除法向下取整),如果两个变量中至少一个是double类型,那么结果为double类型;在本题中,需要避免出现两个int类型变量相除,导致计算结果错误;只有A选项的除号两边都是int类型,所以本题正确答案为A。

9.以下哪个循环语句会无限次执行?( )

A. for (int a = 0; a; a++) ;

B. for (bool b = false; b <= true; b++) ;

C. for (char c = 'A'; c < 'z'; c++) ;

D. for (double d = 0.0; d < 10.0; d += 0.001) ;

【答案】B

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

【解析】本题主要考察bool类型的运算规则;bool类型的取值范围是false和true,分别对应0和1;B选项中的b++会使得false变为true,true依然变为true,导致循环条件始终成立,所以本题正确答案为B。

10.如果a为char类型的变量,且a的值为'C'(已知'C'的ASCII码为67),则执行cout << (a + 2);会输出( )。

A. E

B. C+2

C. C2

D. 69

【答案】D

【考纲知识点】数据类型的转换(二级)

【解析】本题主要考察数据类型转换中的类型提升;两个不同类型的变量进行运算时,一般会把字节数较小(低精度)的类型自动转换为字节数较大(高精度)的类型,再进行运算;题目中a是char类型,2是int类型,那么a+2的结果是int类型,输出的结果是整数69,所以本题正确答案为D。

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

A. (a == b) && (b == 1)

B. (a && b)

C. (a == b == 1)

D. (a * b == 1)

【答案】A

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

【解析】本题主要考察C++条件判断的语法格式;判断两个条件是否同时成立时,需要把两个条件用&&符号连接起来;B选项只要a和b都非0即成立;C选项会将(a==b)的结果(0或1)与1判断相等,于是只要a和b相等,结果就为真;D选项a和b都是-1也满足条件;A选项符合语法规则,所以本题正确答案为A。

12.如果a为char类型的变量,下列哪个表达式可以正确判断“a是数字”?( )

A. '0' <= a && a <= '9'

B. '1' <= a && a <= '0'

C. '0' <= a <= '9'

D. '1' <= a <= '0'

【答案】A

【考纲知识点】ASCII编码(二级),基本运算(一级)

【解析】本题考察C++中的比较运算以及数字字符的ASCII码;判断两个条件是否同时成立时,需要把两个条件用&&符号连接起来,C、D选项不符合要求;数字字符的ASCII码最小的是'0',最大的是'9',所以本题正确答案为A。

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

图片

A. (a + b)

B. (a + b - '0')

C. (char)(a + b)

D. (char)(a + b - '0')

【答案】D

【考纲知识点】ASCII编码、数据类型的转换(二级)

【解析】本题考察数据类型转换中的类型提升以及数字字符的ASCII码;字符变量a的值是'3',相当于'0'加3,字符变量b的值是'6',相当于'0'加6,因此a+b等于'0'+3+'0'+6,再减掉'0'的结果就是字符'9';由于加减法运算只能处理数值类型,而char不是数值类型,因此会把char转换成int进行计算,结果也是int类型,最终输出字符时需要强制转换成char类型,所以本题正确答案为D。

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

图片

A. i % 3 == 0

B. 20 % i == 0

C. i <= 8

D. i >= 18

【答案】B

【考纲知识点】多层分支/循环结构(二级)

【解析】本题主要考察对循环语句和条件判断语句的理解;模拟程序执行过程可知,四个选项对应的输出结果分别是63、42、36和57,所以本题正确答案为B。

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

图片

A. A

B. B

C. C

D. D

【答案】C

【考纲知识点】多层分支/循环结构(二级),基本运算(一级)

【解析】本题主要考察对循环语句和条件判断语句的理解;括号内条件成立时结果为true,也就是1,否则为false,也就是0;字符x取字母A到D,取到C时,恰好满足四个条件中的三个,总和为3,所以本题正确答案为C。

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

1.诞生于1986年的中华学习机CEC-I入选了2021年的CCF计算机历史记忆(一类),它的内存只有64KB。当时的汉字编码字符集GB2312中共有6763个汉字,假如每个汉字用2个字节编码,将整个GB2312汉字字符集都放入CEC-I的内存,也只占用了不超过1/5的内存空间。

【答案】错

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

【解析】本题考察数据类型与内存空间的计算;6763个汉字,占用6763×2=13526字节,除以1024约为13.21KB,超过了64KB的1/5。所以本题错误。

2.域名是由一串用点分隔的名字来标识互联网上一个计算机或计算机组的名称,CCF编程能力等级认证官方网站的域名是gesp.ccf.org.cn,其中顶级域名是gesp。

【答案】错

【考纲知识点】计算机网络(二级)

【解析】本题考察计算机网络中的域名概念;顶级域名是指域名最右边的那个词,gesp.ccf.org.cn的顶级域名是.cn。所以本题错误。

3.在使用C++语言编写程序时,不能使用sqrt、abs等数学函数,包含<cmath>或<math.h>头文件后就能够使用了。

【答案】对

【考纲知识点】程序设计语言的特点(二级)

【解析】本题考察C++语言中的头文件;包含<cmath>或<math.h>头文件后,可以使用sqrt、abs等数学函数,所以本题正确。

4.在C++语言中,标识符中可以有下划线‘_’。同时,‘_’也是C++语言的运算符。

【答案】错

【考纲知识点】基本运算、变量的定义与使用(一级)

【解析】本题考察C++中标识符的命名规则,以及C++基本运算;C++的标识符中可以用下划线,但是下划线不是C++语言的运算符,所以本题错误。

5.如果a是double类型的变量,而且值为3.5,则表达式a * 10的计算结果为35,且结果类型为int。

【答案】错

【考纲知识点】基本运算(一级),数据类型的转换(二级)

【解析】本题考察C++运算中除法的规则以及类型转换规则;在C++中,两个变量进行运算,如果两个变量中至少一个是double类型,那么结果为double类型,所以本题错误。

6.在if语句中,如果条件成立时需要执行多条语句,可以使用大括号‘{’和‘}’将这些语句括起来。

【答案】对

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

【解析】本题考察控制语句结构中的选择结构;如果条件成立时需要执行多条语句,可以使用大括号将这些语句括起来,所以本题正确。

7.循环语句的循环体有可能无限制地执行下去。

【答案】对

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

【解析】本题考察控制语句结构中的循环结构;如果每次判断循环条件的结果都为真,那么循环体有可能无限地执行下去,所以本题正确。

8. ++和==都是C++语言的运算符,但+=不是。

【答案】错

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

【解析】本题考察基本运算中的算术运算以及赋值语句;++是自增运算符,==是比较运算符,+=是复合加赋值运算符,三者都是C++语言的运算符,所以本题错误。

9.如果a为char类型的变量,且取值为大写字母'F',则执行语句a = a + 1;后,a的值会变为大写字母'G'。

【答案】对

【考纲知识点】ASCII编码(二级)

【解析】本题考察ASCII编码;大写字母'F'的ASCII码加1后,表示的是大写字母'G',所以本题正确。

10.表达式sqrt(9.0)的计算结果为3,且结果类型为int。

【答案】×

【考纲知识点】常用数学函数(二级)

【解析】本题考察常用数学函数中的sqrt函数,该函数的返回值类型为double,所以本题错误。

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

1.找素数

【问题描述】

小明刚刚学习了素数的概念:如果一个大于1的正整数,除了1和它自身外,不能被其他正整数整除,则这个正整数是素数。现在,小明想找到两个正整数 A 和 B 之间(包括A和B)有多少个素数?

【输入描述】

输入2行,第一行包含正整数A,第二行包含正整数B。约定 2<=A<=B<1000。

【输出描述】

输出一行,包含一个整数 C,表示找到C个素数。

【样例输入1】

2

10

【样例输出1】

4

【样例解释1】

在2和10之间有4个素数,分别为:2、3、5、7。

【样例输入2】

98

100

【样例输出2】

0

【题目大意】

统计整数A到B范围内的素数个数,数据范围不超过1000。

【考纲知识点】

多层分支/循环结构(二级)

【解题思路】

1. 枚举A到B,依次检查每个数是不是素数。

2. 用变量isPrime表示当前枚举的数n是否为素数,初始化为true,如果找到了除了1和n以外的因数,则把isPrime赋值为false。

3. 寻找n的因数时,只需要枚举2到根号n。因为如果n有一个大于根号n的因数k,那么就一定存在一个小于根号n的因数n/k。

4. 使用变量cnt记录素数的个数,最终输出即可。

【参考程序】

图片

2.自幂数判断

【问题描述】

自幂数是指,一个 N 位数,满足各位数字 N 次方之和是本身。例如,153是3位数,其每位数的3次方之和等于153,因此153是自幂数;1634是4位数,其每位数的4次方之和等于1634,因此1634是自幂数。

现在,输入若干个正整数,请判断它们是否是自幂数。

【输入描述】

输入第一行是一个正整数 M,表示有 M 个待判断的正整数。约定 1<M<100。

从第2行开始的 M 行,每行一个待判断的正整数。约定这些正整数均小于 10的8次方。

【输出描述】

输出 M 行,如果对应的待判断正整数为自幂数,则输出英文大写字母'T',否则输出英文大写字母'F'。

提示:不需要等到所有输入结束在依次输出,可以输入一个数就判断一个数并输出,再输入下一个数。

【样例输入1】

3

152

111

153

【样例输出1】

F

F

T

【样例输入2】

5

8208

548834

88593477

12345

5432

【样例输出2】

T

T

T

F

F

【题目大意】

判断M个给定的整数是否是自幂数。一个x位的整数n是自幂数的条件是:各位数字的x次方之和等于n。给定的正整数均小于 10的8次方。

【考纲知识点】

多层分支/循环结构(二级)

【解题思路】

1. 每次输入n之后,首先计算n的位数l。可以把n赋值给t,然后不断把t除以10,直到t等于0为止,每除一次就把变量l加1。

2. 得到位数l后,再次把t赋值为n,然后使用while循环,每次取t的个位,计算其l次方计入总和sum,然后把t除以10,直到t等于0为止。

3. 如果sum等于n,说明n是自幂数,按照题目要求输出即可。

【参考程序】

图片

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

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

相关文章

问ChatGPT如何优雅地分手/离婚,然后由心理学专家验证它说对了什么

ChatGPT是一种由AI驱动的写作生成器&#xff0c;它利用互联网上的各种信息回复人类问题与要求。它可以回答问题、讲笑话、创意写作和整理研究。 ChatGPT可以取代艺术家吗&#xff1f;ChatGPT可以创作交响曲吗&#xff1f;ChatGPT的内容是否都合乎伦理&#xff1f;面对AI的完全…

iTOP-2K1000开发板挂载U盘和固态到开发板

1.挂载固态硬盘分区 输入命令 mount /dev/sdb1 /mnt/将固态硬盘的分区挂载到/mnt 目录下&#xff0c;/dev/sdb1 为开发板实际识 别的固态硬盘节点 &#xff0c;大家一定要根据自己开发板的实际情况决定&#xff0c;如下图所示&#xff1a; 2.挂载 U 盘分区 输入命令 fdisk -…

无涯教程-Android - RadioGroup函数

RadioGroup类用于单选按钮集。 如果我们选中属于某个单选按钮组的一个单选按钮,它将自动取消选中同一组中以前选中的任何单选按钮。 RadioGroup属性 以下是与RadioGroup控制相关的重要属性。您可以查看Android官方文档以获取属性的完整列表以及可以在运行时更改这些属性的相关…

【数据库技术】NineData数据复制,加速实时数仓构建

8 月 30 日&#xff0c;由 NineData 和 SelectDB 共同举办的主题为“实时数据驱动&#xff0c;引领企业智能化数据管理”的线上联合发布会&#xff0c;圆满成功举办&#xff01;双方聚焦于实时数据仓库技术和数据开发能力&#xff0c;展示如何通过强大的生态开发兼容性&#xf…

项目:智慧教室(cubemx+webserver)

一。项目需求 二。实现外设控制 1.cubemx创建工程 &#xff08;1&#xff09;RCC配置为外部时钟&#xff0c;修改时钟参数 &#xff08;2&#xff09;SWD配置&#xff1a;为了不引脚冲突&#xff0c;使用 &#xff08;3&#xff09;串口的使用&#xff08;USART1&#xff0c;…

打破时空限制:海外网红营销中的直播与虚拟互动

随着全球互联网的普及和技术的迅速发展&#xff0c;传统的商业模式也在不断演变。其中&#xff0c;海外网红直播带货成为了一种引人注目的全新营销方式。近年来&#xff0c;虚拟技术的蓬勃发展为海外网红直播带货提供了新的可能性&#xff0c;不仅丰富了消费者的购物体验&#…

2023UTONMOS斯珂塔全球电竞大赛在粤举办

8月28日&#xff0c;2023 UTONMOS斯珂塔全球电竞大赛于中国广东举办。 此次大赛是由上海和数信息科技集团有限公司与广东关氏集团共同主办的全球性电子竞技盛会&#xff0c;其汇聚国内外头部行业嘉宾、全球的电竞爱好者参与&#xff0c;以和数集团旗下的3D国风玄幻MMORPG链游《…

【遮天】李小曼回归,新形象无差云曦,短板竟是身材?

Hello,小伙伴们&#xff0c;我是小郑继续为大家深度解析遮天 最新一集《遮天》已经更新&#xff0c;在成功卖掉段德之后&#xff0c;叶凡便离开妖帝坟冢&#xff0c;毕竟他身上拥有庞博从妖帝坟冢带出来的道经和被誉为中州至宝的绿铜 虽然这两样物品都在叶凡的苦海中&#xff0…

轴向磁通电驱动解析

轴向磁通电机的技术创新和量产应用&#xff0c;或将有效解决电动汽车领域目前所面临的一些突出难题&#xff0c;比如轻量化、扭矩密度和人们最为关心的续航里程等。在奔驰汽车刚刚发布的Vision One Eleven概念车&#xff0c;以及此前已经面世的法拉利SF90 Stradale、296GTB和迈…

突破5G封锁!逆风翻盘!华为新机Mate60王者归来 | 百能云芯

外界关注的华为Mate60系列手机「低调」上线&#xff0c;于29日突然开卖最新款旗舰手机Mate 60 Pro&#xff0c;多项实测数据显示&#xff0c;这台智能手机支持5G网络&#xff0c;意味华为与中芯国际携手突破美国的5G芯片封锁。但华为拒绝证实&#xff0c;表示要等9月发布会。 华…

c++图论免费ppt,简单深度理解图论

本篇博文想分享一个ppt,是帮助大家简单深度理解c图论. 作者承诺&#xff1a;分享的东西没有病毒&#xff0c;是资料。 分享的东西一个是ppt,ppt里面是150页的&#xff0c;里面将带领大家简单深度理解c图论&#xff0c;还有一个就是里面例题的数据&#xff0c;大家可以按照数据…

5年测试在职经验之谈:2年功能测试、3年自动化测试,从入门到不可自拔...

毕业3年了&#xff0c;学的是环境工程专业&#xff0c;毕业后零基础转行做软件测试。 已近从事测试行业8年了&#xff0c;自己也从事过2年的手工测试&#xff0c;从事期间越来越觉得如果一直在手工测试的道路上前进&#xff0c;并不会有很大的发展&#xff0c;所以通过自己的努…

Elasticsearch终端命令行用法大全

API作用使用场景curl localhost:9200/_cluster/health?pretty查看ES健康状态curl localhost:9200/_cluster/settings?pretty查看ES集群的设置其中persistent为永久设置&#xff0c;重启仍然有效&#xff1b;trainsient为临时设置&#xff0c;重启失效curl localhost:9200/_ca…

2023蓝帽杯初赛取证方向

案情介绍 2021年5月&#xff0c;公安机关侦破了一起投资理财诈骗类案件&#xff0c;受害人陈昊民向公安机关报案称其在微信上认识一名昵称为yang88的网友&#xff0c;在其诱导下通过一款名为维斯塔斯的APP&#xff0c;进行投资理财&#xff0c;被诈骗6万余万元。接警后&#xf…

冠达管理:市盈率公式?

市盈率是一种用来衡量公司股票价格相对于每股收益的目标。市盈率公式为市场价格除以每股收益。市盈率既能够用来衡量某个股票的价值&#xff0c;也能够用来比较不同公司之间的股票价格。本文将从市盈率的定义、计算方法、运用范围以及市盈率的局限性等多个角度来分析市盈率公式…

解决paramiko库在密码为空的情况下登陆失败的问题

发现源码client.py文件中缺少了在该情况下的逻辑进入&#xff0c;添加以下内容即可

c语言练习题--5

以上是valgrind的安装

ELT已死,EtLT才是现代数据处理架构的终点!

提到数据处理&#xff0c;经常有人把它简称为“ETL”。但仔细说来&#xff0c;数据处理经历了ETL、ELT、XX ETL&#xff08;例如&#xff0c;Reverse ETL、Zero-ETL&#xff09;到现在流行的EtLT架构几次更迭。目前大家使用大数据Hadoop时代&#xff0c;主要都是ELT方式&#x…

Talk | SIGGRAPH‘23 Best Paper徐瑞:全局一致点云法向估计、特征保持的点云重建

本期为TechBeat人工智能社区第526期线上Talk&#xff01; 北京时间8月30日(周三)20:00&#xff0c;山东大学硕士生—徐瑞的Talk已准时在TechBeat人工智能社区开播&#xff01; 他与大家分享的主题是: “全局一致点云法向估计、特征保持的点云重建”&#xff0c;他以全局一致点云…

邮件群发的功能特性

自动切换IP登录多账户发送 保证第三方发件邮箱系统发送成功率 由于第三方免费邮箱如同个IP登录多个163账号会造成被屏蔽的问题&#xff0c;我们采用自动拨号vps的方式可全国多个地区自动拨号切换IP,自动保证每个账号同时只登录一个账号发送&#xff0c;更可以多种类型小号混合…