C++ 常量/字面值

C++ 常量/字面值

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

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

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

整数字面值

整数字面值可以是十进制、八进制或十六进制常量。前缀指定了基数: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

浮点数字面量

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

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

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

3.14159       // Legal
314159E-5L    // Legal
510E          // Illegal: incomplete exponent
210f          // 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

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程