GESP:2024年12月 C++二级 真题及解析

四季读书网 1 0
GESP:2024年12月 C++二级 真题及解析
老师已为大家备好电子打印版,需要完整电子版文件的朋友,可以拉到文末查看
GESP:2024年12月 C++二级 真题及解析-第1张图片-四季读书网
GESP:2024年12月 C++二级 真题及解析-第2张图片-四季读书网
GESP:2024年12月 C++二级 真题及解析-第3张图片-四季读书网
GESP:2024年12月 C++二级 真题及解析-第4张图片-四季读书网
GESP:2024年12月 C++二级 真题及解析-第5张图片-四季读书网
GESP:2024年12月 C++二级 真题及解析-第6张图片-四季读书网
GESP:2024年12月 C++二级 真题及解析-第7张图片-四季读书网
GESP:2024年12月 C++二级 真题及解析-第8张图片-四季读书网
GESP:2024年12月 C++二级 真题及解析-第9张图片-四季读书网
GESP:2024年12月 C++二级 真题及解析-第10张图片-四季读书网
GESP:2024年12月 C++二级 真题及解析-第11张图片-四季读书网

【答案解析】

1.解释:答案选C。
瑞典皇家科学院于2024年10月8日宣布,将2024年诺贝尔物理学奖授予约翰·J·霍普菲尔德(John J. Hopfield)和杰弗里·E·辛顿(Geoffrey E. Hinton),以表彰他们利用人工神经网络实现机器学习的奠基性发现和发明
GESP:2024年12月 C++二级 真题及解析-第12张图片-四季读书网
2.解释:答案选A。
计算机系统中存储的最小单位是位(bit,二进制位);基本单位是字节(Byte)简写为B,一个字节包含8个位(bit)。常见的存储单位还有千字节(KB,Kilobyte)、兆字节(MB,Megabyte)、吉字节(GB,Gigabyte)、太字节(TB,Terabyte)等,这些都是以字节(Byte)为基础进行换算的。
GESP:2024年12月 C++二级 真题及解析-第13张图片-四季读书网
3.解释:答案选D。
按照运算符优先级,用数学算式表示如下:
3%3=0
0*2=0
3+0-1=2
本题考查有关C/C++语言的运算符优先级顺序,取余%、乘*和除/这三个运算符的优先级是相同的,都是从左到右结合。
相关知识点的复习与拓展:
截至考试当年12月份,有关C/C++语言的运算符优先级,详见下表——
GESP:2024年12月 C++二级 真题及解析-第14张图片-四季读书网

4.解释:答案选B。

变量i的取值从09 循环了10次,每次输出一个数字。具体为循环从i=0开始,每次i递增1,直到i<10不成立为止。每次循环中,printf("%d",i);输出当前的量i 的值。因此,输出依次为——0123456789
最终结果为0123456789
GESP:2024年12月 C++二级 真题及解析-第15张图片-四季读书网

5.解释:答案选D。

变量tnt未赋初值,因此累加之后的值也不确定。

6.解释:答案选B。

题干代码中if(i%2)语句,括号内为布尔值,任何非零值都会被隐式转换换为true,而零值会被转换为false
相关知识点的复习与拓展:
截至本次考试当年12月份,有关continuebreak的运行机制,详细解释见下图——
GESP:2024年12月 C++二级 真题及解析-第16张图片-四季读书网

7.解释:答案选C。

题干代码中if(i%3)语句,括号内为布尔值,任何非零值都会被隐式转换为true,而零值会被隐式转换为false
变量i不能被3整除,即i%3结果不为0 时,跳过;当变量 i 能被 整除,即 i%3 结果为  时,
当变量i 的值为 0369 时候输出0#, 一共输出4次,循环结束时,变量i 的值为10,输出一次1#。最终输出结果为0#0#0#0#1#

相关知识点的复习与拓展:

截至本次考试当年12月份,有关continuebreak的运行机制,详细解释见上题解释图。

8.解释:答案选C。

当变量i的值是7 的倍数时,i%7的值为0(被隐式转换为true),因此C选项错误。本题需要注意的是,运算符!是从右到左结合,优先级高于取余%*和除/这三个运算符,从下图代码的运行结果可以看出来——

