C++ char 类型
在本教程中,我们将通过示例了解 C++ 中的 char 数据类型。
在 C++ 中, char
关键字用于声明字符类型变量。一个字符变量只能存储一个字符。 char
类型的字符必须使用单引号括起来。
C++ char 语法
请按照以下语法声明一个 char
类型的变量:
char ch = 'h';
这里:
- 请使用单引号围绕字符。
- 一个
char
变量只能存储一个字符。
**注意:**在 C, C++ 以及 Java 中,字符应该在单引号内。如果我们使用双引号,它是一个字符串。
下面我们看几个 char
类型的变量的应用实例。
示例 1:打印 char 变量
#include <iostream>
using namespace std;
int main() {
// 声明变量
char ch = 'h';
// 打印变量
cout << "Character = " << ch << endl;
return 0;
}
输出
Character = h
在上面的例子中,我们声明了一个名为 ch
的字符类型变量. 然后我们给它分配了一个字符 h
。
ASCII 值
在 C 和 C++ 中,在 char
变量中存储的是整数(ASCII 值),而不是字符本身。例如,如果我们分配 'h'
给一个 char
变量,存储在变量中的是 104
而不是字符本身。这是因为 'h'
的 ASCII 值是 104
。
下面的表格中列出了几个字符的 ASCII 值:
字符 | ASCII 值 |
---|---|
A |
65 |
Z |
90 |
a |
97 |
z |
122 |
5 |
53 |
要了解有关ASCII 代码的更多信息,请访问ASCII 图表。
示例 2:获取字符的 ASCII 值
下面的示例真是了如何获取一个 char
类型变量中字符的 ASCII 值。
#include <iostream>
using namespace std;
int main() {
char ch = 'h';
cout << "ASCII value = " << int(ch) << endl;
return 0;
}
输出
ASCII value = 104
我们在打印的时候可以通过使用 int()
得到一个字符对应的 ASCII 值。
示例 3:分配 ASCII 值给字符变量
我们可以为 char
变量直接一个 ASCII 值(从0到127)。请看下面的例子:
#include <iostream>
using namespace std;
int main() {
// 分配一个整数
char ch = 104;
cout << "Character = " << ch << endl;
return 0;
}
输出
Character = h
注意: 如果我们给一个 char
变量赋值 '5'
(此处有引号),我们存储的是 53
('5'
的 ASCII 值)。但是,如果我们为 char 变量赋值 5
(不带引号),我们将存储 ASCII 值 5
。
C++ 转义序列
某些字符在 C++ 中具有特殊含义,例如单引号 '
、双引号 "
、反斜杠 \
等。我们不能在我们的程序中直接使用这些字符。例如,
// 错误代码
char character = ''';
在这里,我们尝试在变量中存储单引号字符 '
。但是这段代码显示了一个编译错误。
那么我们如何使用这些特殊字符呢?
为了解决这个问题,C++ 提供了称为转义序列的特殊代码。现在借助转义序列,我们可以按原样编写这些特殊字符。例如,
// 正确
char character = ' \' ';
这 \'
是一个转义序列,允许我们在变量中存储单引号。 \
为转义字符,所有的转义序列以 \
开头。
下表列出了 C++ 的转义序列。
转义序列 | 含义 |
---|---|
\b |
退格 |
\f |
换页 |
\n |
新队 |
\r |
返回 |
\t |
水平制表符 |
\v |
垂直制表符 |
\\ |
反斜杠 |
\' |
单引号 |
\" |
双引号 |
\? |
问号 |
\0 |
空字符 |
示例 4:使用 C++ 转义序列
#include <iostream>
using namespace std;
int main() {
char character1 = 'A';
// using escape sequence for horizontal tab
char character2 = '\t';
char character3 = '5';
// using escape sequence for new line
char character4 = '\n';
char character5 = 'a';
// 打印变量
cout << character1; // A
cout << character2; // 水平制表符
cout << character3; // 5
cout << character4; // 换行
cout << character5; // a
return 0;
}
输出
A 5
a
在上面的程序中,我们使用了两个转义序列:水平制表符 \t
和换行符 \n
。
结论
在本文中,我们学习了 C++ 编程语言中的 char
数据类型。
char
类型只能存储一个字符。char
类型的字符需要使用单引号包围起来。char
类型变量可以直接分配一个 ASCII 值。- 转义序列是有特殊含义的字符,并都以
\
开头。