常量
常量
常量就是程序中不能被修改的固定的值,也称为字面值。
常量可以是任何基础数据类型,比如整型,浮点型,字符型,字符串和布尔类型。
通常情况下常量被认为是定义后不能更改的变量。
整型常量
整数常量可以是十进制、八进制或十六进制常量。对于十六进制可以用 ox 或 OX 前缀来标示,可以用 O 前缀来标示八进制,十进制默认不需要前缀标志。
整数常量也可以与 U 和 L 后缀一起搭配使用,相应的来表示无符号和长整型。后缀对大小写不敏感。
下面是整型常量的一些例子:
212 // 合法
215u// 合法
0xFeeL // 合法
078 // 不合法: 8不是合法的八进制
032UU // 不合法: U后缀不能重复使用
下面试其他的关于不同类型的整型常量:
85 // 十进制
0213 // 八进制
0x4b // 十六进制
30 // 整型
30u// 无符号整型
30l// 长整型
30ul // 无符号整型
浮点常量
浮点常量由整数部分、小数点、小数部分和一个指数部分组成。可以使用十进制或者指数的形式来表示浮点常量。
使用指数表示时,必须包含小数点,指数,或两者同时使用。相对应的,使用十进制形式表示,必须包含整数部分,小数部分,或两者兼而有之。有符号指数可以用 e 或 E 来表示。
下面是一些浮点常量的一些例子:
3.14159 // 合法
314159E-5L// 合法
510E // 不合法: 指数部分不完整
210f // 不合法: 没有整数部分
.e55 // 不合法: 无整数或小数部分
布尔常量
C++ 中只有两个布尔类型的常量,他们都是标准 C++ 中的关键词。
- true :代表肯定的
- false :代表否定的
需要注意的是不可以将true看做是1,也不可以将false看做是0.
字符常量
字符常量应该用单引号括起来。如果字符常量以 L 开头(仅大写),那么它将是一个宽字符常量且需要使用 wchar_t 类型的变量来存储。否则,它将是个窄字符常量且存储在 char 类型的变量中。
字符常量可以还是一个普通字符(比如 'x')、转义字符('\t')或者是一个通用字符(比如 '\u02C0').
C++ 中有一些使用反斜杠标志的字符,他们具有特殊的意义,且可以用于表示换行(\n)或者 tab 键(\t)。下面是一些转义字符的列表:
转义字符 | 意义 |
---|---|
\\ | \字符 |
\' | '字符 |
\'' | ''字符 |
\? | ?问号字符 |
\a | 警告 |
\b | 退格 |
\f | 换页 |
\n | 换行 |
\r | 回车 |
\t | 横向tab |
\ooo | 八进制的一到三位数 |
\xhh... | 一位或多位的十六进制数 |
下面是一些展示转义字符的例子:
#include <iostream>
using namespace std;
int main()
{
cout << "Hello\tWorld\n\n";
return 0;
}
当上述代码先编译再执行后,会出现如下结果:
Hello World
字符串常量
字符串常量需要使用双引号括起来。字符串常量跟字符常量一样,包括:普通字符、转义字符和通用字符。
可以使用空格将一行字符分割成多个行。
如下是一些字符串常量的例子。所有的三种形式是相同的字符串。
"hello, dear"
"hello, \
dear"
"hello, " "d" "ear"
默认常量
如下为 C++ 中的两个简单的默认常量。
- #define:预处理
- const:关键字
如下是详细的例子:
#include <iostream>
using namespace std;
#define LENGTH 10
#define WIDTH 5
#define NEWLINE '\n'
int main()
{
int area;
area = LENGTH * WIDTH;
cout << area;
cout << NEWLINE;
return 0;
}
当上述代码先编译再执行后,会出现如下结果:
50
const 关键字
可以使用const前缀来声明特殊类型的常量,比如:
const type variable = value;
下面是比较具体的例子:
#include <iostream>
using namespace std;
int main()
{
const int LENGTH = 10;
const int WIDTH = 5;
const char NEWLINE = '\n';
int area;
area = LENGTH * WIDTH;
cout << area;
cout << NEWLINE;
return 0;
}
当上述代码先编译再执行后,会出现如下结果:
50
注意:在程序首部定义常量是一个良好的编程习惯。
更多建议: