2025年6月GESP编程能力认证C++等级考试一级真题试卷(含答案)_第1页
2025年6月GESP编程能力认证C++等级考试一级真题试卷(含答案)_第2页
2025年6月GESP编程能力认证C++等级考试一级真题试卷(含答案)_第3页
2025年6月GESP编程能力认证C++等级考试一级真题试卷(含答案)_第4页
2025年6月GESP编程能力认证C++等级考试一级真题试卷(含答案)_第5页
已阅读5页,还剩21页未读, 继续免费阅读

付费下载

下载本文档

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

文档简介

2025年6月GESP编程能力认证C++等级考试一级真题试卷(含答案)一、判断题(共10题,每题2分,满分20分。判断下列表述是否正确,正确的在括号内填“√”,错误的填“×”)1.计算机中,1个字节(Byte)由8个二进制位(bit)组成,因此1字节可以存储的无符号整数取值范围为0~255。()2.标准C++程序以main函数作为执行入口,一个可运行的C++程序中有且仅有一个main函数。()3.C++中的标识符命名规则允许以数字开头,只要后续字符包含字母或下划线即为合法,例如“123abc”是符合规范的变量名。()4.在C++中,int类型属于整型变量,可以存储包含小数部分的数值,例如执行语句`inta=3.14;`后,变量a的值为3.14。()5.使用cin、cout完成标准输入输出操作时,必须在程序开头引入`<iostream>`头文件,否则会触发编译错误。()6.C++中算术表达式`7/2`的运算结果为3.5,与表达式`7.0/2`的运算结果完全一致。()7.C++中的取余运算符`%`要求两侧的操作数必须为整型类型,若操作数为浮点型则会导致编译错误。()8.根据ASCII编码规则,大写字母'A'对应的编码值为65,因此执行语句`charc=65;`后,变量c存储的字符为'A'。()9.使用const关键字定义的常量,可以在程序运行过程中通过赋值语句修改其存储的值,例如`constinta=1;`后续可通过`a=2;`将a的值修改为2。()10.C++中的bool类型只有true和false两个取值,其中true对应整数值1,false对应整数值0。()二、单项选择题(共15题,每题2分,满分30分。每题有且仅有一个正确选项,将正确选项的编号填在括号内)1.下列不同进制表示的数值中,数值最大的是()。A.二进制数1010B.十进制数9C.八进制数11D.十六进制数B2.编写C++程序实现标准输入输出功能时,必须引入的头文件是()。A.`<cstdio>`B.`<iostream>`C.`<cmath>`D.`<string>`3.下列关于C++程序中main函数的说法,正确的是()。A.main函数必须写在程序代码的最开头位置B.main函数的返回值类型可以省略不写C.main函数执行结束时,`return0`表示程序正常退出D.一个程序中可以包含多个并行的main函数4.下列选项中,属于合法C++变量名的是()。A.intB.2numC.num_1D.num-15.在主流桌面端C++编译环境(如GCC、MSVC)中,int类型变量占用的内存空间大小为()。A.1字节B.2字节C.4字节D.8字节6.按照C++算术运算符的优先级和结合性,表达式`3+5*2%3`的运算结果是()。A.1B.4C.5D.167.依次执行下列C++语句后,变量a和b的值分别为()。```cppinta=5;intb=a/2*2;```A.5,4B.5,5C.2,4D.2,58.下列字符常量的写法中,符合C++语法规范的是()。A.`"a"`B.`'ab'`C.`'a'`D.`a`9.若需要从键盘读取两个整数,分别存储到已经定义的整型变量x和y中,下列语句书写正确的是()。A.`cin>>x>>y;`B.`cin<<x<<y;`C.`cout>>x>>y;`D.`cout<<x<<y;`10.在C++算术运算中,不同数据类型的操作数会自动进行类型提升,表达式`5/2.0+3`的运算结果所属的数据类型是()。A.intB.doubleC.charD.bool11.下列选项中,能够在cout输出时实现换行效果的语句是()。A.`cout<<'n';`B.`cout<<endl;`C.`cout<<"/n";`D.`cout<<"tab";`12.下列关于const关键字修饰的常量的说法,错误的是()。A.定义const常量时必须在声明的同时进行初始化B.const常量完成初始化后,其值不能在程序运行过程中被修改C.`constinta=10;`语句定义了一个值为10的整型常量D.const常量可以先声明不初始化,在后续代码中通过赋值语句设置初始值13.若已有定义`inta=3,b=5;`,则关系表达式`a>b`的运算结果为()。A.3B.5C.0D.114.根据ASCII编码规则,已知大写字母'C'的ASCII码值为67,则大写字母'F'的ASCII码值为()。A.69B.70C.71D.7215.依次执行下列C++语句后,变量a的值为()。```cppinta=10;a=a+3;a=a%5;```A.13B.3C.2D.0三、编程题(共2题,第一题20分,第二题30分,满分50分)1.(20分)题目描述:小明到文具店购买练习本,已知每本练习本的零售价为8元,恰逢店铺店庆活动,所有商品按原价的9折销售(即最终支付金额为原价总和的90%)。请编写程序,输入小明购买的练习本数量n(n为正整数),计算小明需要支付的总金额,结果保留1位小数输出。输入格式:一行,包含一个正整数n(1≤n≤1000),表示购买的练习本数量。输出格式:一行,包含一个保留1位小数的浮点数,表示小明需要支付的最终金额。样例输入1:```5```样例输出1:```36.0```样例解释1:5本练习本的原价总和为5×8=40元,打9折后的金额为40×0.9=36.0元。样例输入2:```3```样例输出2:```21.6```样例解释2:3本练习本原价总和为24元,打9折后金额为21.6元。评分标准:(1)正确引入必要的头文件,程序框架无语法错误,得4分;(2)正确定义变量存储输入的数量n,能够正确读取输入值,得4分;(3)正确计算原价总金额与折扣后金额,计算逻辑无错误,得8分;(4)正确设置输出格式(保留1位小数),输出结果与标准答案一致,得4分。2.(30分)题目描述:时间单位换算中,1小时=3600秒,1分钟=60秒。请编写程序,输入一个非负整数t表示总秒数,将其转换为“小时:分钟:秒”对应的整数时间,其中分钟和秒的取值范围为0~59,小时数为非负整数。输入格式:一行,包含一个非负整数t(0≤t≤10^6),表示总秒数。输出格式:一行,包含三个非负整数h、m、s,分别对应转换后的小时数、分钟数、秒数,三个整数之间用单个空格隔开。样例输入1:```3725```样例输出1:```125```样例解释1:3725秒=1×3600秒+2×60秒+5秒,对应1小时2分5秒。样例输入2:```7200```样例输出2:```200```样例解释2:7200秒恰好为2小时,对应0分钟0秒。样例输入3:```59```样例输出3:```0059```样例输入4:```3661```样例输出4:```111```评分标准:(1)正确引入必要的头文件,程序框架无语法错误,得6分;(2)正确定义变量存储输入的总秒数t,能够正确读取输入值,得6分;(3)正确运用整数除法、取余运算计算小时数,逻辑正确,得6分;(4)正确计算剩余秒数对应的分钟数与秒数,逻辑无错误,得8分;(5)按照要求格式输出三个整数,结果与标准答案一致,得4分。参考答案与解析(一)判断题答案与解析1.答案:√。解析:1字节包含8个二进制位,无符号数的每一位均可用于表示数值,因此可表示的最小值为0(8位全0),最大值为2^8-1=255(8位全1),表述正确。2.答案:√。解析:main函数是C++程序规定的唯一执行入口,无论main函数位于代码的哪个位置,程序均从main函数的第一条语句开始执行,且一个可运行程序必须包含且仅能包含一个main函数,表述正确。3.答案:×。解析:C++标识符的命名规则要求标识符必须以字母或下划线开头,不能以数字开头,因此“123abc”是非法变量名,表述错误。4.答案:×。解析:int类型是整型,只能存储整数部分,当将浮点数赋值给int变量时,编译器会自动截断小数部分,因此执行`inta=3.14;`后,a的实际值为3,无法存储小数0.14,表述错误。5.答案:√。解析:cin、cout是C++标准库中定义的输入输出流对象,其声明位于`<iostream>`头文件中,若不引入该头文件,编译器无法识别cin、cout的定义,会触发编译错误,表述正确。6.答案:×。解析:C++中当除法运算符`/`两侧均为整型操作数时,执行整数除法,即截断小数部分仅保留整数商,因此`7/2`的结果为整型3;而7.0是双精度浮点型,`7.0/2`的结果为双精度浮点型3.5,二者结果不同,表述错误。7.答案:√。解析:取余运算符`%`的功能是计算两个整型数相除后的余数,仅支持整型操作数,若对浮点数使用`%`运算符,编译器会报语法错误,表述正确。8.答案:√。解析:char类型存储字符时实际存储的是字符对应的ASCII编码整数值,大写字母'A'的ASCII码为65,因此将整数值65赋值给char变量时,存储的即为字符'A',表述正确。9.答案:×。解析:const修饰的变量为只读常量,必须在定义时初始化,且初始化后不能在程序中通过赋值语句修改其值,因此对const常量重新赋值会触发编译错误,表述错误。10.答案:√。解析:bool类型是C++中的布尔类型,仅有true(逻辑真)和false(逻辑假)两个取值,在参与整数运算时,true会被转换为整数1,false会被转换为整数0,表述正确。(二)单项选择题答案与解析1.答案:D。解析:将各选项转换为十进制后比较:A选项二进制1010转换为十进制为1×2^3+0×2^2+1×2^1+0×2^0=10;B选项为十进制9;C选项八进制11转换为十进制为1×8^1+1×8^0=9;D选项十六进制B对应十进制11,因此数值最大的是D选项。2.答案:B。解析:`<cstdio>`是C语言标准输入输出头文件,对应printf、scanf等函数;`<iostream>`是C++标准输入输出头文件,对应cin、cout;`<cmath>`是数学运算函数头文件;`<string>`是字符串类型头文件,因此选B。3.答案:C。解析:A选项错误,main函数可以位于程序代码的任意位置,无需放在最开头;B选项错误,C++标准规定main函数的返回值类型必须为int,不可省略;C选项正确,main函数中`return0`表示程序正常执行结束,返回给操作系统0状态码;D选项错误,一个程序只能有一个main函数,多个main函数会导致链接错误。4.答案:C。解析:A选项int是C++的关键字,用于定义整型变量,不能作为变量名;B选项2num以数字开头,不符合标识符命名规则;C选项num_1以字母开头,后续包含字母、下划线和数字,是合法变量名;D选项num-1中包含减号运算符,不属于标识符允许的字符,是非法变量名。5.答案:C。解析:在主流32位/64位编译环境中,char类型占1字节,short类型占2字节,int类型占4字节,double类型占8字节,因此选C。6.答案:B。解析:算术运算符中*、/、%的优先级高于+,且同一优先级的运算符按照从左到右的结合性计算。首先计算5*2=10,接着计算10%3=1,最后计算3+1=4,因此结果为4,选B。7.答案:A。解析:a初始赋值为5,执行`b=a/2*2`时,a是整型,因此a/2执行整数除法,结果为2,2*2=4,因此b的值为4,整个过程中a的值未被修改,仍为5,因此a=5、b=4,选A。8.答案:C。解析:A选项`"a"`是用双引号包裹的字符串常量,不是字符常量;B选项`'ab'`在单引号中包含两个字符,不符合字符常量单引号包裹单个字符的语法要求;C选项`'a'`用单引号包裹单个字符,是合法的字符常量;D选项a是未加引号的标识符,不是字符常量。9.答案:A。解析:cin是标准输入流对象,使用提取运算符`>>`读取输入数据,可以连续使用`>>`读取多个变量;cout是标准输出流对象,使用插入运算符`<<`输出数据,因此A选项语法正确。10.答案:B。解析:C++算术运算中,当操作数类型不同时,会将低精度类型自动提升为高精度类型进行计算。2.0是double类型,因此计算5/2.0时,5会被提升为double类型,运算结果为double类型2.5;后续与int类型的3相加时,3也会被提升为double类型,最终结果为double类型5.5,因此选B。11.答案:B。解析:A选项输出字符'n',不会换行;B选项endl是流操作符,作用是插入换行符并刷新输出缓冲区,可实现换行效果;C选项输出字符串"/n",是斜杠加字符n,不是换行转义字符;D选项输出字符串"tab",无换行效果。12.答案:D。解析:const修饰的常量是只读变量,必须在声明时完成初始化,初始化后的值不能被修改,因此D选项“先声明后赋值”的说法错误。13.答案:C。解析:关系运算符的运算结果是bool类型,当关系成立时结果为true(对应整数值1),不成立时结果为false(对应整数值0)。a=3、b=5,a>b不成立,因此结果为false,对应整数值0,选C。14.答案:B。解析:ASCII码中大写英文字母是连续编码的,'C'的编码为67,因此'D'为68、'E'为69、'F'为70,选B。15.答案:B。解析:a初始值为10,执行`a=a+3`后a的值变为13;执行`a=a%5`时,13除以5的商为2,余数为3,因此a的值被更新为3,选B。(三)编程题参考代码1.第一题参考代码:```cppusingnamespacestd;intmain(){intn;cin>>n;doubletotal=n*8*0.9;//按单价、数量、折扣计算实付金额cout<<fixed<<setprecision(1)<<total<<endl;//固定小数位数为1位输出return0;}```代码说明

温馨提示

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

评论

0/150

提交评论