Cplusplus 简明教程

C++ Constants/Literals

常量指程序可能不会更改的固定值,它们被称为 literals

常量可以是任何基本数据类型,可以分为整数、浮点数、字符、字符串和布尔值。

同样,常量与普通变量一样,只是它们的数值在定义后不可修改。

Integer Literals

整数常量可以是十进制、八进制或十六进制常量。前缀指定基数或基数:十六进制的 0x 或 0X、八进制的 0,不指定基数则表示十进制。

整数文本还可以有一个后缀,它是 U 和 L 的组合,分别代表无符号和长。后缀可以是大写或小写,并且可以按任何顺序排列。

以下是整数文本的一些示例:

212         // Legal
215u        // Legal
0xFeeL      // Legal
078         // Illegal: 8 is not an octal digit
032UU       // Illegal: cannot repeat a suffix

以下是一些不同类型整数文本的其他示例:

85         // decimal
0213       // octal
0x4b       // hexadecimal
30         // int
30u        // unsigned int
30l        // long
30ul       // unsigned long

Floating-point Literals

浮点文本具有整数部分、小数点、小数部分和指数部分。你可以以十进制形式或指数形式表示浮点数文本。

在使用十进制形式表示时,必须同时包含小数点和指数,而在使用指数形式表示时,必须包含整数部分和小数部分。带符号的指数由 e 或 E 引入。

以下是浮点数文本的一些示例:

3.14159       // Legal
314159E-5L    // Legal
510E          // Illegal: incomplete exponent
210f          // Illegal: no decimal or exponent
.e55          // Illegal: missing integer or fraction

Boolean Literals

有两个布尔文本,它们是标准 C++ 关键字的一部分:

  1. 一个值 true 表示 true。

  2. 一个值 false 表示 false。

你不应该认为 true 的值等于 1,而 false 的值等于 0。

Character Literals

字符文本用单引号引起来。如果文本以 L(仅大写)开头,则它是一个宽字符文本(例如,L’x'),并且应存储在 wchar_t 类型变量中。否则,它是一个窄字符文本(例如,'x'),并且可以存储在 char 类型的简单变量中。

字符文本可以是普通字符(例如,'x')、转义序列(例如,'\t')或通用字符(例如,'\u02C0')。

C++ 中的某些字符在它们前面加上反斜杠时将具有特殊含义,并且用于表示换行符(\n)或制表符(\t)。在这里,你有这样一些转义序列代码的列表:

Escape sequence

Meaning

|\ character

\'

' character

\"

" character

\?

? character

\a

Alert or bell

\b

Backspace

\f

Form feed

\n

Newline

\r

Carriage return

\t

Horizontal tab

\v

Vertical tab

\ooo

一个到三个数字的八进制数

\xhh . . .

以下是显示一些转义序列字符的示例:

#include <iostream>
using namespace std;

int main() {
   cout << "Hello\tWorld\n\n";
   return 0;
}

编译并执行上述代码后,将产生以下结果 −

Hello   World

String Literals

字符串文本用双引号引起来。字符串包含与字符文本类似的字符:普通字符、转义序列和通用字符。

你可以使用字符串文本将长行拆分为多行,并使用空格分隔它们。

以下是字符串文本的一些示例。所有这三种形式都是相同的字符串。

"hello, dear"

"hello, \

dear"

"hello, " "d" "ear"

Defining Constants

在 C++ 中有两种简单的方法来定义常量:

  1. Using #define preprocessor.

  2. Using const keyword.

The

以下是使用 #define 预处理程序来定义常量的形式:

#define identifier value

以下示例对此进行了详细说明:

#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

The const Keyword

您可以使用 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

请注意,以大写字母定义常量是一种良好的编程实践。