主页
  • 主页
  • 分类
  • 热文
  • 教程
  • 面试
  • 标签
C++

C++ 基础

C++ 主页
C++ 概述
C++ 环境
C++ 基本语法
C++ 注释
C++ 数据类型
C++ Hello, World
C++ 省略命名空间
C++ 数值类型
C++ 字符类型
C++ 布尔类型
C++ 变量
C++ 作用域
C++ 多个变量
C++ 输入输出基础
C++ 常量/文字
C++ 修饰符类型
C++ 存储类别
C++ 操作符
C++ 决策结构
C++ 循环结构
C++ foreach 循环
C++ 数字
C++ 数组
C++ 指针
C++ 枚举类型
C++ 引用变量
C++ 日期与时间
C++ 结构体
C++ 联合类型

C++ 字符串

C++ 字符串
C++ 字符串长度
C++ 字符串连接

C++ 函数

C++ 函数
C++ 多参数函数
C++ 递归
C++ return 语句
C++ 函数重载
C++ 函数重写

C++ 面向对象

C++ 面向对象
C++ 类和对象
C++ 多重继承
C++ 多层次继承
C++ 继承
C++ 重载
C++ 多态性
C++ 抽象
C++ 封装
C++ 接口

C++ 高级

C++ 文件和流
C++ 异常处理
C++ 动态内存
C++ 命名空间
C++ 模板
C++ 预处理器
C++ 信号量
C++ 多线程
C++ Web 编程
C++ 高级概念

基础

C++ 主页
C++ 概述
C++ 环境
C++ 基本语法
C++ 注释
C++ 数据类型
C++ Hello, World
C++ 省略命名空间
C++ 数值类型
C++ 字符类型
C++ 布尔类型
C++ 变量
C++ 作用域
C++ 多个变量
C++ 输入输出基础
C++ 常量/文字
C++ 修饰符类型
C++ 存储类别
C++ 操作符
C++ 决策结构
C++ 循环结构
C++ foreach 循环
C++ 数字
C++ 数组
C++ 指针
C++ 枚举类型
C++ 引用变量
C++ 日期与时间
C++ 结构体
C++ 联合类型

字符串

C++ 字符串
C++ 字符串长度
C++ 字符串连接

函数

C++ 函数
C++ 多参数函数
C++ 递归
C++ return 语句
C++ 函数重载
C++ 函数重写

面向对象

C++ 面向对象
C++ 类和对象
C++ 多重继承
C++ 多层次继承
C++ 继承
C++ 重载
C++ 多态性
C++ 抽象
C++ 封装
C++ 接口

高级

C++ 文件和流
C++ 异常处理
C++ 动态内存
C++ 命名空间
C++ 模板
C++ 预处理器
C++ 信号量
C++ 多线程
C++ Web 编程
C++ 高级概念

C++ 字符类型


上一章 下一章

字符(char)数据类型代表字母数字值,它可以是一系列字符。这些可能包括字母如 'a', 'b', 'c',数字如 '1', '2', '3',符号如 '#', '$', '&',以及其他更多。

字符数据类型占用 1 字节(即 8 位)的内存来存储字符。在 C++ 中,关键字 "char" 用于声明一个字符变量。

在本教程中,我们将探讨更多关于字符数据类型及其相应变量的信息。

使用字符(char)数据类型

以下是字符(char)数据类型的几个用途:

  • 当我们需要仅保存单个字符且不需要字符串开销时,可以使用 char 数据类型。
  • char 数据类型也可以在没有使用字符串字面量的情况下作为原始形式的数组使用。
  • 在 ASCII 形式中,char 数据类型可以用来表示数值,反之亦然。

字符(char)数据类型的值

C++ 中的字符(char)数据类型可以有多重值,这些值如下:

  • 大写字母,如 A, B, Z 等。
  • 小写字母,如 a, b, z 等。
  • 符号,如 $, %, &, 等。
  • 逃逸序列,这将在本文后面部分讨论。

创建字符(char)变量

我们可以使用 "char" 关键字后跟变量名来声明一个字符变量。

语法

使用以下语法来创建 char 类型的变量:

char variable_name = [value];

这里,[value] 是可选的,可以用来在声明时赋值。

示例

在下面的例子中,我们声明了一个 char 变量并给它赋值。

// C++ 程序演示字符数据类型
#include <iostream> 
using namespace std;

int main(){ 
   char ch;
   return 0; 
}

字符(char)数据类型的示例

下面的例子展示了不同字符数据类型的使用:

// C++ 程序演示字符数据类型
#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" ? ";
   //this throws error
   string txt = "Hey, where are you \"vikas\"? ";

   cout<<txt<<endl;
   return 0; 
}

输出:

Hey, where are you "vikas"?
上一章 下一章
阅读号二维码

关注阅读号

联系二维码

联系我们

© 2024 Yoagoa. All rights reserved.

粤ICP备18007391号

站点地图