2.7 解释下列字面值常量的不同之处
(a) 'a',L 'a',"a",L"a"
(b) 10, 10u, 10L, 10uL, 012, 0xC
(c) 3.14, 3.14f, 3.14L
(1)'a'表示字符a;L'a'表示宽字符字面值a;"a"表示字母 a 和空字符两个字符的字符串 ;L"a"表示宽字符字面值a和空字符。
(2)10为整数型10,10u为无符号型10,10l为长整形10,10ul为无符号长整型10,012为八进制的10,0xC为16进制的10。
(3)3.14为浮点双精度的3.14,3.14f为浮点单精度的3.14,3.14L为浮点扩展精度的3.14。
2.8 确定下列字面值常量的类型:
(a) -10 (b) -10u (c) -10. (d) -10e-2
(a)int型;(b)unsigned int型 (c)double型 (d)double 型
注:-10.后面的.表示小数,所以是double类型-10e-2是科学计数法,即-0.1,所以是double类型
2.9 下列哪些(如果有)是非法的?
(a) "Who goes with F\145rgus?\012"
(b) 3.14e1L
(c) "two" L"some"
(d) 1024f (e) 3.14UL
(f) "multiple line comment"
(a)和(d)
2.10 使用转义字符编写一段程序,输出 2M,然后换行。修改程序,输出 2,跟着一个制表符,然后是 M,最后是换行符。
#include <iostream> int main() { std::cout << "2\115 " << std::endl; getchar(); return 0; }
#include <iostream> int main() { std::cout << "2\t\115 " << std::endl; getchar(); return 0; }