字符(char
)数据类型代表字母数字值,它可以是一系列字符。这些可能包括字母如 'a', 'b', 'c',数字如 '1', '2', '3',符号如 '#', '$', '&',以及其他更多。
字符数据类型占用 1 字节(即 8 位)的内存来存储字符。在 C++ 中,关键字 "char" 用于声明一个字符变量。
在本教程中,我们将探讨更多关于字符数据类型及其相应变量的信息。
使用字符(char)数据类型
以下是字符(char)数据类型的几个用途:
-
当我们需要仅保存单个字符且不需要字符串开销时,可以使用
char
数据类型。
-
char
数据类型也可以在没有使用字符串字面量的情况下作为原始形式的数组使用。
-
在 ASCII 形式中,
char
数据类型可以用来表示数值,反之亦然。
字符(char)数据类型的值
C++ 中的字符(char)数据类型可以有多重值,这些值如下:
创建字符(char)变量
我们可以使用 "char" 关键字后跟变量名来声明一个字符变量。
语法
使用以下语法来创建 char
类型的变量:
char variable_name = [value];
这里,[value]
是可选的,可以用来在声明时赋值。
示例
在下面的例子中,我们声明了一个 char
变量并给它赋值。
#include <iostream>
using namespace std;
int main(){
char ch;
return 0;
}
字符(char)数据类型的示例
下面的例子展示了不同字符数据类型的使用:
#include <iostream>
using namespace std;
int main() {
char ch, ch1, ch2;
ch = 'a';
ch1 = '&';
ch2 = '1';
cout << ch << endl << ch1 << endl << ch2 << endl;
return 0;
}
输出:
a
&
1
字符的 ASCII 值
ASCII 代表 “美国信息交换标准代码”。它是为不同的字符和符号分配的第一套编码值。现代计算机、HTML 和互联网中使用的字符集都是基于 ASCII 的。
ASCII 表描述了所有字符类型的数值,这些值可以用来声明字符而无需明确使用该字符本身。它包含了 0-9 的数字,A 到 Z 的大写和小写英文字母,以及其他一些特殊字符。
以下数据提供了 C++ 中可用的所有字符的 ASCII 值的参考:
-
字母 'a' 到 'z' 的 ASCII 范围 = 97-122
-
字母 'A' 到 'Z' 的 ASCII 范围 = 65-90
-
数字 '0' 到 '9' 的 ASCII 范围 = 48-57
展示 ASCII 声明的示例
下面的例子展示了如何使用 ASCII 值来声明字符变量,而不需要明确使用该字符:
#include <iostream>
using namespace std;
int main() {
char ch, ch1, ch2;
ch = 65;
ch1 = 45;
ch2 = 55;
cout << ch << endl << ch1 << endl << ch2 << endl;
return 0;
}
输出:
A
-
7
字符变量的隐式转换
字符变量可以使用 ASCII 参考隐式转换为它们的整数值,反之亦然。因此,当我们声明 C++ 中的字符时,我们可以引用它们的 ASCII 值,而 ASCII 数值也可以用来访问其字符值。这是通过数据类型的隐式转换或类型转换完成的。
我们可以在需要转换的变量前加上所需数据类型的关键词,编译器会自动改变数据类型。例如,如果写 char(97)
,它将加载 ASCII 编号 97 的字符值,即 'a'。这也适用于将字符数据类型转换为整数(ASCII)值。
下面的例子清楚地解释了这一点:
示例
下面的例子展示了 char
到 int
的隐式类型转换,反之亦然:
#include <iostream>
using namespace std;
int main() {
char c = '$';
int a = 97;
cout << "The Corresponding ASCII value of '$' : ";
cout << int(c) << endl;
cout << "The Corresponding character value of 97 : ";
cout << char(a) << endl;
return 0;
}
输出:
The Corresponding ASCII value of '$' : 36
The Corresponding character value of 97 : a
C++ 中的转义序列
以反斜杠(“\”)开头的字符变量称为转义序列。这些确定了编译器输出窗口上的输出序列。在这种上下文中,反斜杠也称为“转义字符”。
下表显示了 C++ 中可用的不同类型的转义序列:
序号 |
转义序列 |
字符 |
1. |
\n |
新行 |
2. |
\ |
反斜杠 |
3. |
\t |
水平制表符 |
4. |
\v |
垂直制表符 |
5. |
\0 |
空字符 |
下面的示例代码清楚地解释了转义序列的用法:
示例 1
#include <iostream>
using namespace std;
int main() {
char a = 'H';
char b = 'E';
char c = 'Y';
char d = '\n';
char e = '\t';
cout << a << b << c << d << a << b << c << e << a << b << c;
return 0;
}
输出:
HEY
HEYHEY
转义字符也可以用来在字符串中插入特殊字符。下面的例子清楚地解释了这一点:
示例 2
#include <iostream>
using namespace std;
int main() {
string txt = "Hey, where are you \"vikas\"? ";
cout<<txt<<endl;
return 0;
}
输出:
Hey, where are you "vikas"?