字面值常量

来源:互联网 发布:电脑声音剪辑软件 编辑:程序博客网 时间:2024/05/28 19:25

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


例如: 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::endl;


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


std::cout<<"multi-line "L"literal "<<std::endl; //error  ,undefined


7  多行字面值


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


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


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


std::cou\


t<<"hi"<<st\


d:endl;


等价于


std::cout<<"hi"<<std::endl;


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


原创粉丝点击