网站大量收购独家精品文档,联系QQ:2885784924

第二章节变量和基本类型.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、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,La,a,La (b) 10,10u,10L,10uL,012,0xC (c) 3.14,3.14f,3.14L 【解答】 (a) a,La,a,La a为char 型字面值,La为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 为long double 型字面值。 习题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),输出 底数的指数次方的结果。 【解答】 #include iostream int main() { // 局部对象 int

文档评论(0)

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

分享好文档!

1亿VIP精品文档

相关文档