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;
}