第十三章 C++课后习题答案.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
习题2.1 int、long和short类型之间有什么差别? 【解答】 它们的最小存储空间不同,分别为16 位、32位和16位。一般而言,short类型 为半个机器字(word)长,int类型为一个机器字长,而long类型为一个或两个 机器字长(在32位机器中,int 类型和long类型的字长通常是相同的)。因此, 它们的表示范围不同。 习题2.2 unsigned和signed类型有什么差别? 【解答】 前者为无符号类型,只能表示大于或等于0的数。后者为带符号类型,可以表示 正数、负数和0。 习题2.3 如果在某机器上short类型占16位,那么可以赋给short类型的最大数是什么? unsigned short类型的最大数又是什么? 【解答】 若在某机器上short类型占16位,那么可以赋给short类型的最大数是215-1, 即32767;而unsigned short类型的最大数为216-1,即65535。 习题2.4 当给16位的unsigned short对象赋值100000时,赋的值是什么? 【解答】 34464。 100000超过了16位的unsigned short类型的表示范围,编译器对其二进制表 示截取低16位,相当于对65536求余(求模,%),得34464。 习题2.5 float类型和double类型有什么差别? 【解答】 二者的存储位数不同(一般而言,float类型为32个二进制位,double类型为 64个二进制位),因而取值范围不同,精度也不同(float类型只能保证6位有 效数字,而double类型至少能保证10位有效数字)。 习题2.6 要计算抵押贷款的偿还金额,利率、本金和付款额应分别选用哪种类型?解释你 选择的理由。 【解答】 利率可以选择float类型,因为利率通常为百分之几。一般只保留到小数点后两 位,所以6位有效数字就足以表示了。 本金可以选择long类型,因为本金通常为整数。long类型可表示的最大整数一 般为231-1(即2147483647),应该足以表示了。 付款额一般为实数,可以选择double类型,因为float类型的6位有效数字可能 不足以表示。 习题2.7 解释下列字面值常量的不同之处。 (a) ’a’,L’a’,a,La (b) 10,10u,10L,10uL,012,0xC (c) 3.14,3.14f,3.14L 【解答】 (a) ’a’,L’a’,a,La ’a’为char型字面值,L’a’为wchar_t型字面值,a为字符串字面值,La为宽字 符串字面值。 (b) 10,10u,10L,10uL,012,0xC 10为int型字面值,10u为unsigned型字面值,10L为long 型字面值,10uL 为unsigned long型字面值,012为八进制表示的int型字面值,0xC 为十六进 制表示的int型字面值。 (c) 3.14,3.14f,3.14L 3.14为double型字面值,3.14f为float型字面值,3.14L为longdouble型字面 值。 习题2.8 确定下列字面值常量的类型: (a) ?10 (b) -10u (c) -10. (d) -10e-2 【解答】 (a) int 型 (b) unsigned int型 (c) double型 (d) double型 习题2.9 下列哪些(如果有)是非法的? (a) Who goes with F\145rgus?\012 (b) 3.14e1L (c) two Lsome (d) 1024f (e) 3.14UL (f) multiple line comment 【解答】 (c) 非法。因为字符串字面值与宽字符串字面值的连接是未定义的。 (d) 非法。因为整数1024后面不能带后缀f。 (e) 非法。因为浮点字面值不能带后缀U。 (f) 非法。因为分两行书写的字符串字面值必须在第一行的末尾加上反斜线。 习题2.10 使用转义字符编写一段程序,输出2M,然后换行。修改程序,输出2,跟着一 个制表符,然后是M,最后是换行符。 【解答】 输出2M、然后换行的程序段: // 输出2M和换行字符 std::cout 2M ’\n’; 修改后的程序段: // 输出’2’, ’\t’, ’M’和换行字符 std::cout ’2’ ’\t’ ’M’ ’\n’; 习题2.11 编写程序,要求用户输入两个数??底数(base)和指数(exponent)

文档评论(0)

xiaofei2001129 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档