2.1.3 字面值

本文解析了C++中字符字面值、宽字符、整型、浮点型和字符串字面值的类型,并讨论了不同数值字面值的表示和潜在错误。重点讲解了整数前缀、八进制和十六进制的使用以及类型之间的区别。

在这里插入图片描述
练习2.5:

'a'   //字符字面值,类型是char
L'a'  //宽字符型字面值,类型是wchar_t
"a"   //字符串字面值,类型是char
L"a"  //宽字符串型字面值,类型是wchar_t

字符字面值是由单引号括起来的一个字符。字符串字面值是由双引号括起来的0个或者多个字符。宽字符和字符的区别在于,宽字符的最小哦尺寸有16位,而字符的最小尺寸只有8位。

10   //整型字面值,类型是int
10u  //无符号整型字面值,类型是unsigned int
10L  //整型字面值,类型是long
10uL //无符号整型字面值,类型是unsigned long
012  //八进制整型字面值,类型是int
0xC  //十六进制整型字面值,类型是int
3.14   //浮点型字面值,类型是double
3.14f  //浮点型字面值,类型是float
3.14L  //浮点型字面值,类型是long double
10    //整型字面值,类型是int
10u   //无符号整型字面值,类型是unsigned int
10.   //浮点型字面值,类型是double
10e-2 //浮点型字面值,类型是double

练习2.6:
int month month = 9 和 int month = 09 不一致
0开头的整数代表八进制数,而09是无效的八进制数字。系统报错:
在这里插入图片描述
int month = 7 和 int month = 07 一致。
因为八进制的07=7。系统未报错。

练习2.7:
在这里插入图片描述

输出为: Who goes with Fergus?
\145 (字母e)
\012 (换行符)

3.14e1L //扩展精度浮点型字面值,值为31.4,类型 long double
1024f   //单精度浮点型字面值,类型float
3.14L   //单精度浮点型字面值,类型long double

练习2.8:

#include <iostream>
using namespace std;

int main() {
	
	cout << "2M\12";
	system("pause");
	return 0;
}

在这里插入图片描述

#include <iostream>
using namespace std;

int main() {
	
	cout << "2\tM\12";
	system("pause");
	return 0;
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值