C++primer[习题][第二章][1-10]
2017-08-13 21:02
183 查看
2.1
short 短整型 16位
int 整形 32位
long 长整形 32位
long long 长整形 64位
无符号型只能表示大于0的数,有符号型可以表示正数,负数和0。
float 单精度浮点数 6位有效数字
double 双精度浮点数 10位有效数字
2.2
利率应选用float类型,因为利率一般只保留两位小数,所以6位有效数字就可以表示。
本金选用long类型,本金通常为整数。
付款选用double类型,付款通常为实数,并且精度要求高。
2.3
无符号的 u2-u = 32。u-u2 = -32 对应 无符号数 4294967264
有符号的 i2-i = 32。i-i2 = -32。
i-u = 0。 u-i = 0。
2.4
2.5
2.6
int month = 9, day = 7;
表示定义两个整形变量,初值分别为9和7.
int month = 09, day = 07;
表示定义两个整形变量,初值分别为八进制的9和7,由于八进制数字范围为0~7,故应该写为 month=011, day = 07。
2.7
“Who goes with F\145rgus?\012”
3.14e1L
为long double 型字面值。
1024f
非法,整数1024后不能加f。
3.14L
为long double 型字面值。
2.8
2.9
std::cin >> int imput_value;
错误,变量需要先定义后使用。
int i = {3.14};
正确,i=3。
double sllary = wage = 99999.9;
如果之前已经定义了wage,则不会报错,如果未定义,则会报错。
int i = 3.14;
正确,但值会被截断。
2.10
short 短整型 16位
int 整形 32位
long 长整形 32位
long long 长整形 64位
无符号型只能表示大于0的数,有符号型可以表示正数,负数和0。
float 单精度浮点数 6位有效数字
double 双精度浮点数 10位有效数字
2.2
利率应选用float类型,因为利率一般只保留两位小数,所以6位有效数字就可以表示。
本金选用long类型,本金通常为整数。
付款选用double类型,付款通常为实数,并且精度要求高。
2.3
unsigned u = 10, u2 = 42; std::cout << u2-u << std::endl; std::cout << u-u2 << std::endl; int i = 10, i2 = 42; std::cout << i2-i << std::endl; std::cout << i-i2 << std::endl; std::cout << i-u << std::endl; std::cout << u-i <<std::endl;
无符号的 u2-u = 32。u-u2 = -32 对应 无符号数 4294967264
有符号的 i2-i = 32。i-i2 = -32。
i-u = 0。 u-i = 0。
2.4
32 4294967264 32 -32 0 0
2.5
'a'为char型字面值,
L'a'为wchar_t型字面值,
"a"为字符串字面值,
L"a"为宽字符串字面值。
10为int型字面值,
10u为unsigned型字面值,
10L为long型字面值,
10uL为unsigned long型字面值,
012为八进制int型字面值,
0xC为十六进制int型字面值。
3.14为double字面值,
3.14f为单精度浮点数字面值,
3.14L为long double型字面值。
10为int型字面值,
10u为unsigned型字面值,
10.为double型字面值,
10e-2为浮点型字面值。
2.6
int month = 9, day = 7;
表示定义两个整形变量,初值分别为9和7.
int month = 09, day = 07;
表示定义两个整形变量,初值分别为八进制的9和7,由于八进制数字范围为0~7,故应该写为 month=011, day = 07。
2.7
“Who goes with F\145rgus?\012”
\145为字符
e的转义字符,
\012为字符
\n的转义字符。
3.14e1L
为long double 型字面值。
1024f
非法,整数1024后不能加f。
3.14L
为long double 型字面值。
2.8
std::cout << "\062\115\n"; std::cout << "\062\011\115\n";
2.9
std::cin >> int imput_value;
错误,变量需要先定义后使用。
int i = {3.14};
正确,i=3。
double sllary = wage = 99999.9;
如果之前已经定义了wage,则不会报错,如果未定义,则会报错。
: error: use of undeclared identifier 'wage'
int i = 3.14;
正确,但值会被截断。
2.10
global_str为全局变量,故初始值为空字符串。
global_int为全局变量,故初始值为0。
local_str为未初始化的局部变量,故值未定义。
local_int为未初始化的局部变量,故值未定义。
相关文章推荐
- C++Primer第五版 第二章习题答案(1~10)
- C++Primer第五版 第四章习题答案(1~10)
- C++Primer第五版 第七章习题答案(1~10)
- C++Primer第五版 第八章习题答案(1~10)
- C++Primer第五版 第十九章习题答案(1~10)
- C++Primer 中文版 第五版 第二章课后习题答案
- C++Primer第五版 第十一章习题答案(1~10)
- C++Primer第五版 第十二章习题答案(1~10)
- C++Primer第五版 第二章习题答案(21~30)
- C++Primer第五版 第三章习题答案(1~10)
- c++primer第二章习题
- C++Primer第五版 第十三章习题答案(1~10)
- C++primer[习题][第四章][1-10]
- C++Primer第五版 第十八章习题答案(1~10)
- C++Primer第五版 第二章习题答案(31~41)
- C++primer[习题][第二章][21-30]
- C++Primer第五版 第五章习题答案(1~10)
- C++Primer第五版 第九章习题答案(1~10)
- C++primer[习题][第二章][31-42]
- C++Primer第五版 第十六章习题答案(1~10)