字面量是常量的另一个名称,它们是程序不允许更改的固定值。常量可以是任何基本数据类型,并进一步细分为布尔值、字符、字符串、浮点数和整数。常量与普通变量的处理方式相同,但一旦定义,就不能更改它们的值。
用于表示固定值的字面量。它们可以直接插入到代码中。例如,9、11.5、“b”等。
在上面的示例中,9、11.5 和“b”都是字面量。这是因为这些术语无法分配不同的值。
在 C/C++ 程序中,可以通过以下两种方式之一定义常量:
#define 预处理器指令:此指令为现有变量或任何值声明一个别名。如下所示,我们可以使用它来声明一个常量。
#define identifierName value

const 关键字:使用 const 关键字定义常量与定义变量相同;唯一的区别是定义前必须加上 const 关键字。
const datatype variable_name = value

十进制、八进制或十六进制常量可以是整型字面量。基数或进制由前缀指定,对于十六进制可以是 0,对于八进制可以是 0,对于十进制则为空。整型字面量的另一个可能后缀是 U 和 L 的组合,分别代表 unsigned 和 long。后缀可以是任何顺序,也可以是大写或小写字母。没有小数部分或指数部分的数字字面量(与数字相关的)称为整数。
C 编程中主要有 3 种类型的整型字面量(链接到 C 教程):
在 C++ 编程中,八进制总是以 0 开头,十六进制总是以 0x 开头。
整型字面量详细介绍及简单示例。
整型字面量用于表示和存储整型值。整型字面量有两种表示方式,即:
十六进制的基数由前缀 0x 表示。因此,十六进制的 20 在十进制中是 32。因此,值为 32。
C++ 编程中主要有 4 种类型的整型字面量:
例如,123496098764321LL 主要表明值 12345678901234 是一个带有 LL 后缀的 long long 整数。
根据不同的数据种类,它们以不同的方式表示。
#include<iostream>
int main()
{
// constant integer literal is used here
const int intVal = 30;
printf("Integer Literal Will Be:%d \n",
intVal);
return 0;
}
输出
Integer Literal Will Be : 30
浮点数字面量用于表示和存储实数。实数由整数、实数、小数和指数部分组成。可以使用十进制或指数形式来存储浮点数字面量。
为了构造有效的字面量,在表示浮点数十进制时必须考虑两个方面:
有效浮点数字面量和无效浮点数字面量是浮点数字面量表示的一些示例。
| 有效浮点数字面量示例 | 无效浮点数字面量示例 |
|---|---|
| 10.541 1.123-20L 10.6E-2 |
126E 1230f 0.e678 |
#include <iostream> using namespace std; int main() { // Real literal const float floatVal = 3.14; cout << "Floating-point literal Will be: " << floatVal << "\n"; return 0; }
输出
Floating-point literal Will be:3.14
此字面量仅在 C++ 中提供;C 中没有。布尔数据类型由它们表示。
它们有两个可能的值:
#include <iostream>
using namespace std;
int main()
{
const bool isTrue = true;
const bool isFalse = false;
cout << "isTrue then it is? "
<< isTrue << "\n" ;
cout << "isFalse then it is? "
<< isFalse << "\n" ;
return 0;
}
输出
isTrue then it is? 1 isFalse then it is? 0
本文的主题是用于将单个字符存储在单引号中的字面量。必须使用字符数组来存储多个字符。如果将多个字符存储在单引号中,将发出警告,并且只会显示字面量的最后一个字符。
由此产生的两种表示形式如下:
例如:// C++
char chr = 'R';
例如:// C++
wchar_t chr = L'R';
#include
int main()
{
// constant char literal
const char charVal = 'A';
printf("Character Literal Will Be: %c\n",
charVal);
return 0;
}
输出
Character Literal Will Be : A
字符字面量和字符串字面量类似。除了它们可以存储多个字符外,它们主要使用双引号来存储。
例如:
string stringVal = "Learn eTutorials"
#includeusing namespace std; int main() { const string str = "Welcome All\nTo\n Learn\t e \t Tutorials"; cout << str; return 0; } }
输出
Welcome All To Learn e Tutorials