版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025年3月GESP认证C++等级考试二级真题(含答案和解析-在末尾)一、单选题(每题2分,共30分)。1.题2025年春节有两件轰动全球的事件,一个是DeepSeek横空出世,另一个是贺岁片《哪吒2》票房惊人,入了全球票房榜。下面关于DeepSeek与《哪吒2》的描述成立的是()。A.《哪吒2》是一款新型操作系统B.DeepSeek是深海钻探软件C.《哪吒2》可以生成新的软件D.DeepSeek可以根据《哪吒2》的场景生成剧情脚本2.对整型变量N,如果它能够同时被3和5整除,则输出N是含有至少两个质因数。如果用流程图来描述处理过程,则输出语句应该在哪种图形框中()。A.圆形框B.椭圆形框C.平行四边形框D.菱形框3.下面C++代码执行,其输出是()。inta=3,b=4;a==b;b==a;cout<<a<<''<<b<<endl;A.34B.33C.44D.434.求三色彩球的颜色。有数量无限的红(Red)绿(Green)蓝(Blue)三种彩球排成一行,每组先为5个红色球,随后3个绿色,最后为2个蓝色。每个球都有编号,从左到右依次为1,2,3……。输入整数代表编号,求该编号球的颜色。下面是C++代码是实现,正确说法是()。intN,remainder;cin>>N;remainder=N%10;//remainder变量保存余数。if((1<=remainder)&&(remainder<=5))cout<<"Red";elseif((6<=remainder)&&(remainder<=8))cout<<"Green";elseif((remainder==9)||(remainder==0))cout<<"Blue";A.将elseif((remainder==9)||(remainder==0))修改为else效果相同B.将((1<=remainder)&&(remainder<=5))修改为(remainder<=5)效果相同C.elseif((6<=remainder)&&(remainder<=8))写法错误,应修改为elseif(6<=remainder<=8)。D.根据题意remainder=N%10应修改为remainder=N/105.下面C++代码执行后其输出是()。inttnt=0;for(inti=0;i<10;i++)if(i%3)tnt+=1;elsetnt+=2;cout<<tnt;A.18B.17C.16D.146.下面C++代码执行后输出是()。inti;for(i=10;i>0;i-=2)break;cout<<i;A.10B.8C.0D.因为循环执行时会执行break语句而终止循环,所以i的值不确定。7.下面C++代码执行后输出是()。inti;for(i=0;i<10;i++){if(i%3==0)continue;cout<<"0"<<"#";}if(i>=10)cout<<"1"<<"#";A.0#0#0#0#0#0#B.0#0#0#0#0#0#0#1#C.0#0#0#0#1#D.0#0#0#0#0#0#1#8.下面C++代码执行后的输出是()。inti,j;for(i=0;i<5;i++)for(j=i;j>0;j-=1)printf("%d-",j);A.1-2-1-3-2-1-4-3-2-1-B.1-2-1-3-2-1-4-3-2-1C.0-0-1-0-1-2-0-1-2-3-D.0-0-1-0-1-2-0-1-2-39.下面C++代码执行后,将输出能被2整除且除以7余数为2的数。下列选项不能实现的是()。for(inti=0;i<100;i++)if_______________________cout<<i<<"";A.((i%2==0)&&(i%7==2))B.((!(i%2))&&(i%7==2))C.((!(i%2))&&(!(i%7)))D.((i%2!=1)&&(i%7==2))10.下面C++代码用于求1到N之间正整数中含有3的数的个数,比如123和32都是符合条件的数。则前后两处横线应填入代码分别是()。inti,j;intcnt=0,N;cout<<"请输入正整数N:";cin>>N;for(i=1;(j=i)<N;i++)while(j!=0)if(j%10==3){cnt+=1;__________;}else__________;cout<<cnt<<"";A.B.C.D.11.在数学中N!表示N的阶乘,即1到N的乘积,如3!=1*2*3,且0!=1。下面的两段C++代码用于求1到N的阶乘之和,如N为3,则结果是9(1!+2!+3!的值)。选项中的说法正确的是()。//实现1。inti,N;cin>>N;inttnt=0,last=1;for(i=1;i<N+1;i++){last*=i;tnt+=last;}cout<<tnt<<endl;//实现2。inti,N;cin>>N;inttnt=0,tmp;for(i=1;i<N+1;i++){tmp=1;for(intj=1;j<i+1;j++)tmp*=j;tnt+=tmp;}cout<<tnt<<endl;A.虽然实现1的代码短小,但效率并不高。B.实现2的代码效率更高,且更易于理解。C.实现1因为应用了前项计算结果,计算量更小,因此效率高。D.两种实现,效率几乎一致。12.哥德巴赫猜想是指大于2的偶数都可以分解为两个质数之和,下面的代码用于验证4-1000之内的偶数能否分解为两个质数之和。下面C++代码中假设isPrime是已经定义好用于判断正整数N是否为质数,返回bool值。对该段代码,错误的说法是()。for(i=4;i<1000;i+=2)for(j=2;j<i;j++)if(isPrime(j)&&isPrime(i-j)){printf("%d=%d+%d\n",i,j,i-j);break;}A.将代码isPrime(j)&&isPrime(i-j)修改为isPrime(j)==true&&isPrime(i-j)==true效果相同B.代码执行后,输出的一对质数,一定是小的数在前。C.即便将外层循环中i的上界1000修改为很大的整数,也不能说从数学上证明了哥德巴赫猜想。D.根据题意,break语句应该移到if语句块之外。13.已知C++代码和执行后的期望输出如下,相关说法正确的是()。inti,j;intlast,N;cout<<"请输入层数N:";cin>>N;last=1;for(i=1;i<N;i++){for(j=1;j<i+1;j++){//L1。if(last>9)last=1;cout<<last<<"";last+=1;}printf("\n");}A.倒数第二行的printf("\n")有错,应该修改为cout<<endl;,printf()函数不能输出换行。B.last+=1修改为last=last+1执行效果相同C.代码中L1标记行中的j<i+1应修改为j<iD.外层for循环前的last=1修改为last=0执行效果相同14.在C++中,()最适合填入横线处连续5次正确生成1到10之间的随机整数?for(inti=0;i<5;i++)__________________;A.rand()%11B.rand()%10C.rand()%10+1D.rand()%9+115.在C++中,如果a和b均为float类型的变量,那么二者如果相差足够小(比如0.000001),就可以视作相等。比如2.2345676和2.2345677就可以视作相等。下列哪个表达式能用来正确判断“a等于b”()。A.((b-a)<0.000001)B.((b-a)<=0.000001)C.(abs(b-a)<=0.000001)D.(sqrt(b-a)<=0.000001)二、判断题(每题2分,共20分)。16.题C++、Python都是高级编程语言,它们的每条语句最终都要通过机器指令来完成。()。A.正确B.错误17.在C++代码中,假设N为正整数,则N-N/10*10与N%10都将获得N的个位数。()。A.正确B.错误18.题C++语句cout<<((10<=N<=12)?"true":"false")中,假设整型变量N为12,则其输出为true。原因是执行10<=N后其值为true,true与12相比仍然是true。()。A.正确B.错误19.题C++表达式(sqrt(N)*sqrt(N))==N中的N如果为正整数,则表达式的值为true,相当于开平方后平方是本身。()。A.正确B.错误20.下面C++执行后将输出3*2=6。()。inta=2,b=3;a=a-b;b=a+b;a=b-a;printf("%d*%d=%d\n",a,b,a*b);A.正确B.错误21.下面C++代码执行后将输出10。()。inti;for(i=0;i<10;i++)continue;cout<<i<<endl;A.正确B.错误22.下面C++代码执行后将输出1。()。inti;for(i=1;i<10;i++){break;continue;}cout<<i<<endl;A.正确B.错误23.下面的C++代码执行后将输出10行"OK"。()。for(inti=0;i<5;i++)for(intj=0;j<i;j++)printf("OK\n");A.正确B.错误24.将下面C++代码中的for循环中的i=1调整为i=0的输出结果相同。()。inttnt=0;for(inti=1;i<5;i++)//i=1tnt+=i;cout<<tnt;A.正确B.错误25.下面C++代码执行后将输出0123。()。for(i=0;i<5;i++)for(i=0;i<i;i++)continue;printf("%d\n",i);A.正确B.错误三、编程题(每题25分,共50分)。26.等差矩阵。题目描述:小A想构造一个n行m列的矩阵,使得矩阵的每一行与每一列均是等差数列。小A发现,在矩阵的第i行第j列填入整数i×j,得到的矩阵能满足要求。你能帮小A输出这个矩阵吗?输入格式:一行,两个正整数n,m。输出格式:共n行,每行m个由空格分割的整数,表示小A需要构造的矩阵。数据范围:对于所有测试点,保证1≤n≤50,1≤m≤50。27.时间跨越。题目描述:假设现在是y年m月d日h时而k小时后是y'年m'月d'日h'时,对于给定的y,m,d,h,k,小杨想请你帮他计算出对应的y',m',d',h'是多少。输入格式:输入包含五行,每行一个正整数,分别代表y,m,d,h,k。输出格式:输出四个正整数,代表y',m',d',h'。数据范围:对于全部数据,保证有2000≤y≤3000,1≤m≤12,1≤d≤31,0≤h≤23,1≤k≤24。数据保证为合法时间。提示:闰年判断规则如下。普通闰年:年份能被4整除,但不能被100整除。世纪闰年:年份能被400整除。满足以上任意一条规则的年份就是闰年,否则是平年。答案解析如下。1.答案:D。解析:DeepSeek是AI模型,具备生成剧情脚本的能力;《哪吒2》是电影,不涉及操作系统或软件生成功能。2.答案:C。解析:流程图中输出语句应使用平行四边形框,表示数据的输入/输出操作。3.答案:A。解析:a==b和b==a是逻辑比较,不修改变量值,故输出初始值34。4.答案:A。解析:remainder=N%10正确计算编号在周期中的位置,elseif可替换为else因剩余情况唯一。5.答案:D。解析:循环中i%3非零时tnt+=1(6次分别为1、2、4、5、7、8),否则tnt+=2(4次分别为0、3、6、9),总和为6*1+4*2=14。6.答案:A。解析:break立即终止循环,i保持初始值10。7.答案:D。解析:i%3!=0时输出0#(i=1,2,4,5,7,8共6次),循环结束后i=10输出1#,结果为0#0#0#0#0#0#1#。8.答案:A。解析:外层循环i=0时内层不执行;i=1输出1-;i=2输出2-1-;依此类推,结果为1-2-1-3-2-1-4-3-2-1-。9.答案:C。解析:选项C中未明确除以7余数是否为2。10.答案:B。解析:当前数位为3使用break结束检查当前数字,j/=10逐位检查。11.答案:C。解析:实现1利用阶乘累积减少计算量(O(n)),实现2重复计算阶乘(O(n²)),效率差异显著。12.答案:D。解析:break应在找到质数对后立即退出内层循环,移至if外会导致错误跳过后续检查。13.答案:B。解析:last+=1与last=last+1完全等价。14.答案:C。解析:rand()%10+1生成1~10的随机数。15.答案:C。解析:浮点数相等需用绝对值误差判断,abs(b-a)<=0.000001覆盖正负差异。16.答案:正确。解析:高级语言需编译/解释为机器指令执行。17.答案:正确。解析:N-N/10*10等价于N%10,均获取个位数。18.答案:正确。解析:<=运算符为左结合,先运算为10<=N后其值为true,true<=12运算时true被类型转换为1,1<=12的值为true。19.答案:错误。解析:浮点数精度问题会导致即使是浮点数sqrt(N)*sqrt(N)也与N相等(如N=2.56)。20.答案:正确。解析:该段代码交换了a和b的值。21.答案:正确。解析:循环结束后i=10,cout输出10。22.答案:正确。解析:break立即终止循环,i保持初始值1。23.答案:正确。解析:内层循环次数为0+1+2+3+4=10次,输出10行"OK"。24.答案:正确。解析:i=1和i=0起始均累加1~4,结果相同。25.答案:错误。解析:printf在循环外,只能输出一次i。26.参考答案。#include<bits/stdc++.h>usingnamespacestd;intn,m;intmain(){scanf("%d%d",&n,&m);assert(1<=n&&n<=50&&1<=m&&m<=50);for(inti=1;i<=n;i++)for(intj=1;j<=m;j++)printf("%d%c",i*j,"\n"[j==m]);return0;}27
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生态管理达标承诺书(6篇)
- 社区医疗服务质量承诺书范文4篇
- 企业网络配置与管理手册
- 外贸企业信用风险管理操作手册
- 2026年度工业废水处理站维护合同二篇
- 智能工厂设备维护管理手册
- 职场人士办公椅调整与维护方案
- 产品研发项目管理流程文档化管理解决方案
- 增强团队合作意识培养集体荣誉感-小学主题班会课件
- 建筑装饰公司装修材料质量检测标准流程指南
- 2026石家庄新天智慧能源有限公司招聘44人考试备考试题及答案解析
- 2026春季江西铜业集团有限公司贵溪冶炼厂校园招聘变更20人笔试备考试题及答案解析
- 2026年全民营养周营养餐桌家庭健康宣传课件
- 算电协同发展契机 (课件)
- 2026年四川省成都市网格员招聘考试参考试题及答案解析
- ISO140012026标准解读文件
- 机关工会财务审批制度
- 八年级义务教育劳动国测模拟试题
- 2026年职工职业技能竞赛(泵站运行工赛项)参考试指导题库(含答案)
- 2026年如何制定有效的设备维护计划
- 招商运营部制度汇编范本
评论
0/150
提交评论