老师已为大家备好电子打印版,需要完整电子版文件的朋友,可以拉到文末查看。 【答案解析】
1.解释:答案选C。 瑞典皇家科学院于2024年10月8日宣布,将2024年诺贝尔物理学奖授予约翰·J·霍普菲尔德(John J. Hopfield)和杰弗里·E·辛顿(Geoffrey E. Hinton),以表彰他们利用人工神经网络实现机器学习的奠基性发现和发明。 2.解释:答案选A。 计算机系统中存储的最小单位是位(bit,二进制位);基本单位是字节(Byte)简写为B,一个字节包含8个位(bit)。常见的存储单位还有千字节(KB,Kilobyte)、兆字节(MB,Megabyte)、吉字节(GB,Gigabyte)、太字节(TB,Terabyte)等,这些都是以字节(Byte)为基础进行换算的。 3.解释:答案选D。 按照运算符优先级,用数学算式表示如下: 3%3=0 0*2=0 3+0-1=2 本题考查有关C/C++语言的运算符优先级顺序,取余%、乘*和除/这三个运算符的优先级是相同的,都是从左到右结合。相关知识点的复习与拓展: 截至考试当年12月份,有关C/C++语言的运算符优先级,详见下表—— 4.解释:答案选B。
变量 i的取值从0到9 循环了10次,每次输出一个数字。具体为循环从i=0开始,每次i递增1,直到i<10不成立为止。每次循环中,printf("%d",i);输出当前的量i的值。因此,输出依次为——0,1,2,3,4,5,6,7,8,9。最终结果为 0123456789。5.解释:答案选D。
变量 tnt未赋初值,因此累加之后的值也不确定。6.解释:答案选B。
题干代码中 if(i%2)语句,括号内为布尔值,任何非零值都会被隐式转换换为true,而零值会被转换为false。相关知识点的复习与拓展: 截至本次考试当年12月份,有关 continue和break的运行机制,详细解释见下图——7.解释:答案选C。
题干代码中 if(i%3)语句,括号内为布尔值,任何非零值都会被隐式转换为true,而零值会被隐式转换为false。变量 i不能被3整除,即i%3结果不为0 时,跳过;当变量i能被 3 整除,即i%3结果为 0 时,当变量 i的值为 0、3、6、9 时候输出0#, 一共输出4次,循环结束时,变量i的值为10,输出一次1#。最终输出结果为0#0#0#0#1#。相关知识点的复习与拓展:
截至本次考试当年12月份,有关 continue和break的运行机制,详细解释见上题解释图。8.解释:答案选C。
当变量
i的值是7 的倍数时,i%7的值为0(被隐式转换为true),因此C选项错误。本题需要注意的是,运算符!是从右到左结合,优先级高于取余%、乘*和除/这三个运算符,从下图代码的运行结果可以看出来——相关知识点的复习与拓展: 截至考试当年12月份,有关C/C++语言的运算符优先级,详见下表—— 9.解释:答案选D。 选项A、B、C,都涉及累加操作,变量
tnt存储的是所有余数之和。选项D,直接将
N%10的结果赋值给tnt存储,即tnt始终保存当前变量N的个位数。因此tnt最终储存的是变量N的当前值的最高位的那一位数字。10.解释:答案选A。
当变量
i的值为0时,内层循环不执行,因为j<i条件不满足。当变量
i的值自增为 1 时,内层循环运行一次,输出数字:0 。当变量
i的值自增为 2 时,内层循环运行两次,依次输出数字:0,1。当变量
i的值自增为 3 时,内层循环运行三次,依次输出数字:0,1,2。当变量i的值自增为 4 时,内层循环运行四次,依次输出数字:0,1,2,3 。综合所有输出结果为:
0010120123。11.解释:答案选A。
选项A,将换行写到 L2 处,则每输出一个乘法算式换行一次,输出结果为一个乘法算式占一行,选项A错误。
选项B,
printf("%c","\n");与printf("\n")功能完全等效,所以效果也相同。选项C,
Lie*Hang>9与Lie*Hang>=10,对于整数乘积来说是等价的。选项D,条件判断改变后,逻辑上没有变化,因为乘法具有交换律,即
Lie*Hang与Hang*Lie相同。12.解释:答案选D。
变量
nowNum用来保存当前的数值的阶乘,是乘出来的;变量tnt用来保存阶乘和,是加出来的。13.解释:答案选B。
孪生素数是指间隔为2的两个数均为素数。要保证两个数都在数据范围内,因此i+2最大为M,for()循环的执行条件为i<M-1。14.解释:答案选D。
当高度为5时,第一行*号前输出 4个空格,第二行*号前输出 3 个空格,…,以此类推,输出空格数的规律为 高度-行号。下标从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,符合输出要求。
【答案解析】
1.解释:正确。 本题考察Windows操作系统的基本操作,建立副本,用复制(Ctrl+C)、粘贴(Ctrl+V)快捷键。 2.解释:正确。 代码N/10进行整数除法会去掉N的个位数,N/10*10则是去掉个位数后的数。N-(N/10*10)的结果就是N的个位数。3.解释:正确。
先计算表达式
10<=N的值,再拿该值和 12 进行比较;表达式10<=N的值结果为1 (布尔值
true),和 12 比较,值为1 (布尔值true)。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()的相关语法和参数,详见下表——
6.解释:错误。
本题考察C++变量的命名规则。变量命名时需要满足:
①变量名只能由大小写字母、数字和下划线
_组成;②首位字符不能是数字;
③变量名不能是C++中的关键字(保留字)。
题目中提到的循环变量名为
_,在C++中,单个下划线作为变量名是合法的,不会导致编译错误。相关知识点的复习与拓展:
下图为截至本次考试当年12月份,C++的关键字列表——
7.解释:错误。
在循环体内,
continue;会跳过当前迭代的剩余部分,导致break;语句永远不会被执行。因此,循环会正常执行,变量i的值从 0自增到10。最终输出的值应为 10,而非0。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取值分别为:1、2、3、4,最终输出cnt的值为 2;修改后,变量 i取值分别为:0、1、2、3、4,最终输出cnt的值仍然为 2 。10.解释:正确。
两者的逻辑完全等价,都是将
tnt逐步累加 1 到 10 的值,最终输出 55 。此外,通常情况下,for()循环可以被等效地转换为while()取循环。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++二级 数位和
#include<iostream>using namespace std;intmain(){int n, sum, ans=0;long long num; //10e12,要开long longcin>>n;while(n--){cin>>num;sum=0;while(num) //数位分离思想,求所有数位的和{sum+=num%10;num/=10;}if(sum > ans){ans=sum;}}cout<<ans;return 0;}
课程体系——
需要无水印PDF格式文件,或者课程体系咨询,欢迎扫描下面二维码添加加好友垂询。
▍ 声明:本文整理自网络,如有侵权,请联系删除。
本公号刊载此文,是出于合法合理地分享和传播信息,扩大大受众范围,促进学术交流,推动共同进步之目的。公众号持有人郑重声明,本文的发布,将严格遵守相关规定和法律法规,不侵犯任意潜在作者的权益,不改变引用原文(若有)的意图和内容。若有来源标注错误或侵犯了您的合法权益,请随时与我们联系协商,联系(QQ):993225721,我们将及时更正、删除。文章若有幸得到转载,首先,公众号持有人感谢转载人为读者阅读提供了有价值的信息和知识,希望文章能够在被转载的平台上得到更广泛的传播和交流;其次,转载人应充分考虑到转载动作本身所可能带来的相应的风险和责任,包括但不限于侵犯知识产权、侵犯他人权益等行为所引起的法律责任,确保本文的合法传播和使用。同时,本人也极其愿意在转载过程中尽力配合转载人了解、关注、规避、消除相关的潜在风险。若转载人有相任何关疑虑,同样欢迎随时与我们联系协商,联系(QQ):993225721。 喜欢您关注我们哦——































