[关闭]
@CrazyHenry 2018-01-20T22:12:12.000000Z 字数 759 阅读 1576

HW2.5 关于字面量类型

ccccC++Primer


image.png-57.9kB

(a)说字符型就是指char型,所以'a'为字符型,L'a'为宽字符型,"a"类型为常量字符串型,也可以说是char型常量数组(但是这样不准确,因为尾巴上还有个空字符'\0');L"a"为常量宽字符串型,或者说w_char型常量数组。

(b)10肯定是int型,因为在int、long、long long中选最小的;10u是unsigned int,理由一样;10L是long型的;10uL是unsigned long型的;012是八进制表示的整数类型,由于下图所示:
image.png-210.8kB

所以012的类型可能是int或者unsigned int的某一个,具体看编译器如何实现,一般来说是int型的;0xC同样原理,一般来说也是int型的。

(c)3.14一定是double类型的,因为默认的浮点数都是double类型,包括科学计数法表示的浮点数;3.14f表示float类型,3.14L表示long double类型的浮点数。

(d)科学计数法和小数点表示的浮点数:
10.表示double类型的浮点数,整数部分为10;10e-2,表示科学计数法表示的浮点数,类型也是double,实际值为0.1。
小数表示可以为:0..1.001//不能两边都省略只剩下.
指数表示可以为:0e0-1.3e-2
image.png-20.4kB

image.png-649.9kB
这里的实型字面量,其实就是浮点型字面量,默认都是double类型;无论其表示多少,比如-130等。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注