C++:字面值常量

一个形如42的值被称为字面值常量(Literal)。每个字面值常量都对应一种数据类型,字面值常量的形式和值决定了它的数据类型。

字面值常量的类型有

(1)整型字面值

整型字面值可以写作三种形式:十进制数八进制数十六进制数。以0开头的整数代表八进制数,以0x或0X开头的代表十六进制数。如下为数值20的三种形式写法:20 /*十进制*/,024/*八进制*/,0x14/*十六进制*/。整型字面值具体的数据类型由它的值和符号决定。

(2)浮点数字面值

浮点型字面值表现为一个小数或科学计数法表示的指数,其中指数部分用E或e标识:
3.14159—3.14159E0—0.—0e0—.001
默认的,浮点型字面值是一个double型的值。

(3)字符字面值

由单引号括起来的一个字符为char型字面值。

'a'  //字符字面值

有两类字符是程序员不能直接使用的,一类是不可打印(nonprintable)的字符,如退格或其他控制字符,因为它们没有可视的图符;另一类是在C++语言中有特殊含义的字符(单引号、双引号、问号、反斜线)。在这些情况下需要用到转义序列(escape sequence),转义序列均以反斜线作为开始,C++语言规定的转义序列包括:

名称字符
换行符\n
回车符\r
反斜线\\
单引号\'
双引号\"
纵向制表符\v
横向制表符\t
退格符\b
报警(响铃)符\a
问号\?
进纸符\f

(4)字符串字面值

双引号括起来的零个或多个字符构成字符串字面值。

"Hello World!"  //字符串字面值

字符串字面值的类型实际上是由常量字符构成的数组(array),编译器在每个字符串的结尾处添加一个空字符('\0'),因此,字符串字面值的实际长度要比它的内容多1。如,字面值'A'表示的就是单独的字符A,而字符串"A"则代表了一个字符的数组,该数组包含两个字符:一个是字母A,另一个是空字符

如果两个字符串字面值位置紧邻且仅由空格、缩进和换行符分隔,则它们实际上是一种整体。当书写的字符串字面值比较长,写在一行里不太合适时,就可以采取分开书写的方式:

// 分多行书写的字符串字面值
std::cout<<"a really,really long string literal "
           "that spans two lines"<<std::endl;

(5)布尔字面值

布尔类型的字面值有两个:truefalse

bool test=false;

(6)指针字面值

指针字面值为:nullptr

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值