2023年6月GESP编程能力认证C++等级考试二级真题(含答案和解析).docxVIP

2023年6月GESP编程能力认证C++等级考试二级真题(含答案和解析).docx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

2023年6月GESP编程能力认证C++等级考试二级真题(含答案和解析)

一、单选题(每题2分,共30分)。

1.高级语言编写的程序需要经过以下()操作,可以生成在计算机上运行的可执行代码。

A.编辑

B.保存

C.调试

D.编译

答案:D。

解析:本题考察计算机基础知识中编译的概念;编译是把高级语言变成计算机可以识别的二进制语言的过程,所以本题正确答案为D。

2.能够实现下面流程图功能的伪代码是()。

A.if条件判断then语句块

B.if条件判断then什么也不做else语句块

C.while条件判断do语句块

D.whilenot条件判断do语句块

答案:D。

解析:本题考察对流程图的理解,以及循环结构中的while循环;观察流程图可知,当条件判断不成立时,会执行语句块,并重新进行条件判断,当条件判断成立时,则流程继续往下进行,所以本题正确答案为D。

3.下列关于C++语言的叙述,正确的是()。

A.char类型变量不能赋值给int类型的变量。

B.两个int类型变量相乘,计算结果还是int类型。

C.计算两个int类型变量相乘时,如果乘积超出了int类型的取值范围,程序会报错崩溃。

D.计算两个double类型变量相除时,如果除数的值为0.0,程序会报错崩溃。

答案:B。

解析:本题考察C++中数据类型转换的规则。A选项错误在于:char类型变量可以赋值给int类型的变量,赋值结果为char类型变量中存放的整数值。C选项错误在于:如果两个int类型变量相乘的乘积超出了int类型的取值范围,那么会发生溢出,得到错误的结果,但是程序不会崩溃。D选项错误在于:两个double类型变量相除时,如果除数的值为0.0,得到的结果是特殊的double类型值INF(被除数为正数时,正无穷)、-INF(被除数为负数时,负无穷)或NaN(被除数为0时,无意义),但是程序不会崩溃;所以本题正确答案为B。

4.下列关于C++语言的叙述,不正确的是()。

A.if语句中的判断条件必须用小括号‘(’和‘)’括起来。

B.for语句中两个‘;’之间的循环条件可以省略,表示循环继续执行的条件一直满足。

C.循环体包含多条语句时,可以用缩进消除二义性。

D.除了“先乘除、后加减”,还有很多运算符优先级。

答案:C。

解析:本题考察循环语句的语法规则。C选项错误在于:循环体包含多条语句时,需要用花括号把循环体中的所有语句括起来;所以本题正确答案为C。

5.以下哪个是C++语言的关键字?()。

A.main

B.max

C.double

D.sqrt

答案:C。

解析:本题考察C++语言中“关键字”的概念;关键字就是预先定义好的标识符,C++编译器对其进行特殊处理,它们不能作为常量名、变量名或其他标识符名称;选项中只有double是关键字,其余均为函数名,所以本题正确答案为C。

6.以下哪个不是C++语言的运算符?()。

A.=

B./=

C.||

D.

答案:D。

解析:本题考察C++语言中的运算符。选项A为比较运算符,大于等于;选项B为赋值运算符,除并赋值;选项C为逻辑运算符,逻辑或;选项D不是C++中的运算符;所以本题正确答案为D。

7.如果a为int类型的变量,b为char类型的变量,则下列哪个语句不符合C++语法?()。

A.a=a+1.0;

B.a=(int)(b-0);

C.b=(char)(a+0);

D.(int)b=a;

答案:D。

解析:本题主要考察C++中数据类型转换的规则;强制类型转换得到的是改变类型的值,不再是能被赋值的变量;所以本题正确答案为D。

8.如果用两个int类型的变量a和b分别表达平行四边形的两条边长,用int类型的变量h表达a边对应的高,则下列哪个表达式不能用来计算b边对应的高?()。

A.a/b*(0.0+h)

B.(0.0+a*h)/b

C.a*h/(b+0.0)

D.(a+0.0)*h/b

答案:A。

解析:本题主要考察C++运算中除法的规则以及类型转换规则;在C++中,两个变量进行运算,如果两个变量都是int类型,那么结果仍然为int类型(除法向下取整),如果两个变量中至少一个是double类型,那么结果为double类型;在本题中,需要避免出现两个int类型变量相除,导致计算结果错误;只有A选项的除号两边都是int类型,所以本题正确答案为A。

9.以下哪个循环语句会无限次执行?()。

A.for(inta=0;a;a++);

B.for(boolb=false;b=t

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档