C++PrimerPlus 第三章 处理数据(复习题含答案)

2022/3/3 11:15:21

本文主要是介绍C++PrimerPlus 第三章 处理数据(复习题含答案),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

C++PrimerPlus 第三章 处理数据(复习题含答案)

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

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

2、声明与下述描述相符的变量。
a.short整数,值为80
b.unsigned int整数,值为42110
c.值为3000000000的整数

short rbis = 80; // or short int rbis = 80;
unsigned int q = 42110; // or unsigned q = 42110;
unsigned long ants = 3000000000; // or long long ants = 3000000000;
注意:不要指望int变量能够存储3000000000;另外,如果系统支持通用的列表初始化,可使用它:
short rbis = {80}; // = is optional
unsigned int q {42110}; // could use = {42110}
unsigned long ants {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 value 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

a. 8 * 9 + 2 -> 72 + 2 -> 74
b. 6 * 3 / 4 -> 18 / 4 -> 4
c. 3 / 4 * 6 -> 0 * 6 -> 0
d. 6.0 * 3 / 4 -> 18.0 / 4 -> 4.5
e. 15 % 4 -> 3

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

下面的代码都可用于完成第一项任务:
int pos = (int)x1 + (int)x2;
int pos = int(x1) + int(x2);
要将它们作为double类型相加,再进行转换,可采取下述方式之一:
int pos = (int)(x1 + x2);
int pos = int(x1 + 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



这篇关于C++PrimerPlus 第三章 处理数据(复习题含答案)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程