亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

C++ Char 数据类型及示例

什么是字符?

Char 是为存储字母而设计的 C++ 数据类型。 Char 是字符的首字母缩写。它是一个整数数据类型,这意味着该值存储为整数。一个 char 占用 1 个字节的内存大小。它还存储一个字符。

在本 C++ 教程中,您将学习:

什么是 ASCII?

char 值被解释为 ASCII 字符。这类似于布尔值如何被解释为真或假。 ASCII 是美国信息交换标准代码的首字母缩写。它定义了一种将英文字符表示为数字的特定方式。

数字范围在 0 到 127 之间。例如,字符“a”相当于 ASCII 码 97。

字符声明

要在 C++ 中声明 char 变量,我们使用 char 关键字。这应该跟变量的名称。变量可以在声明时初始化。变量的值应该用单引号括起来。

语法:

以下是 C++ 中 char 声明的语法:

char variable-name;

variable-name 是要分配给变量的名称。

如果要在声明时赋值,可以使用以下语法:

char variable-name = 'value';	

示例 1:

#include <iostream>
using namespace std;
int main() {
	char grade = 'B';
	cout << "I scored a: "<<grade;
	return 0;
}

输出:

下面是代码截图:

代码说明:

  1. 在我们的代码中包含 iostream 头文件以使用其功能。
  2. 在我们的代码中包含 std 命名空间,以便在不调用它的情况下使用它的类。
  3. 调用 main() 函数。程序逻辑应添加到此函数的主体中。
  4. 声明一个名为grade的字符变量。该变量也被赋值为 B。请注意,该变量的值用单引号括起来。
  5. 在控制台上与其他文本一起打印变量等级的值。
  6. 程序必须在成功完成后返回值。
  7. main() 函数体的结尾。

打印 ASCII 值

如上所述,每个字符都被解释为 ASCII 字符。您可以获得任何字符的 ASCII 值。您只需将字符传递给 int() 函数。这个过程称为类型转换。让我们演示一下:

示例 2:

#include <iostream>
using namespace std;
int main() {
	char ch;
	cout << "Enter any character: ";
	cin >> ch;
	cout << "The ASCII Value of " << ch << " is " << int(ch);
	return 0;
}

输出:

下面是代码截图:

代码说明:

  1. 将 iostream 头文件包含在我们的代码中,以便使用它的功能。
  2. 将 std 命名空间包含到我们的代码中,以便在不调用它的情况下使用它的类。
  3. 调用 main() 函数。程序逻辑应添加到此函数的主体中。
  4. 声明一个名为 ch 的 char 变量。
  5. 在控制台上打印一些文本。文本要求用户输入变量 ch 的值。
  6. 从键盘读取用户输入并将其存储在变量 ch 中。
  7. 在控制台上打印一些文本。该文本将包括您为变量 ch 输入的字符、该字符的 ASCII 值以及其他文本。
  8. 程序必须在成功完成后返回值。
  9. main() 函数体的结尾。

打印字符值

给定一个 ASCII 值,C++ 编译器可以返回相应的字符。您声明一个 char 变量并为其分配一个整数值。它将被转换为相应的字符值。

示例 3:

#include <iostream>
using namespace std;
int main() {
	char x = 64, y = 66, z = 71;
	cout << x;
	cout << y;
	cout << z;
	return 0;
}

输出:

下面是代码截图:

代码说明:

  1. 将 iostream 头文件包含到代码中。然后我们将使用它的功能而不会出错。
  2. 在代码中包含 std 命名空间。我们将使用它的类而不调用它。
  3. 调用 main() 函数。程序逻辑应该进入这个函数的主体。
  4. 声明三个 char 变量 x、y 和 z。这三个已被分配整数值 65、66 和 67。这些将被视为字符的 ASCII 值。
  5. 在控制台打印出变量 x 的值。由于x被声明为char,所以会返回ASCII值为65的char,即A。
  6. 在控制台打印出变量 y 的值。由于y被声明为char,所以会返回ASCII值为66的char,即B。
  7. 在控制台打印出变量 z 的值。由于z被声明为char,所以会返回ASCII值为67的char,即C。
  8. 程序必须在成功完成后返回值。
  9. main() 函数体的结尾。

