C++ primer plus第六版(中文版)第三章3.6答案

本文详细介绍了C++中的整型类型及其用途,包括short、int、long等,并探讨了如何防止超出整型范围的问题。同时,讨论了不同类型间的转换,如33L与33的区别,以及如何在C++中进行字符编码的处理。此外,还涵盖了浮点数转换可能存在的精度问题以及如何正确进行类型转换的示例。
摘要由CSDN通过智能技术生成

1.C++为什么有多种整型?

有多种整型类型,可以根据特定的需求选择合适的类型。例如可以用short来存储空格,使用long来确保存储容量,也可以寻找可提高特定计算速度的类型。

2.声明与下述描述相符的变量。

a. short整数,值为80。

b.unsigned int整数,值为42110。

c.值为3000000000的整数。

short a=80;

unsigned int b=42110;

unsigned long c=3000000000;

3.C++提供了什么措施来防止超出整型的范围?

C++没有提供自动防止超出整型限制的功能,可以使用头文件climits来确定限制情况。

4.33L与33之间有什么区别?

33L为long类型,33为int类型。

5.下面两条C++语句是否等价?

char grade=65;

char grade='A';

两条语句并不真正等价,虽然你对于某些系统来说,它们是等效的。最重要的是,只有使用ASCII码的系统上,第一条语句才将得分设置为字母A,而第二条语句还可使用其他编码的系统。其次,65是一个int常量,而‘A'是一个char常量。

6.如何使用C++来找出编码88表示的字符?指出至少两种方法?

char c=88;

cout<<c<<endl;//char type prints as character

cout.put(char(88));//put() prints char as character

cout<<char(88)<<endl;//new-style type cast value to char

cout<<(char)88<<endl;//old-style type cast vaule to char

7.将long值赋给float变量会导致舍入误差,将long赋给double变量呢?将long long 值赋给double 变量呢?

这个问题的答案取决于这两个类型的长度,如果long为4字节,则没有损失。因为最大的long值将是20亿,即有10位数,由于double提供了至少13位有效数字,因而不需要进行任何舍入。long long类型可提供19位有效数字,超过了double保证的13位有效数字。

8.下列C++表达式的结果分别是多少?

a. 8*9+2

b. 6 * 3/4

c. 3/4 *6

d. 6.0 * 3/4

e. 15% 4

74 4 0 4.5 3

9,假设x1和x2是两个double变量,您要将它们作为整数相加,再将结果赋给一个整型变量。请编写一条完成这项任务的C++语句。如果要将它们作为double值相加并转换为int呢?

下面的代码都可用于完成第一项任务:

int pos = (int) x1 + (int) x2;

int pos = int (x1) + int (x2);

要将它们作为double类型相加,再进行转换,可采取下述方式之一:

int pos = (int) (xl + x2);

int pos= int (xl + x2);

10.下面每条语句声明的变量都是什么类型?

a. auto cars = 15

b. auto iou = 150.37f

c. auto leveL= 'B'

d.auto crat = U'/U00002155'

e. auto fract = 8.25f/2.5

a.int

b.float

c.char

d.char32_t

e.double

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神秘的老年人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值