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

2024年3月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、整数-5的16位补码表示是()。

A1005

B1006

CFFFA

DFFFB

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

首先,我们需要了解补码的概念。补码是计算机中表示负整数的方法。对于16位补

码,最高位(符号位)是1表示负数,0表示正数。

对于整数-5,首先将其转换为二进制形式:

-5=-101b

为了得到-5的16位补码表示,我们需要:

1.将-5转换为16位的二进制形式,但保持最高位为1(表示负数)。

2.翻转其余位(即取反)。

3.在最低位加1。

-5的16位二进制表示为:1111111111110101b

翻转得到:0000000000001010b

加1得到:0000000000001011b

所以,-5的16位补码表示为:0000000000001011b,这等于十六进制的0xFFFB。

在选项中,最接近这个值的是FFFB。因此,正确答案是D。

2、如果16位短整数-2的二进制是FFFE,则短整数-4的十六进制是()。

AFF04

BFFFA

CFFFC

DFFFH

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

首先,我们需要理解题目中的信息。题目给出了16位短整数-

2的二进制表示是FFFE,并问短整数-4的十六进制表示是什么。

要找到-4的十六进制表示,我们需要首先找到-

4的二进制表示。因为计算机中的数值都是基于二进制的,所以我们需要知道-

4在二进制中是如何表示的。

我们知道,在二进制中,-4可以表示为111111111111

1100。这是因为,在16位二进制中,最高位(符号位)是1表示负数,接下来的15

位是1111111111111100,这表示4的二进制补码。

然后,我们需要将这个二进制数转换为十六进制。转换的方法是,每4位二进制数

对应一个十六进制数。所以,1111111111111100可以转换为FFFC。

但是,题目要求的是短整数的十六进制表示,短整数通常只有16位。所以,我们

要去掉最左边的位,只剩下15位。这15位是111111111111

0000,这对应的十六进制是FFF0。

但是,题目要求的是-

4的十六进制表示,而不是FFF0。我们需要对FFF0取反加1,得到FF04。这是因为

,在计算机中,负数的表示是其正数的补码取反加1。

所以,短整数-4的十六进制表示是FF04。因此,正确答案是A选项。

3、下面C++代码执行后的输出是()。

intmain()

{

cout(3|16)endl;

coutendl;

return0;

}

A3

B16

C19

D48

解析:【喵呜刷题小喵解析】:在C++中,位运算符`|`表示按位或运算。对于整数

3和16,其二进制表示分别为0011按位或运算的规则是,对于每一位

,如果任一操作数为1,则结果为1,否则为0。因此,3|16的二进制结果为0011000

0,即十进制数19。所以,代码执行后的输出是19。

4、定义整数intx=-5,则执行C++代码cout(x==(x11))输出是()。

A0

B1

C-5

D5

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

首先,我们分析题目中的C++代码:

```cpp

cout(x==(x11))

```

1.假设`intx=-5`,我们先看表达式`(x1

1)`。这里涉及到位运算。``是左移运算符,``是右移运算符。

*`x1`:将x向左移动1位,相当于乘以2。`-

5`的二进制表示是(忽略符号位),左移1位后变为,即-10。

*`-101`:将-10向右移动1位,相当于除以2。`-

10`的二进制表示是(忽略符号位),右移1位后变为`1111111`,即-5。

2.接着,我们看表达式`x==(x11)`。由于`(x11)`的结果是-

5,所以整个表达式变为`x==-5`。

因为`x`的值是-5,所以`x==-5`的结果为`true`,输出结果为1。

因此,答案是B。

5、已知字符0

的ASCII编码的十进

文档评论(0)

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

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

1亿VIP精品文档

相关文档