重学c++ primer(3)

1  字面值常量

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

1

整型和浮点型 字面值常量

整型字面值常量写作十进制数,八进制数,十六进制数。以0开头的整型代表八进制数,以0x开头的整型代表十六进制数,例如,我们能用下面任意一种形式表示数20

20//十进制;024//八进制;0x14//十六进制;

整型字面值具体的数据类型由它的值和符号决定。默认情况下,十进制数字面值是带符号的,八进制和十六进制数可能带符号可能不带符号。十进制带符号的类型由intlonglong long。中最小的那个。无符号的与其相对应。另外,十进制,十进制字面值不会是负数,比如我们使用了-42,那个负号并不在字面值之内,它的作用仅仅是对字面值取负。

浮点型字面值表现为一个小数或以科学计数法表示的指数,其中指数部分用Ee表示,默认的,浮点型字面值是一个double

2)字符和字符串字面值

由单引号括起来一个字符称为char类型字面值。双引号括起来的叫做字符串型字面值。字符串字面值的类型实际上是由常量字符构成的数组。编译器在每个字符串的结尾处添加一个'\0'空字符。字符串字面值的实际长度比他的内容多1.

如果两个字符串字面值的位置紧邻且仅有空格,缩进。换行分隔。则他们实际上是一个整体。

3)转义字符

一共有两类字符是不能直接使用的。一种是不可打印字符。比如说退格符。另外一种是有特殊含义的字符。比如单引号,双引号,问号等。这些情况下就得使用转义字符,转义字符通常以\开头。常见的转义字符包括:

换行符     \n;横向制表符    \t;   报警符       \a;

纵向制表符    \v;   退格符     \b;  双引号  \";

反斜线   \\;    问号   \?;    单引号   \

回车符   \r;      进纸符  \f     

我们也可以用泛化的转义字符,其形式是\x后紧跟着1个或多个十六进制字符数字,或者\后紧跟1个或多个八进制字符

其中数字部分表示的数值。使用LATIN-1字符集。

4)指定字面值的类型

对于一个整形字面值来说,我们能分别指定它是否带空间或符号。如果是无符号数,则后缀加u。如果后缀有L,则至少是long型,如果是LL,则是long long型。

5)指针字面值

nullptr  是指针字面值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值