C++ char 类型

在本教程中,我们将通过示例了解 C++ 中的 char 数据类型。

在 C++ 中, char 关键字用于声明字符类型变量。一个字符变量只能存储一个字符。 char 类型的字符必须使用单引号括起来。

C++ char 语法

请按照以下语法声明一个 char 类型的变量:

char ch = 'h';

这里:

  • 请使用单引号围绕字符。
  • 一个 char 变量只能存储一个字符。

**注意:**在 CC++ 以及 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 值(从0127)。请看下面的例子:

#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 值。
  • 转义序列是有特殊含义的字符,并都以 \ 开头。