C++ Primer第五版_第四章习题答案(1~10)
创始人
2025-05-31 11:29:30
0

文章目录

      • 练习4.1
      • 练习4.2
      • 练习4.3
      • 练习4.4
      • 练习4.5
      • 练习4.6
      • 练习4.7
      • 练习4.8
      • 练习4.9
      • 练习4.10

练习4.1

表达式 5 + 10 * 20 / 2 的求值结果是多少?

105。

练习4.2

根据4.12节中的表,在下述表达式的合理位置添加括号,使得添加括号后运算对象的组合顺序与添加括号前一致。

  • (a) *vec.begin()
  • (b) *vec.begin() + 1
*(vec.begin())
(*(vec.begin())) + 1

练习4.3

C++语言没有明确规定大多数二元运算符的求值顺序,给编译器优化留下了余地。这种策略实际上是在代码生成效率和程序潜在缺陷之间进行了权衡,你认为这可以接受吗?请说出你的理由。

可以接受。C++的设计思想是尽可能地“相信”程序员,将效率最大化。然而这种思想却有着潜在的危害,就是无法控制程序员自身引发的错误。因此 Java 的诞生也是必然,Java的思想就是尽可能地“不相信”程序员。

练习4.4

在下面的表达式中添加括号,说明其求值过程及最终结果。编写程序编译该(不加括号的)表达式并输出结果验证之前的推断。

12 / 3 * 4 + 5 * 15 + 24 % 4 / 2
((12/3)*4) + (5*15) + ((24%4)/2)

练习4.5

写出下列表达式的求值结果。

-30 * 3 + 21 / 5  // -90+4 = -86
-30 + 3 * 21 / 5  // -30+63/5 = -30+12 = -18
30 / 3 * 21 % 5   // 10*21%5 = 210%5 = 0
-30 / 3 * 21 % 4  // -10*21%4 = -210%4 = -2

练习4.6

写出一条表达式用于确定一个整数是奇数还是偶数。

if (i % 2 == 0) /* ... */

练习4.7

溢出是何含义?写出三条将导致溢出的表达式。

当计算的结果超出该类型所能表示的范围时就会产生溢出。

short svalue = 32767; ++svalue; // -32768
unsigned uivalue = 0; --uivalue;  // 4294967295
unsigned short usvalue = 65535; ++usvalue;  // 0

练习4.8

说明在逻辑与、逻辑或及相等性运算符中运算对象的求值顺序。

  • 逻辑与运算符和逻辑或运算符都是先求左侧运算对象的值再求右侧运算对象的值,当且仅当左侧运算对象无法确定表达式的结果时才会计算右侧运算对象的值。这种策略称为 短路求值
  • 相等性运算符未定义求值顺序。

练习4.9

解释在下面的if语句中条件部分的判断过程。

const char *cp = "Hello World";
if (cp && *cp)

首先判断 cpcp 不是一个空指针,因此 cp 为真。然后判断 *cp*cp 的值是字符 ‘H’,非0。因此最后的结果为真。

练习4.10

为while 循环写一个条件,使其从标准输入中读取整数,遇到 42 时停止。

int i;
while(cin >> i && i != 42)

相关内容

热门资讯

Java多线程之Executo... 文章目录1 ExecutorCompletionService1.1 简介1.2 原理1.3 Dem...
2023跨境市场洞察:金矿在哪... 就全球市场而言,跨境电商的高速增长时代已成过去时,但就意味电商金矿被挖空...
Scala中Array常用的方...         在scala中,Array有大量的方法。定义一个数组arr后ÿ...
C++基础学习笔记(四)——核... 参考链接:https://www.bilibili.com/video/BV1et41...
超详细-安装vCenterv ... 目录 介绍: 第一阶段安装: 第二阶段安装: 最近在玩虚拟...
第14届蓝桥杯STEMA测评真... [导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,...
ChatGPT助力校招----... 1 ChatGPT每日一题:简述SPI通信协议 问题:简述SPI通信协议...
新版PMP考试难不难? 1.新版考试题量和答题时间的变化? 总题量从200道减少到180道,所以...
HBase客户端、服务器端、列... HBase客户端、服务器端、列簇设计、HDFS相关优化,HBase写性能优化切入点&#...
linux 全局环境变量删除后... linux 全局环境变量删除后 还有 仍然存在1、编辑 /etc/profile2、设置REDISC...
网站流量飙升背后:外贸企业谷歌... 自从我涉足外贸行业,我逐渐认识到谷歌SEO优化在提升网站流量和吸引潜在客户方面的重要性...
一、trino406系列 之 ... 文章目录前言Trino不是什么?Trino是什么?概览服务类型Coord...
基于Java+SpringBo...  博主介绍:专注于Java技术领域和毕业项目实战 🍅文末获取源码联系&...
财经时评|破除“内卷式”竞争 ... 作者 中国汽车工程学会理事长张进华“十四五”以来,我国智能网联新能源汽车产业坚持以科技创新引领和推动...
二十六、对象的实例化内存布局与... 一、对象的实例化 1.判断对象对用的类是否加载、链接、初始化。 2.为对象分配内存。 3.处理并发...
C语言简单工厂模式和工程创建 一,设计模式概念引入① 什么是设计模式设计模式通常被面向对象的软件开发人员所采用&#x...
新势力车企5月销量:零跑汽车再... 红星资本局6月1日消息,今日,新势力车企陆续公布5月销量数据。零跑汽车(09863.HK)再创历史新...
150.网络安全渗透测试—[C... 我认为,无论是学习安全还是从事安全的人多多少少都会有些许的情怀和使命感!...
微服务注册中心做了什么事——服... 是否被一大堆的注册中心八股文淹没,不知道哪个是哪个,有啥区别甚至于不知道...
财经时评|反内卷不能只靠自觉 ... 作者 汽车工业协会原常务副会长兼秘书长、中国动力电池产业联盟理事长董扬去年四季度以来,政府工作报告及...