字面值常量

字面值常量:称之为字面值是因为只能用它的值来称呼它,称之为常量是因为它的值不能修改。

例如: 0是int型,3.14159是double型。

注意:只有内置类型存在字面值,没有类类型的字面值。因此,也没有任何标准库类型的字面值。

1 整型字面值规则

20    //decimal

024  //octal

0x14 //hexadecimal

字面值整数常量的类型默认为int或long类型。

显示的增加后缀来强制转换字面值整数常量。

128L  //long类型的字面值整数常量,请不要使用"L"的小写,因为那和"i"的大写很相似。

128u  //unsigned int

1024Lu     8uL   //unsigend long

注意:没有short类型的字面值常量。

C++标准规定了每个算术类型的最小存储空间,但它并不阻止编译器使用更大的存储空间。

类型                     含义                               最小存储空间

bool                    布尔型                           无最小存储空间

char                    字符型                             8位

wchar_t              宽字符型                        16位

short                   短整型                            16位

int                        整型                                16位

long                    长整型                             32位

float                    单精度浮点数                  6位有效数字

double               双精度浮点数                  10位有效数字

long double      扩展精度浮点型              10位有效数字                    

2  浮点字面值规则

使用科学计数法时,指数用E或者e表示。

默认浮点字面值常量为double类型。

在数值的后面加上F或f表示单精度,同样加上L或者l 表示扩展精度。

3.14159F                   ==                  3.14159E0F

0.001f                         ==                   1E-3F

12.345L                     ==                    1.2345E1L

0.                                 ==                    0e0

3   布尔字面值和字符字面值

bool    test=false;

char     ch=’a‘;

wchar_t   h=L'a';

4  非打印字符的转义序列

不可打印字符和特殊字符都用转义字符书写。转义字符都以反斜线符号开始。

换行符                          \n == newline           水平制表符                       \t  ==  tab

纵向制表符                  \v == vertical tab       退格符                               \b == backspace

回车符                          \r  == return               进纸符                               \f  ==  file

报警(响铃)符          \a == alarm               反斜杠                               \\

疑问号                          \?                                单引号                                \'

双引号                          \"

还可以将任何字符表示为以下的通用专用字符

\ooo

ooo表示三个八进制数字,这三个数字表示字符的数字值。

\7   响铃符   \12   换行符   \0  空字符

\xddd

由一个反斜线符,一个x和一个或者多个十六进制数字组成。

5  字符串字面值

字符串字面值常量用双引号括起来的另个或者多个字符表示。

"Hello World"     //simple string literal

""                          //empty string literal

 

宽字符串字面值,一样在前面加"L":

L"a wide string literal"

6  字符串字面值的连接

std::cout<< "a multi-line "

                     "string literal  "

                     "using concatenation"

                  <

如果连接字符串字面值和宽字符串字面值:

std::cout<<"multi-line "L"literal "<

7  多行字面值

在一行的末尾加一反斜杠符号可将此行和下一行当做同一行处理

C++格式非常自由。特别是有些地方不能插入空格,其中之一就是在单词中间。

特别市不能再单词中间断开一行。但可以通过使用反斜杠符号巧妙实现:

std::cou\

t<<"hi"<

d:endl;

等价于

std::cout<<"hi"<

注意:反斜线符号必须是改行的尾字符-----不允许其后面有注释或空格。同样,后继行行首的任何空格和制表符都是字符串字面值的一部分。因此,长字符串字面值的后继行才会有正常的缩进。

 

你可能感兴趣的:(C/C++,string,newline,存储,扩展,编译器)