GESP:2024年12月 C++二级 真题及解析-第17张图片-四季读书网
相关知识点的复习与拓展:
截至考试当年12月份,有关C/C++语言的运算符优先级,详见下表——
GESP:2024年12月 C++二级 真题及解析-第18张图片-四季读书网
9.解释:答案选D。

选项A、B、C,都涉及累加操作,变量tnt存储的是所有余数之和。

选项D,直接将N%10的结果赋值给tnt存储,即tnt始终保存当前变量N的个位数。因此tnt最终储存的是变量N的当前值的最高位的那一位数字。

10.解释:答案选A。

当变量i的值为0时,内层循环不执行,因为j<i条件不满足。

当变量i 的值自增为 1 时,内层循环运行一次,输出数字:0 。

当变量i 的值自增为 时,内层循环运行两次,依次输出数字:01

当变量i 的值自增为 时,内层循环运行三次,依次输出数字:012

当变量i 的值自增为 时,内层循环运行四次,依次输出数字:0123 。

综合所有输出结果为0010120123

11.解释:答案选A。

选项A,将换行写到 L2 处,则每输出一个乘法算式换行一次,输出结果为一个乘法算式占一行,选项A错误

选项Bprintf("%c","\n");printf("\n")功能完全等效,所以效果也相同。

选项C,Lie*Hang>9Lie*Hang>=10对于整数乘积来说是等价的。

选项D,条件判断改变后,逻辑上没有变化,因为乘法具有交换律,即Lie*HangHang*Lie相同。

12.解释:答案选D。

变量 nowNum用来保存当前的数值的阶乘,是乘出来的;变量tnt用来保存阶乘和,是加出来的。

13.解释:答案选B。

孪生素数是指间隔为2的两个数均为素数。要保证两个数都在数据范围内,因此i+2最大为Mfor()循环的执行条件为i<M-1

14.解释:答案选D。

当高度为5时,第一行 *号前输出 4个空格第二行 * 号前输出 个空格
,…,以此类推,输出空格数的规律为高度-行号。下标从0开始枚举,则用代码表示为height-i-1。同理可以找出n个 *输出空格个数的规律。

15.解释:答案选C。

选项A:max(max(a,b),c)

计算结果为,max(max(10,20),30)→ max(20,30)30,符合输出要求。

选项B:min(a + b,c)

