《C++ Primer》第五版课后习题解答_第二章(1)(01-08)

系统环境: windows 10 1703

编译环境:Visual studio 2017


2.1

int 整型 16位

long 长整型 32位

long long 长整型 64位

short 短整型 16位

无符号类型 只能表示大于等于零的数

带符号类型 可以表示正数,负数或0

float 单精度浮点数 6位有效数字

double 双精度浮点数 10位有效数字


2.2

利率:float

本金:float

付款:double

三者都是带小数的,所以需要用浮点数类型,利率和本金的有效数字较少,可用float类型表达,付款需要的有效数字更多,需用double类型表达。


2.3

32

4294967264

32

-32

0

0


2.4

正确


2.5

(a)

'a' 字符字面值

L'a' 宽字符型字面值,类型是wchar_t

"a" 字符串字面值

L"a" 宽字符串字面值

(b)

10 int 型字面值常量

10u unsigned int 型字面值常量

10L long 型字面值常量

10uL unsigned long 型字面值常量

012 八进制字面值常量

0xC 十六进制字面值常量

(c)

3.14 float 型字面值常量

3.14f float 型字面值常量

3.14L long double 型字面值常量

(d)

10 int 型字面值常量

10u unsigned int 型字面值常量

10. double 型字面值常量

10e-2 double 型字面值常量


2.6

有区别 int mouth = 9, day = 7,此时mouth 和 day 是十进制数;

            int mouth = 09, day = 07,此时mouth 和 day 是八进制数,且09应写为011(八进制数字只有0~7)


2.7

(a) Who gose with Fergus?\n 字符串字面值

(b) long double 型字面值常量

(c) 非法字符,整数后不能跟f

(d) long double 型字面值常量 


2.8

#include <iostream>
#include "Sales_item.h"

int main()
{
    std::cout << "2M" << "\n" << std::endl;
    std::cout << "2" << "\t" << "M" << "\n" << std::endl;
    return 0;
}


posted @ 2017-08-21 15:37  Adam_fei  阅读(117)  评论(0编辑  收藏  举报