文字常量 |
在程序运行的整个过程中其值始终不可改变的两 |
直接使用符号(文字)表示的值 |
例如:12,3.5,‘A’都是常量 |
整数常量 | |
十进制 | 若干个0 ~ 9的数字,但数字部分不能以0开头,正数前边的正号可以省略。 |
八进制 | 前导0+若干个0 ~ 7的数字 |
十六进制 | 前导0x+若干个0 ~ 9的数字以及A ~ F(大小写均可)的字母 |
后缀 | 后缀L(或l)表示类型至少是long 后缀LL(或ll)表示类型是long long 后缀U(或u)表示unsigned类型 |
浮点数常量 | |
以文字形式出现的实数 | |
一般形式 | 例如:12.5,-12.5等 |
指数形式 | 例如:0.345E+2,-34.4E-3 整数部分和小数部分可以省略其一 |
浮点常量 | 默认为double型,如果后缀F(或f)可以使其成为float类型 例如:12.3f |
C风格字符串常量 | ||||||
一对双引号括起来的字符序列 | ||||||
在内存中是按字符的ASCLL码字依次连续存放,每个字符占一个字节 | ||||||
在末尾添加‘\0’作为结尾标记 | ||||||
例如:“CHINA”
| ||||||
例如:下面两个字符就是不同的 "a"
这是一个C风格字符串常量因为在存储序列末尾有“\0”作为结尾标记
'a'
而单引号里面的a就只表示这一个单独的字符
|
通过添加前缀可以改变字符常量或者字符串常量的类型(具体参照这个表格) | ||
---|---|---|
前缀 | 含义 | 类型 |
u | Unicode 16字符 | char16_t |
U | Unicode 32字符 | char32_t |
L | 宽字符 | wchar_t |
u8 | UTF-8 (仅用于字符串字面常量) | char |
符号常量 | |
常量定义语句的形式为 | const 数据类型说明符 常量名 = 常量值; 或数据类型说明符 const 常量名 = 常量值; |
例如:定义一个代表圆周率的符号常量 | const float PI = 3.1415926 |
符号常量在定义时一定要初始化,在程序中间不能改变其值 |