计算结果为,min(10+20,30)min(30,30→ 30,符合输出要求。

选项C:sqrt(a+b+c)

计算结果为,sqrt(10+20+30)→ sqrt(60)→ 7.746不符合输出要

选项D:(a+b+c)/2

计算结果为,(10+20+ 30)/2→ 60/2→ 30,符合输出要求。

GESP:2024年12月 C++二级 真题及解析-第19张图片-四季读书网
GESP:2024年12月 C++二级 真题及解析-第20张图片-四季读书网

【答案解析】

1.解释:正确。
本题考察Windows操作系统的基本操作,建立副本,用复制(Ctrl+C)、粘贴(Ctrl+V)快捷键。
GESP:2024年12月 C++二级 真题及解析-第21张图片-四季读书网
2.解释:正确。
代码N/10进行整数除法会去掉N的个位数,N/10*10则是去掉个位数后的数。N-(N/10*10)的结果就是N的个位数。

3.解释:正确。

先计算表达式10<=N的值,再拿该值和 12 进行比较;表达式10<=N的值

结果为1 (布尔值true),和 12 比较,值为1 (布尔值true)

GESP:2024年12月 C++二级 真题及解析-第22张图片-四季读书网

4.解释:正确。

函数 sqrt(N)计算整数N平方根int(sqrt(N))将其转换为整数(小数部分舍去)。如果int(sqrt(N))*int(sqrt(N))等于 N,说明sqrt(N)是一个整数,即整数N一个完全平方数。

5.解释:错误。

输出结果为s%a*%b=6%d表示一个int类型的占位符;%%是表示输出一个百分比符号%

相关知识点的复习与拓展:
截至考试当年12月份,格式化输出函数printf() 的相关语法和参数详见下表——

GESP:2024年12月 C++二级 真题及解析-第23张图片-四季读书网

6.解释:错误。

本题考察C++变量的命名规则。变量命名时需要满足:

①变量名只能由大小写字母、数字和下划线_组成;

首位字符不能是数字;

变量名不能是C++中的关键字(保留字)。

题目中提到的循环变量名为 _在C++中,单个下划线作为变量名是合法的,不会导致编译错误。

相关知识点的复习与拓展:

下图为截至本次考试当年12月份,C++的关键字列表——

GESP:2024年12月 C++二级 真题及解析-第24张图片-四季读书网

7.解释:错误。

在循环体内,continue;会跳过当前迭代的剩余部分,导致break;语句永远不会被执行。因此,循环会正常执行,变量i的值从 0自增到10。最终输出的值应为 10,而非0。

GESP:2024年12月 C++二级 真题及解析-第25张图片-四季读书网

8.解释:正确。

当变量i的值为8 时,内部循环执行8次,输出 OK8次。

当变量 i 的值递减为 6 时,内部循环执行6次,输出 OK6次。

当变量 i 的值递减为 4 时,内部循环执行6次,输出 OK 4次。

当变量 i 的值递减为 2 时,循环终止。

一共输出OK 的行数,合计 8+6+4=18 行。

9.解释:正确

题干代码功能为统计取值范围内奇数的个数,将 i=1 调整为 i=0  ,并没有增加奇数个数,对结果无影响

修改前,变量i取值分别为:1234,最终输出 cnt的值为 2
修改后,变量 i 取值分别为:01234最终输出 cnt 的值仍然为 2 。

10.解释:正确。

两者的逻辑完全等价,都是将tnt逐步累加 1 到 10 的值,最终输出 55 。此外,通常情况下, for() 循环可以被等效地转换为 while() 取循环。

GESP:2024年12月 C++二级 真题及解析-第26张图片-四季读书网

GESP 2024年12月 C++二级 寻找数字‍


#include<iostream>#include<cmath>//用了两个数学函数:平方根函数sqrt(num), 幂函数 pow(num, n)  using namespace std;intmain(){    int t, a, b;    cin>>t;    while(t--)    {        cin>>a;        b = pow(a, 1.0/4); //a的四次方根         //b = sqrt(sqrt(a)); //也可以对a进行两次开平方得到四次方根         if(pow(b,4) == a) cout<<b<<endl;        else cout<<-1<<endl;    }    return 0;}
GESP:2024年12月 C++二级 真题及解析-第27张图片-四季读书网
GESP:2024年12月 C++二级 真题及解析-第28张图片-四季读书网

GESP 2024年12月 C++二级 数位和

#include<iostream>using namespace std;intmain(){    int n, sum, ans=0;    long long num;  //10e12,要开long long    cin>>n;    while(n--)    {        cin>>num;        sum=0;        while(num) //数位分离思想,求所有数位的和        {            sum+=num%10;            num/=10;        }        if(sum > ans)        {            ans=sum;        }     }    cout<<ans;    return 0;}
GESP:2024年12月 C++二级 真题及解析-第29张图片-四季读书网

课程体系——

GESP:2024年12月 C++二级 真题及解析-第30张图片-四季读书网
需要无水印PDF格式文件,或者课程体系咨询,欢迎扫描下面二维码添加加好友垂询。
GESP:2024年12月 C++二级 真题及解析-第31张图片-四季读书网

GESP:2024年12月 C++二级 真题及解析-第32张图片-四季读书网

▍ 声明:本文整理自网络,如有侵权,请联系删除。

本公号刊载此文,是出于合法合理地分享和传播信息,扩大大受众范围,促进学术交流,推动共同进步之目的。公众号持有人郑重声明,本文的发布,将严格遵守相关规定和法律法规,不侵犯任意潜在作者的权益,不改变引用原文(若有)的意图和内容。若有来源标注错误或侵犯了您的合法权益,请随时与我们联系协商,联系(QQ):993225721,我们将及时更正、删除。文章若有幸得到转载,首先,公众号持有人感谢转载人为读者阅读提供了有价值的信息和知识,希望文章能够在被转载的平台上得到更广泛的传播和交流;其次,转载人应充分考虑到转载动作本身所可能带来的相应的风险和责任,包括但不限于侵犯知识产权、侵犯他人权益等行为所引起的法律责任,确保本文的合法传播和使用。同时,本人也极其愿意在转载过程中尽力配合转载人了解、关注、规避、消除相关的潜在风险。若转载人有相任何关疑虑,同样欢迎随时与我们联系协商,联系(QQ):993225721。

喜欢您关注我们哦——

抱歉,评论功能暂时关闭!