零基础也能学懂!本文将用显微镜级别的方式拆解C++字符与字符串的每一个细节,拒绝"大概懂",只求"彻底通"!
对了,同样有个小小的要求,点点关注不迷路!
接下来是本期博客的目录,请查收!
目录
零基础也能学懂!本文将用显微镜级别的方式拆解C++字符与字符串的每一个细节,拒绝"大概懂",只求"彻底通"!
一、字符类型(char)深度解析
1. 为什么需要字符类型?
计算机本质只懂0和1,为了让人能输入和输出文字,我们用ASCII码表示字符,而char类型就是用来存储这些字符的容器。
代码逐行解析:
#include <iostream> // 引入输入输出库
using namespace std; // 使用标准命名空间(避免写std::前缀)
int main() { // 程序入口函数
// 声明char类型变量并初始化
char letter = 'A'; // 单引号用于单个字符
char number = '9';
char symbol = '@';
// 输出字符
cout << "字母: " << letter << endl; // endl表示换行
cout << "数字: " << number << endl;
cout << "符号: " << symbol << endl;
return 0; // 程序正常结束
}
2. char本质:存储数字的盒子
计算机中一切皆数字,char存储的是字符的ASCII码值(0-255)。看透char的本质:
char c = 'B'; // 看起来存储字符'B'
// 实际存储的是数字66
cout << "字符B的ASCII码: " << (int)c; // (int)强制转换为整数
// 直接使用ASCII码赋值
char d = 66; // 等价于 d = 'B'
cout << "ASCII 66对应的字符: " << d;
3. 字符输入操作详解
如何从键盘获取字符:
char input;
cout << "请输入一个字符: ";
cin >> input; // cin是标准输入流对象
cout << "你输入了: " << input;
注意事项:
- 只能读取第一个字符(输入"hello"只会读取'h')
- 缓冲区问题:如果连续读取,可能会读取到回车符
4. 字符运算内部原理
为什么可以进行字符运算?因为实际运算的是ASCII码值:
char ch = 'C';
// 解密运算过程
ch = ch + 1;
// 等价操作:
// 1. 读取ch的ASCII码(67)
// 2. 67 + 1 = 68
// 3. 68对应字符'D'
cout << ch; // 输出'D'
// 大小写转换原理
ch = 'f'; // ASCII码102
ch = ch - 32; // 102 - 32 = 70 → 'F'
二、字符串(string)完全指南
1. 从C风格字符串到C++的string
历史背景: 早期C++沿用C的字符数组表示字符串,存在诸多不便(如手动分配内存)
// C风格字符串(不建议在新项目中使用)
char cstr[10] = "Hello"; // 固定长度数组,容易越界
// C++ string类(推荐使用)
#include <string> // 必须包含此头文件
string s = "Hello"; // 长度自动管理

、字符串(string)&spm=1001.2101.3001.5002&articleId=148808241&d=1&t=3&u=a3f564c1c8db4769a469f127b9285904)
1万+

被折叠的 条评论
为什么被折叠?



