C++ 常量/字面值

来源:这里教程网 时间:2026-02-17 08:30:02 作者:

C++ 常量/字面值

常量是指程序不能修改的固定值,它们被称为 字面值

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

与常规变量一样,常量也被视为普通变量,只是在定义后其值不能被修改。

整数字面值

整数字面值可以是十进制、八进制或十六进制常量。前缀指定了基数:0x或0X表示十六进制,0表示八进制,没有前缀表示十进制。

整数字面值也可以有后缀,后缀是U和L的组合,分别表示无符号和长整型。后缀可以是大写或小写,并且可以以任何顺序。

以下是一些整数字面值的示例 –

212         // Legal215u        // Legal0xFeeL      // Legal078         // Illegal: 8 is not an octal digit032UU       // Illegal: cannot repeat a suffix

以下是各种整数字面值的其他示例 –

85         // decimal0213       // octal0x4b       // hexadecimal30         // int30u        // unsigned int30l        // long30ul       // unsigned long

浮点数字面量

浮点数字面量由整数部分、小数点、小数部分和指数部分组成。你可以用十进制形式或指数形式表示浮点数字面量。

在用十进制形式表示时,你必须包括小数点、指数或两者,而在用指数形式表示时,你必须包括整数部分、小数部分或两者。符号指数由e或E引入。

下面是一些浮点数字面量的示例−

3.14159       // Legal314159E-5L    // Legal510E          // Illegal: incomplete exponent210f          // Illegal: no decimal or exponent.e55          // Illegal: missing integer or fraction

布尔字面值

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

一个值为 true 代表真。

一个值为 false 代表假。

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

字符字面值

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

字符字面值可以是普通字符(例如,’x’),转义序列(例如,’\t’),或通用字符(例如,’\u02C0’)。

在C++中,有一些特定的字符,在它们之前加上反斜杠会有特殊的含义,它们用于表示换行符(\n)或制表符(\t)。这里,你有一个此类转义序列代码的列表:

转义序列含义
\\反斜杠字符
'单引号字符
"双引号字符
\?问号字符
\a警报或响铃
\b退格键
\f换页键
\n换行键
\r回车键
\t水平制表符
\v垂直制表符
\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 关键字。

#define预处理器

以下是使用#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

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

请注意,将常量定义为大写字母是一种良好的编程习惯。

相关推荐