输入字符

我们可以使用 std::cin 函数读取用户通过键盘输入的字符。 std::cin 将允许您输入许多字符。但是,字符变量只能保存一个字符。这意味着只有输入的第一个字符将被提取并存储在字符变量中。其余的将保留在 std::cin 使用的缓冲区中。要提取它,对 std::cin 进行后续调用。

示例 4:

#include <iostream>
using namespace std;
int main() {
	cout << "Type a sequence of characters: "; 
	char ch;
	cin >> ch; 
	cout <<"The ASCII code of "<< ch << " is "<< int(ch) << '\n';
	cin >> ch; 
	cout <<"The ASCII code of " << ch << " is "<< int(ch) << '\n';
	return 0;
}

输出:

下面是代码截图:

代码说明:

  1. 在我们的代码中包含 iostream 头文件以使用其功能。
  2. 在我们的代码中包含 std 命名空间以使用它的类而不调用它。
  3. 调用 main() 函数。程序逻辑应添加到此函数的主体中。
  4. 在控制台上打印一些文本。
  5. 声明一个名为 ch 的字符变量。
  6. 从键盘读取用户输入。输入将存储在变量 ch 中。由于用户将键入 abc 之类的字符序列,因此只有第一个字符 a 将存储在变量 ch 中。
  7. 在控制台上打印输入的第一个字符、其 ASCII 代码和其他文本。 ASCII 码是通过将字符变量传递给 int() 函数来确定的。
  8. 读取用户输入的下一个字符。用户不需要输入新字符。它将改为读取输入的第二个字符,即 b。
  9. 在控制台上打印输入的第二个字符、其 ASCII 代码和其他文本。 ASCII 码是通过将字符变量传递给 int() 函数来确定的。
  10. 程序必须在成功完成后返回值。
  11. main() 函数体的结尾。

将字符转换为字符串

我们可以使用多种方法将字符转换为字符串。

让我们讨论一下:

#1:使用字符串类给出的构造函数

这可以使用以下语法来完成:

string st(int n,char x);

参数 n 表示要生成的字符串的大小。

参数 x 是要转换为字符串的字符。

该函数返回一个字符串。

示例 5:

#include<iostream>
#include <string>
using namespace std;
int main() {
	string st(1, 'C');
	cout << "The resulting string is : " << st;
	return 0;
}

输出:

下面是代码截图:

代码说明:

  1. 在我们的代码中包含 iostream 头文件以使用其功能。
  2. 在我们的代码中包含字符串头文件以使用它的功能。
  3. 在我们的代码中包含 std 命名空间以使用它的类而不调用它。
  4. 调用 main() 函数。程序逻辑应添加到此函数的主体中。
  5. 将字符“C”转换为长度为 1 的字符串,并将结果字符串赋给变量 st。
  6. 在控制台上打印字符串 st 的值以及其他文本。
  7. 程序必须在成功完成后返回值。
  8. main() 函数体的结尾。

#2) 使用 std::string 运算符 =和 +=

=和 +=运算符已经被字符重载。两者可用于将特定字符转换为字符串。

示例 6:

#include<iostream>
#include <string>
using namespace std;
int main() {
	string st;
	char b = 'B';
	st = 'A';
	st += b;
	cout << "The resulting string is : " << st;
	return 0;
}

输出:

下面是代码截图:

