C++ char

在 C++ 中,char 关键字用于声明字符类型的变量。字符变量只能存储单个字符。

示例 1:打印 char 变量

#include <iostream>
using namespace std;

int main() {

    // initializing a variable
    char ch = 'h';

    // printing the  variable
    cout << "Character = " << ch << endl;

    return 0;
}

输出

Character = h

在上面的示例中,我们声明了一个名为 ch 的字符类型变量。然后我们将字符 h 分配给它。

注意: 在 C 和 C++ 中,字符必须放在单引号内。如果我们使用双引号,那就是一个字符串。


ASCII 值

在 C 和 C++ 中,char 变量存储的是整数(ASCII 值),而不是字符本身。例如,如果我们给 char 变量赋值 'h',变量中存储的是 104,而不是字符本身。这是因为 'h' 的 ASCII 值是 104。

下表显示了字符 AZaz5ASCII 值。

字符 ASCII 值
A 65
Z 90
a 97
z 122
5 53

要了解更多关于ASCII 码的信息,请访问 ASCII 图表


示例 2:获取字符的 ASCII 值

#include <iostream>
using namespace std;

int main() {
    char ch = 'h';

    // Printing the corresponding ASCII of a character 
    // Notice the use of int() to get an integer
    cout << "ASCII value = " << int(ch) << endl;

    return 0;
}

输出

ASCII value = 104

我们可以在打印时使用 int() 来获取字符对应的 ASCII 值。


我们可以给 char 变量赋值一个 ASCII 值(从0127),而不是字符本身。

示例 3:使用 ASCII 值打印字符

#include <iostream>
using namespace std;

int main() {

    // assigning an integer value to char
    char ch = 104;

    // printing the variable
    cout << "Character = " << ch << endl;

    return 0;
}

输出

Character = h

注意: 如果我们给 char 变量赋值 '5'(带引号),我们存储的是53(其 ASCII 值)。但是,如果我们给 char 变量赋值 5(不带引号),我们存储的是 ASCII 值5


C++ 转义序列

在 C++ 中,某些字符具有特殊含义,例如单引号 '、双引号 "、反斜杠 \ 等。我们不能直接在程序中使用这些字符。例如,

// This code shows an error
char character = ''';

在这里,我们试图将一个单引号字符 ' 存储在一个变量中。但这段代码会显示编译错误。

那么我们该如何使用这些特殊字符呢?

为了解决这个问题,C++ 提供了称为转义序列的特殊代码。现在借助转义序列,我们可以像它们本身一样编写这些特殊字符。例如,

// does not show error
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';

    // printing the variables
    cout << character1;       // A
    cout << character2;       // horizontal tab
    cout << character3;    // 5
    cout << character4;    // new line
    cout << character5;   // a

    return 0;
}

输出

A	5
a

在上面的程序中,我们使用了两个转义序列:水平制表符 \t 和换行符 \n

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战