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)

相关内容

热门资讯

国家网信办会同中国证监会依法处... 新京报讯 据网信中国官微消息,近期,国家网信办会同中国证监会深入整治涉资本市场网上不实信息,依法处置...
年入120亿!嵊州领带凭什么霸... 作 者:正理正和岛案例研究中心特约研究员来 源:正和岛(ID:zhenghedao)1300年前,大...
寻宝记张亮:守正创新,让绍兴菜... 中国商报(记者 蒋永霞)在绍兴这座历史文化名城的街巷深处,一家名为“寻宝记”的绍兴菜餐厅正悄然改变着...
深圳宝安蝉联全国“营商环境年度... 12月18日,在第十二届中国商业创新大会上,深圳市宝安区再度荣获“营商环境年度城区”称号。这不仅仅是...
行业寒冬逆势增长,波司登凭什么... 作 者:明瑞来 源:正和岛(ID:zhenghedao)南极,1390万平方公里的白色荒漠,200万...
当锂电隔膜产业走向“拼系统”,... 本文来源:时代周报 作者:唐洛近日,恩捷股份(002812.SZ)披露《发行股份购买资产并募集配套资...
操纵市场,A股公司创始人获刑6... 12月18日晚,古鳌科技(300551.SZ)发布公告,公司近日收到公司前控股股东、实际控制人陈崇军...
万科A:积极推进大宗资产交易工... 新京报贝壳财经讯 12月19日,万科A在互动平台上表示,公司积极推进大宗资产交易工作,今年前三季度,...
陕西杀出“可控核聚变”大牛股,... 西部材料(002149.SZ),股价加速上涨!12月18日、19日,西部材料连续涨停,11月至今,其...
脉链集团董事长徐伟强:以“链式... 中国商报(记者 于佳鑫)12月18日,第十二届中国商业创新大会在北京举行。浙江脉链品冠科技有限公司(...