代码说明:

  1. 在我们的代码中包含 iostream 头文件以使用其功能。
  2. 在我们的代码中包含字符串头文件以使用它的功能。
  3. 在我们的代码中包含 std 命名空间以使用它的类而不调用它。
  4. 调用 main() 函数。程序逻辑应添加到此函数的主体中。
  5. 创建一个名为 st 的字符串变量。
  6. 创建一个名为 b 的字符,其值为 B。
  7. 将值 A 赋给名为 st 的字符串。
  8. 使用 +=运算符将字符转换为字符串。
  9. 在控制台上打印字符串 st 的值以及其他文本。
  10. 程序必须在成功完成后返回值。
  11. main() 函数体的结尾。

#3:使用 std::string 方法

std::string 类带有许多可以帮助您将字符转换为字符串的重载函数。

它们包括:

示例 7:

#include<iostream>
#include <string>
using namespace std;
int main() {
	string st;
	st.push_back('A');
	cout << "push_back A returns : " << st << endl;
	st = "";
	st.append(1, 'C');
	cout << "append C returns : " << st << endl;
	st = "";
	st.assign(1, 'D');
	cout << "assign D returns : " << st << endl;
	st.insert(0, 1, 'E');
	cout << "insert single character returns : " << st << endl;
	return 0;
}

输出:

下面是代码截图:

  1. 在我们的代码中包含 iostream 头文件以使用其功能。
  2. 在我们的代码中包含字符串头文件以使用它的功能。
  3. 在我们的代码中包含 std 命名空间以使用它的类而不调用它。
  4. 调用 main() 函数。程序逻辑应添加到此函数的主体中。
  5. 创建一个名为 st 的字符串变量。
  6. 将字符 A 分配到字符串的末尾。
  7. 在控制台上打印字符串 st 的值以及其他文本。 endl(结束行)将光标移动到下一行。
  8. 将字符串 st 的值设置为空。
  9. 将单个字符 C 分配给名为 st 的字符串。
  10. 在控制台上打印字符串 st 的值以及其他文本。 endl(结束行)将光标移动到下一行。
  11. 将字符串 st 的值设置为空。
  12. 用单个字符 D 替换字符串 st 的内容。
  13. 在控制台上打印字符串 st 的值以及其他文本。 endl(结束行)将光标移动到下一行。
  14. 从第一个索引开始将单个字符 E 插入到名为 st 的字符串中。
  15. 在控制台上打印字符串 st 的值以及其他文本。 endl(结束行)将光标移动到下一行。
  16. 程序必须在成功完成后返回值。
  17. main() 函数体的结尾。

#4: 使用 std::stringstream

要使用此类将字符转换为字符串,请将字符插入流中。

它们将被写入字符串。

示例 8:

#include<iostream>
#include <string>
#include <sstream>

using namespace std;
int main() {

	string st;

	stringstream myst;

	myst << 'A'; 
	myst >> st;

	cout << "The conversion of the single character returns the string: " << st;

	return 0;
}

输出:

下面是代码截图:

代码说明:

  1. 在我们的代码中包含 iostream 头文件以使用其功能。
  2. 在我们的代码中包含字符串头文件以使用它的功能。
  3. 在我们的代码中包含 sstream 头文件以使用其功能。
  4. 在我们的代码中包含 std 命名空间以使用它的类而不调用它。
  5. 调用 main() 函数。程序逻辑应添加到此函数的主体中。
  6. 创建一个名为 st 的字符串变量。
  7. 创建一个名为 myst 的流变量。
  8. 将字符 A 插入名为 myst 的流对象中。
  9. 将流对象转换为字符串。
  10. 在控制台上打印字符串 st 的值以及其他文本。 endl(结束行)将光标移动到下一行。
  11. 程序必须在成功完成后返回值。
  12. main() 函数体的结尾。

总结:


C语言

  1. C++ 数据类型
  2. Java 类型转换
  3. 如何处理数据?!
  4. C++ do...while 循环与示例
  5. 带有示例的 C++ 指针
  6. 带有示例的 C++ 运算符重载
  7. C++ 结构与示例
  8. C++ 中的 std::list 示例
  9. 带有程序示例的 C++ 函数
  10. 通过性能监控释放物联网的价值
  11. C++ 变量类型
  12. C++ 数据结构