C++语言之字面值常量练习

Exercise 
2.7:  
解释下列字面值常量的不同之处。 
  (a) 'a',L 'a',"a",L"a" 
  (b) 10, 10u, 10L, 10uL, 012, 0xC 

  (c) 3.14, 3.14f, 3.14L 

答:(a)'a'为char型;L‘a’为wchat_t型(宽字符型);“a”为string类型,包含a和\0两个字符;L"a" 为宽字符串类型,

(b)10:int型;10u:unsigned int型;10L:long int型;10uL:unsigned long int型;012:八进制int型;0xC:十六进制int型

(c)3.14:double型;3.14f:float型;3.14L:long double型;


Exercise 
2.8:  
确定下列字面值常量的类型: 
      (a) -10 (b) -10u (c) -10. (d) -10e-2

答:-10:int型;-10u:unsigned int型;-10.:unsigned double型; -10e-2:double型;


Exercise 
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"

答:(c)非法。因为字符串字面值与宽字符串字面值的连接是未定义的。

d)非法。因为整数1024 后面不能带后缀f。

(e)非法。因为浮点字面值不能带后缀U。 

(f)非法。因为分两行书写的字符串字面值必须在第一行的末尾加上反斜线。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章