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

下载本文档

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

文档简介

2024年12月GESP认证C++等级考试一级真题(含答案和解析-在末尾)一、单选题(每题2分,共30分)。1.题2024年10月8日,诺贝尔物理学奖“意外地”颁给了两位计算机科学家约翰·霍普菲尔德(JohnJ.Hopfield)和杰弗里·辛顿(GeoffreyE.Hinton)。这两位科学家的主要研究方向是()。A.天体物理B.流体力学C.人工智能D.量子理论2.下列软件中是操作系统的是()。A.高德地图B.腾讯会议C.纯血鸿蒙D.金山永中3.有关下列C++代码的说法,正确的是()。printf("Hello,GESP!");A.配对双引号内,不可以有汉字。B.配对双引号可以相应改变为英文单引号而输出效果不变C.配对双引号可以相应改变为三个连续英文单引号而输出效果不变D.配对双引号可以相应改变为三个连续英文双引号而输出效果不变4.题C++表达式12-3*2&&2的值是()。A.0B.1C.6D.95.在C++中,假设N为正整数2,则cout<<(N/3+N%3)将输出()。A.0B.2C.3D.46.题C++语句cout<<7%3<<''<<"7%3"<<''<<"7%3={7%3}"执行后的输出是()。A.111=1B.17%31=1C.17%37%3=1D.17%37%3={7%3}7.下面C++代码执行后,求出几天后星期几。如果星期日则输出“星期天”否则输出形如“星期1”。横线上应填入的代码是()。intN,nowDay,afterDays;cout<<"今天星期几?"<<endl;cin>>nowDay;cout<<"求几天后星期几?"<<endl;cin>>afterDays;N=nowDay+afterDays;if(_________________)printf("星期天");elseprintf("星期%d",N%7);A.N%7!=0B.N%7==0C.N==0D.N%78.下面C++代码执行后输出是()。intN=0,i;for(i=1;i<10;i++)N+=1;cout<<(N+i);A.54B.20C.19D.189.下面C++代码执行后输出的是()。inttnt=0;for(i=0;i<100;i++)tnt+=i%10;cout<<tnt;A.4950B.5050C.450D.10010.下面C++代码执行后输出的是()。intN=0,i;inttnt=0;for(i=5;i<100;i+=5){if(i%2==0)continue;tnt+=1;if(i>=50)break;}cout<<tnt;A.10B.9C.6D.511.下面的程序用于判断输入的整数N是否为能被3整除的偶数,横线处应填写代码是()。intN;cin>>N;if(___________________)cout<<"能被3整除的偶数"<<endl;elsecout<<"其他情形"<<endl;cout<<endl;A.(N%2)&&(N%3)B.(N%2==0)&&(N%3)C.(N%2)&&(N%3==0)D.(N%2==0)&&(N%3==0)12.下面C++代码执行后的输出是()。intcnt;cnt=0;for(inti=1;i<10;i++)cnt+=i++;cout<<cnt;cout<<endl;A.54B.45C.25D.1013.题int类型变量a的值是一个正方形的边长,如下图中的正方形的四条边长都为4,则下列哪个语句执行后能够使得正方形的周长(四条边长的和)增加4?()。A.a*4;B.a+4;C.a+1;D.++a;14.题C++表达式(6>2)*2的值是()。A.1B.2C.trueD.truetrue15.下面C++代码用于判断输入的整数是否为位增数,即从首位到个位逐渐增大,是则输出1。如123是一个位增数。下面横线处应填入的是()。intN;intn1,n2;cin>>N;______________________;//请在此处填写代码。while(N){n1=N%10;if(n1>=n2){cout<<0;return1;}n2=n1,N/=10;}cout<<1;cout<<endl;return0;A.n2=N%10B.N/=10C.n2=N/10,N%=10D.n2=N%10,N/=10二、判断题(每题2分,共20分)。16.在Windows的资源管理器中为已有文件A建立副本的操作是Ctrl+C,然后Ctrl+V。()。A.正确B.错误17.在C++中,表达式8/3和8%3的值相同。()。A.正确B.错误18.题X是C++语言的基本类型变量,则语句cin>>X,cout<<X能接收键盘输入并原样输出。()。A.正确B.错误19.下面C++代码执行后将输出10。()。intN=0;for(inti=0;i<10;i++){continue;N+=1;}cout<<N;A.正确B.错误20.下面C++代码执行后将输出100。()。inti;for(i=0;i<=100;i++)continue;cout<<i;A.正确B.错误21.下面C++代码被执行时,将执行三次输出(即标记行L2将被执行一次)。()。for(inti=0;i<10;i+=3)cout<<i;//L2。A.正确B.错误22.题C++语句cout<<(3,2)执行后,将输出3和2,且3和2之间有逗号间隔。()。A.正确B.错误23.在C++代码中,studentName、student_name以及sStudentName都是合法的变量名称。()。A.正确B.错误24.在C++中,对浮点变量floatf,则语句cin>>f;cout<<(f<1);在输入是2e-1时,输出是0。()。A.正确B.错误25.在C++的循环体内部,如果break和continue语句连续在一起,那么作用抵消,可以顺利执行下一次循环。()。A.正确B.错误三、编程题(每题25分,共50分)。26.温度转换。时间限制:1.0s。内存限制:512.0MB。题目描述:小杨最近学习了开尔文温度、摄氏温度和华氏温度的转换。令符号K表示开尔文温度,符号C表示摄氏温度,符号F表示华氏温度,这三者的转换公示如下。现在小杨想编写一个程序计算某一开尔文温度对应的摄氏温度和华氏温度,你能帮帮他吗?输入格式:一行,一个实数K,表示开尔文温度。输出格式:一行,若输入开尔文温度对应的华氏温度高于212,输出Temperatureistoohigh!。否则,输出两个空格分隔的实数C和F,分别表示摄氏温度和华氏度,保留两位小数。27.奇数和偶数。时间限制:1.0s。内存限制:512.0MB。题目描述:小杨有n个正整数,他想知道其中的奇数有多少个,偶数有多少个。输入格式:第一行包含一个正整数n,代表正整数个数。之后n行,每行包含一个正整数。输出格式:输出两个正整数(用英文空格间隔),代表奇数的个数和偶数的个数。如奇数或偶数的个数为0,则对应输出0。答案解析如下。1.答案:C。解析:表彰约翰、杰弗里在使用人工神经网络实现机器学习方面奠基性的发现和发明属于人工智能范畴,其他都是物理相关方向。2.答案:C。解析:鸿蒙是华为公司开发的一种操作系统,其他都为软件。3.答案:D。解析:A项可以有汉字,B、C项printf必须是双引号,D项两个字符串字面量放一起,编译器会自动连接成一个字面量,例如"hello""gesp""!"就是"hellogesp!"。4.答案:B。解析:优先级从高到低依次*-&&,先计算3*2=6,再计算12-6=6再计算6&&2,0为假,非0即为真,&&左右都是真结果为真,即1。5.答案:B。解析:/、%优先级高于+,N/3=2/3=0(整除),N%3=2%3=2最后输出0+2=2。6.答案:D。解析:先输出7%3=1,然后空格,双引号为字符串字面量原样输出7%3然后空格,输出7%3={7%3}。7.答案:B。解析:计算的天数如果为7的倍数,则是星期天,否则取余7的结果就是星期几。8.答案:C。解析:循环遍历i=1、2、3……8、9,循环9次,N加9次1。当i=10时循环条件不成立结束for循环,所以i=10,N+i=9+10=19。9.答案:C。解析:循环执行0、1……98、99,共100次。i:0123456789101112……9899。i%10:0123456789012……89。tnt加的是0~9的和,共10次,(0+1+2……+8+9)*10=45*10=450。10.答案:C。解析:i=5,每次+5,也就是i=5、10、15、20……、90、95。当i%2==0时跳过,也就是偶数,当i>=50时break。那么i=5、15、25、35、45、55时满足要求tnt为6。这里需要注意i=45时tnt+1=5,i=50时被continue了不会break。i=55时先加1,再break。11.答案:D。解析:能被3整除的偶数即能被2和3同时整除N%2==0&&N%3==0。12.答案:C。解析:++在后是先用再加1,循环内等价cnt+=i;i=i+1。那么等价for(inti=1;i<10;i+=2)cnt+=i,i的变化为:1,3,5,7,9,i=11时结束循环,cnt=1+3+5+7+9=25。13.答案:D。解析:边长为4,即a=4,正方形周长=a*4。要使得周长增加4,那么只需要a增加1。C选项a+1之后需要赋值给a才能让a变化。14.答案:B。解析:括号优先级最高,先算6>2条件成立结果为真即1,再算1*2=2。15.答案:D。解析:循环中如果n1>=n2,输出0也就是说不满足位增数逐渐增大的要求。那么n1表示前一位,n2表示后一位。在while循环中第一行直接求n1,在此之前要先求n2。所以n2=N%10,N/=10。16.答案:正确。解析:ctrl+c、ctrl+v是复制粘贴快捷键。17.答案:正确。解析:8/3=2,8%3=2。18.答案:错误。解析:若输入内容与x类型不一致无法原样输出,例如intx,输入3.14只会输出3。19.答案:错误。解析:continue语句在N+1前面,每次都被跳过了,N最后为0。20.答案:错误。解析:循环执行0、1……100,在i=101时结束循环。21.答案:错误。解析:i每次增加3,即i=0369共执行4次输出语句。22.答案:错误。解析:逗号表达式的值为最后一个子表达式的值,即为2。23.答案:正确。解析:变量名由数字、字母、下划线组成,数字不能开头,不能用关键字。24.答案:错误。解析:2e-1是科学计数法即2*10^-1=0.2,0.2<1条件成立,输出为true是1。25.答案:错误。解析:执行break会跳出循环,不会执行continue,不会作用抵消。26.参考程序。#include<cstdio>usingnamespacestd;intmain(){doubleK;scanf("%lf",&K);doubleC=K-273.15;doubleF=32+C*1.8;if(F>212)printf("Temperatureistoohigh!\n");

温馨提示

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

评论

0/150

提交评论