2023年12月CCF-GESP编程能力等级认证C++编程二级真题答案及解析.pdfVIP

2023年12月CCF-GESP编程能力等级认证C++编程二级真题答案及解析.pdf

  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文档。上传文档
查看更多

一、单选题

1、以下不可以做为C++变量的是()。

A、

FiveStar

B、

fiveStar

C、

5Star

D、

Star5

解析:【喵呜刷题小喵解析】在C++中,变量名不能以数字开头,这是由C++的命

名规则所决定的。在给出的选项中,只有5Star是以数字开头的,因此它不能作为

C++的变量名。所以正确答案是C选项。

2、在C++中,与for(inti=10;i20;i+=2)couti;输出结果相同的是()。

A、

for(inti=10;i19;i+=2)couti;

B、

for(inti=11;i19;i+=2)couti;

C、

for(inti=10;i21;i+=2)couti;

D、

以上均不对

解析:【喵呜刷题小喵解析】在C++中,for循环语句的循环条件决定了循环执行的

次数。原题目中的循环条件为`i20`,并且在每次循环中,`i`

的值都会增加2。因此,循环会执行5次,分别输出10、12、14、16和18。

对于选项A,循环条件为`i

19`,虽然起始值为10,但由于循环条件限制,循环只会执行4次,输出10、12、14

和16,与题目要求不符。

对于选项B,循环条件为`i

19`,起始值为11,循环会执行4次,输出11、13、15和17,与题目要求输出的结果

一致。

对于选项C,循环条件为`i

21`,虽然循环条件宽松,但由于起始值为10,循环会执行6次,输出10、12、14、

16、18和20,与题目要求不符。

对于选项D,由于A、B、C选项都不符合题目要求,所以此选项为正确答案。

因此,与题目中for循环语句输出结果相同的是选项B。

3、以下C++代码实现从小到大的顺序输出能整除N的数(N的因子),例如N=18

时输出1236918,横线处应填入()。

A、

inti=0;iN;i++

B、

inti=1;iN;i++

C、

inti=0;iN+1;i++

D、

inti=1;iN+1;i++

解析:【喵呜刷题小喵解析】:

根据题目要求,我们需要从小到大输出能整除N的数,也就是N的因子。最小的因

子是1,最大的因子是N,所以循环应该从1开始,到N结束。

在给出的选项中,只有选项D的循环是从1开始,到N+1结束,符合题目要求。因

此,应该选择选项D。

另外,需要注意的是,循环条件应该是`iN`,而不是`i

N+1`,因为当`i`等于N时,循环应该结束。所以选项C的循环条件是错误的。

因此,正确答案是选项D。

4、下面C++代码用于判断输入的整数是否为对称数,如1221、12321是对称数,但

123、972不是对称数。下面对该题对应代码的说法,正确的是()。

A、

代码没有语法错误,如果N为对称数,第8行将能正确输出。

B、

代码没有语法错误,但如果N为负数,将导致死循环。

C、

代码存在语法错误,程序不能被执行。

D、

代码没有语法错误,但不能达到预期目标,因为循环结束N总为0。

解析:【喵呜刷题小喵解析】:代码中存在逻辑错误,无法正确判断对称数。代码

中第6行,`N/=

10;`是右移操作,会使N的值变小,当N为负数时,会导致死循环。此外,第8行的

判断条件`N%10==reversed%

10`并不能正确判断对称数,因为reversed的值并没有在循环中更新。因此,选项D

正确,代码没有语法错误,但不能达到预期目标,因为循环结束N总为0。

5、下面C++代码用于判断N(大于等于2的正整数)是否为质数(素数)。下面对

如下代码的说法,正确的是()。

A、

代码能正确判断N是否为质数。

B、

代码总是不能判断N是否质数。

C、

删除第5行break,将能正确判断N是否质数。

D、

代码存在漏洞,边界存在问题,应将第2行和第7行的N/2改为N/2+1。

解析:【喵呜刷题小喵解析】:这段C++代码是用于判断一个正整数N是否为质数

的。首先,代码将N从2遍历到sqrt(N),检查是否存在能整除

您可能关注的文档

文档评论(0)

喵呜刷题 + 关注
实名认证
文档贡献者

来喵呜刷题,完成你的职业蜕变!

1亿VIP精品文档

相关文档