C++字面值

整型字面值

十进制字面值的类型是int,long(编译的目标平台为32位时占4字节,编译的目标平台为64位时占8字节),long long中尺寸最小者。
八进制和十六进制的字面值的类型是int,unsigned int,long,unsigned long,long long,unsigned long long中尺寸的最小者。

auto value1=20;//十进制
auto value2=024;//八进制
auto value3=0x14;//十六进制

整型字面值通过添加后缀u或U表示为无符号类型,添加后缀l或者L表示为long类型,添加后缀ll或者LL表示为long long类型。

auto value1=20u;//unsigned int
auto value2=20ll;//long long
auto value3=20UL;//unsigned long

浮点数字面值

浮点数字面值的类型默认是double,可以表现为一个小数或指数形式,浮点数字面值添加后缀f或者F可以表示为float类型,添加后缀l或者L可以表示为long double类型。

auto value1=1.0;//double类型
auto value2=3.14e2;//double类型
auto value3=3.14f;//float类型
auto value4=3.14L;//long double类型

字符和字符串字面值

单括号扩起来的一个字符为字符字面值,双引号扩起来的一个0个或多个字符表示字符串字面值;
字符字面值或者字符串字面值通过添加前缀L表示为宽字符字面值或者宽字符串字面值,字符串字面值添加前缀u8表示为UTF8字符串字面值

char char1 = 'A';//字符
wchar_t char2 = L'B';//宽字符
const char *strHelloWorld1 = "hello world";//字符串
const wchar_t *strHelloWorld2=L"hello world";//宽字符串
const char *strHelloWorld3 = u8"你好";//UTF8字符串

转义序列

有些字符不能直接使用,需要通过转义序列来实现,转义序列以反斜杆作为开始,包括

  • 换行符\n
  • 纵向制表符\v
  • 横向制表符\t
  • 反斜杆\\
  • 回车符\r
  • 退格符\b
  • 问号?
  • 进纸符\f
  • 报警符\a
  • 双引号\"
  • 单引号\’

泛化的转义序列

泛化转义序列形式是一个\x后紧跟一个或多个十六进制数字,或者\后面紧跟1个、2个或3个八进制数字,其中数字部分表示字符对应的数值。

const char *str1 = "\x31\x32\x33\x34";
std::cout << str1 << std::endl;//1234
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值