2024年6月GESP编程能力认证C++等级考试一级真题(含答案和解析-在末尾)_第1页
2024年6月GESP编程能力认证C++等级考试一级真题(含答案和解析-在末尾)_第2页
2024年6月GESP编程能力认证C++等级考试一级真题(含答案和解析-在末尾)_第3页
2024年6月GESP编程能力认证C++等级考试一级真题(含答案和解析-在末尾)_第4页
2024年6月GESP编程能力认证C++等级考试一级真题(含答案和解析-在末尾)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2024年6月GESP编程能力认证C++等级考试一级真题(含答案和解析-在末尾)一、单选题(每题2分,共30分)。1.在C++中,下列不可做变量的是()。A.five-StarB.five_starC.fiveStarD._fiveStar2.题C++表达式3-3*3/5的值是()。A.-1.2B.1C.0D.23.在C++中,假设N为正整数,则表达式cout<<(N%3+N%7)可能输出的最大值是()。A.6B.8C.9D.104.题C++语句printf("5%%2={%d}\n",5%2)执行后的输出是()。A.1={1}B.5%2={5%2}C.5%2={1}D.5={1}5.对整型变量i,执行C++语句cin>>i,cout<<i时如果输入5+2,下述说法正确的是()。A.将输出整数7B.将输出5C.语句执行将报错,输入表达式不能作为输出的参数。D.语句能执行,但输出内容不确定。6.下面C++代码执行后的输出是()。floata;a=101.101;a=101;printf("a+1={%.0f}",a+1);A.102={102}B.a+1={a+1}C.a+1={102}D.a先被赋值为浮点数,后被赋值为整数,执行将报错。7.表达式9/4-6%(6-2)*10的值是()。A.-17.75B.-18C.-14D.-12.758.下面C++代码执行时输入10后,正确的输出是()。intN;cout<<"请输入正整数:";cin>>N;if(N%3)printf("第5行代码%2d",N%3);elseprintf("第6行代码%2d",N%3);A.第5行代码1B.第6行代码1C.第5行代码1D.第6行代码19.下面C++代码执行后输出是()。intSum=0,i=0;for(;i<10;)Sum+=i++;cout<<i<<""<<Sum;A.945B.1055C.1045D.115510.下面C++代码用于判断N是否为质数(只能被1和它本身整除的正整数)。程序执行后,下面有关描述正确的是()。intN;cout<<"请输入整数:";cin>>N;boolFlag=false;if(N>=2){Flag=true;for(inti=2;i<N;i++)if(N%i==0){Flag=false;break;}}if(Flag)cout<<"是质数";elsecout<<"不是质数";A.如果输入负整数,可能输出“是质数”。B.如果输入2,将输出“不是质数”,因为此时循环不起作用。C.如果输入2,将输出“是质数”,即便此时循环体没有被执行。D.如果将if(N>=2)改为if(N>2)将能正确判断N是否质数11.下面的C++代码用于求1~N之间所有奇数之和,其中N为正整数,如果N为奇数,则求和时包括N。有关描述错误的是()。intN;cout<<"请输入正整数:";cin>>N;inti=1,Sum=0;while(i<=N){if(i%2==1)Sum+=i;i+=1;}cout<<i<<""<<Sum;A.执行代码时如果输入10,则最后一行输出将是1125。B.执行代码时如果输入5,则最后一行输出将是69。C.将i+=1移到if(i%2==1)前一行,同样能实现题目要求。D.删除if(i%2==1),并将i+=1改为i+=2,同样可以实现题目要求。12.如果一个整数N能够表示为X*X的形式,那么它就是一个完全平方数,下面C++代码用于完成判断N是否为一个完全平方数,在横线处应填入的代码是()。intN;cin>>N;for(inti=0;i<=N;i++)if(___________________)cout<<N<<"是一个完全平方数\n";A.i==N*NB.i*10==NC.i+i==ND.i*i==N13.执行下面C++代码后输出的cnt的值是()。intcnt=0;for(inti=0;i*i<64;i+=2)cnt++;cout<<cnt;A.8B.7C.4D.114.小杨父母带他到某培训机|构给他报名参加CCF组织的GESP认证考试的第1级,那他可以选择的认证语言有几种?()。A.1B.2C.3D.415.题ENIAC于1946年投入运行,是世界上第一台真正意义上的计算机,它的主要部件都是()组成的。A.感应线圈B.电子管C.晶体管D.集成电路二、判断题(每题2分,共20分)。16.在C++代码中变量X被赋值为16.44,则cout<<X/10执行后输出的一定是1。()。A.正确B.错误17.题C++的整型变量N被赋值为10,则语句cout<<N/4<<"->"<<N%4<<"->"<<N/4.0执行后输出是2->2->2.0。()。A.正确B.错误18.定义C++的float型变量N,则语句cin>>N;cout<<int(float(N))可以输入正负整数和浮点数,并将其转换为整数后输出。()。A.正确B.错误19.题C++的整型N被赋值为5,语句printf("%d*2",N)执行后将输出10。()。A.正确B.错误20.在C++中,break语句用于终止当前层次的循环,循环可以是for循环,也可以是while循环。()。A.正确B.错误21.在C++,continue语句通常与if语句配合使用。()。A.正确B.错误22.在C++代码中,不可以将变量命名为printf,因为printf是C++语言的关键字。()。A.正确B.错误23.在C++中有整型变量N,则表达式N+=8/4//2相当于N+=8/(4/2)。()。A.正确B.错误24.题C++中定义变量intN,则表达式(!!N)的值也是N的值。()。A.正确B.错误25.题GESP测试是对认证者的编程能力进行等级认证,同一级别的能力基本上与编程语言无关。()。A.正确B.错误三、编程题(每题25分,共50分)。26.试题名称:休息时间。时间限制:1.0s。内存限制:512.0MB。题面描述:小杨计划在某个时刻开始学习,并决定在学习k秒后开始休息。小杨想知道自己开始休息的时刻是多少。输入格式:前三行每行包含一个整数,分别表示小杨开始学习时刻的时h、分m、秒s(h,m,s的值符合(1≤h≤12,0≤m≤59,0≤s≤59))。第四行包含一个整数k,表示小杨学习的总秒数(注:k的值符合1≤k≤3600)。输出格式:输出一行,包含三个整数,分别表示小杨开始休息时刻的时、分、秒。样例1。样例解释:小杨在时刻12:59:59开始学习,学习10秒后开始休息,即在13:0:9时刻开始休息。数据范围:对于全部数据,保证有1≤h≤12,0≤m≤59,0≤s≤59,1≤k≤3600。27.试题名称:立方数。时间限制:1.0s。内存限制:512.0MB。题面描述:小杨有一个正整数n,他想知道n是否是一个立方数。一个正整数n是立方数当且仅当存在一个正整数x满足x×x×x=n。输入格式:第一行包含一个正整数n。输出格式:如果正整数n是一个立方数,输出Yes,否则输出No。样例1。样例2。样例解释:对于样例1,存在正整数2使得8=2×2×2,因此8为立方数。对于样例2,不存在满足条件的正整数,因此9不为立方数。数据范围:对于全部数据,保证有1≤n≤1000。答案如下。1.答案:A。解析:依据变量名的命名规则,组成部分只有数字、字母和下划线,选项A是错误的变量命名方式,B选项和C选项为常规命名方式均正确,依据命名规则数字不能作为开头,但是下划线是可以作为开头的所以D选项也正确,故答案为A选项。2.答案:D。解析:表达式中没有小括号,按照运算符的优先级和从左至右的顺序,会先计算3乘以3的结果然后除以5,由于9整除5结果为1,所以最后是计算3减1的结果,故答案为D选项。3.答案:B。解析:题目中的表达式为变量模3和模7的结果求和,正整数模3最大的结果为2,模7的最大结果为6,所以可能输出的最大值为2+6=8,故答案为B选项。4.答案:C。解析:题目中使用printf进行格式化输出,由于单独一个%不会直接显示双%则会正常显示,所以整体格式为5%2={},花括号内部%d为占位符,显示的结果为5%2的计算结果1,故答案为C选项。5.答案:B。解析:按照题目是我表示代码进行输入,首先程序不会报错可以正常接收数据,在C++中使用cin>>i从标准输入读取数据到整型变量i时,cin会尝试读取一个有效的整数。如果输入的是"5+2"这样的字符串,cin只会读取直到它遇到第一个非数字字符为止。因此,在这个例子中,cin将只读取5,并将它存储在变量i,故答案选择B选项。6.答案:C。解析:按照给定的程序,变量a中存储的数值是101,运行第四行格式化输出之后会将加一的计算结果102不进行保留小数位显示在格式内,所以最终输出的格式为a+1={102},故正确答案为C选项。7.答案:B。解析:题目中的表达式按照运算优先级规律会先将9除以4的整除结果2算出来,然后减去后方最终的计算结果6%4*10=20,结果为-18,故正确选项为B选项。8.答案:C。解析:题目中向程序输入的数据为10,由于10%3表达式结果为1,进行分支判断,会执行if语句后方的输出,按照输出格式正常显示需要注意的格式是%2d,所以答案应该为C,选项不可错选为A选项。9.答案:C。解析:题目中for循环的写法没有采用最常规的写法,但是程序逻辑是清晰的,累加的所有数字为0123456789,最终变量i变为10循环结束,所以输出的结果为10和45,故正确答案为C选项。10.答案:C。解析:如果输入的是负整数,程序进行分支判断一定是输出“不是质数”,A选项错误;如果输入的是2,flag的结果会是true,虽然循环没有执行但是最终的结果会输出“是质数”,所以C选项正确B选项错;如果将最开始的判断条件改写为>2,则不能正确判断是否为质数,这样会忽略掉质数2,故答案选择C选项。11.答案:C。解析:如果输入数据10,则累加的数字是13579,最终计算结果为25A选项正确;如果输入的数据是5,则累加的数字是135最终结果为9,B选项正确;由于起点是1,所以采用步长为2的方式同样可以实现要求D选项正确;如果将条件判断和变量i自增切换位置则程序计算结果错误,故答案为C选项。12.答案:D。解析:根据题目描述条件,应判断变量i的平方结果是否为N,四个选项中只有D选项是正确的书写格式,且符合题目要求,故答案为D选项。13.答案:C。解析:题目最终求解的是循环次数,需要注意变量i步长为2,最大增长到6,后面循环将不再成立,所以共循环四次,故答案为C选项。14.答案:C。解析:GESP认证考试可选语言有三种分别是scratch、python和C++,故答案为C选项。15.答案:B。解析:本题为计算机信息学历史知识,ENIAC,全称为ElectronicNumericalIntegratorAndComputer,它是完全的电子计算机,能够重新编程,解决各种计算问题。它于1946年2月14日在美国宣告诞生。它的主要部件都是由电子管组成的,故答案为B选项。16.答案:错误。解析:题目没有指明变量X的类型,并不一定是整数类型,故答案为错误。17.答案:错误。解析:变量N被赋值为10,除以4会进行整除答案为2,和4做模运算结果也为2,最后和4.0做除法可以算出正确的结果2.5,故答案为错误。18.答案:正确。解析:按照题目所示的类型转换是可以完成对于正负整数和浮点数的正确类型转换,最后输出为整数类型的结果,故答案为正确。19.答案:错误。解析:按照题目所示的格式进行输出*2并不会参与到运算中而是会正常显示,所以输出的答案是5*2,故答案为错误。20.答案:正确。解析:break以语句可以正确终止当前层次的循环,并且无论是for循环还是while循环都可以,故答案为正确。21.答案:正确。解析:continue语句在循环中用于跳过本次循环,通常需要设定某种条件来跳过对应的循环,所以说与if语句配合使用情况居多,故答案为正确。22.答案:错误。解析:将printf作为变量名是非常不妥当的做法,但题目描述的后半句话存在明显错误因为printf不是C++语言的关键字,故答案为错误。23.答案:错误。解析:按照题目描述的表达式,双斜线会被理解为注释,进行计算相当于书写的是N+=8/4,故答案为错误。24.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论