频道栏目
首页 > 程序开发 > 软件开发 > C++ > 正文
C++ Primer Plus(第六版)摘选一些习题及答案分享
2018-05-10 02:42:28      个评论    来源:wyl1813240346的博客  
收藏   我要投稿

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

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

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

(1)short整型,值为80

(2)unsigned int整型,值为42110

(3)值为3000000000的整数

(1)short a = 80;

(2)unsigned int b = 42110;

(3)unsigned long c = 3000000000;(有符号的long最大值为2147483000)或者long 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表示的字符?指出至少两种法。

(1)char c= 88; cout << c << endl;

(2)cout.put(char(88));

(3)cout << char(88) << endl;

(4)cout << (char) 88 << endl;

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

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

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

(1)8 * 9 + 2;

(2)6 * 3 / 4;

(3)3 / 4 * 6;

(4)6.0 * 3 / 4;

(5)15 % 4;

(1)74;(2)4;(3)0;(4)4.5;(5)3

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

int a = int(x1) + int(x2);或者int a = (int) x1 + (int) x2;

int a = int(x1 + x2);或者int a = (int) (x1 + x2);

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

(1)auto cars = 15;

(2)auto iou = 150.37f;

(3)auto level =‘B’;

(4)auto crat = U‘/U00002155’;

(5)auto fract = ‘8.25f/2.5’;

(1)int;(2)float;(3)char;(4)char32_t;(5)double

点击复制链接 与好友分享!回本站首页
上一篇:介绍一下c++的5种存储区域
下一篇:C++多维数组的动态分配(new)和释放(delete)举例说明
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站