香蜜C班-L10-字符&字符串
2026-03-12 17:47:32
发布于:广东
一、字符类型&ASCII码
字符类型
-
char类型
#- 用于存储单个字符(1字节,范围-128~127或0~255)- 声明:
char c = 'A';
- 声明:
-
ASCII值转换
char c = 'A'; int ascii = (int)c; // 输出65 char c2 = 65; // 等价于'A'
ASCII基础
常用ASCII范围:
| 十进制范围 | 字符类型 |
|---|---|
| 0-31 | 控制字符(如换行\n) |
| 32 | 空格 |
| 48-57 | 数字0-9 |
| 65-90 | 大写字母A-Z |
| 97-122 | 小写字母a-z |
特殊字符示例:
| 字符 | ASCII十进制 | 说明 |
|---|---|---|
\0 |
0 | 空字符 |
\n |
10 | 换行 |
\t |
9 | 制表符 |
' ' |
32 | 空格 |
字符操作
-
输入输出
char ch; cin >> ch; // 输入字符 cout << ch; // 输出字符 cout << (int)ch; // 输出ASCII值 -
字符运算
// 大小写转换 char lower = 'a'; char upper = lower - 32; // 'A'(ASCII差32) // 字符比较 if ('A' <= ch && ch <= 'Z') { cout << "大写字母"; }
3、C++字符与ASCII码
在C++中,字符参与比较或者运算会用它所对应的ASCII值来进行。
1. 大小写转换
- C++大小写之间的ASCII差32,大写在前面,小写在后面
- 大写变小写:
+32 - 小写变大写:
-32
2. 字符类型判断
| 判断类型 | 条件表达式 |
|---|---|
| 是否为大写字母 | a >= 'A' && a <= 'Z' |
| 是否为小写字母 | a >= 'a' && a <= 'z' |
| 是否为字母 | (a >= 'A' && a <= 'Z') || (a >= 'a' && a <= 'z') |
| 是否为数字符号 | a >= '0' && a <= '9' |
3. 字符与数字转换
- 数字符号转整数数字:减去字符
'0' - 示例:
'9' - '0'的结果为整数9
二、字符串类型的存储和遍历
字符串:多个字符连接到一起
存储方式:1、string类型(C++独有);2、定义一维字符数组
字符串string基础
定义:string str3 = "World";
输入输出
| 方法 | 说明 | 示例 |
|---|---|---|
cin >> str |
读取到空格/换行停止 | 输入"Hi"后遇到空格停止 |
getline(cin, str) |
读取整行(包括空格) | 输入"Hello World"完整读取 |
cout << str |
输出字符串 |
示例:
string s;
cin >> s; // 输入"ABC DEF" → s="ABC"
getline(cin, s); // 输入"ABC DEF" → s="ABC DEF"
字符串遍历
- 下标访问(类似数组)
string s = "Hello"; for (int i = 0; i < s.length(); i++) { s[i]; // 根据题目对单个字符串中的字符进行操作 }
课堂笔记:
计算机里面是有很多不同数据类型的,所以才会产生不同的类型变量来存储各组数据类型
1 2 3 4-->整数数据
1.1 2.2 3.3-->小数(浮点数)数据
int a;
double b;
两种数据类型:字符、字符串
一、字符类型数据
1、如何识别这是一个字符类型?-->标识符:单引号''
'a' 'b' ',' ' ' '1' '2'-->字符数据
2、如何存储?用char类型变量来存储 char c='a';
字符数字和数字是否一样?-->不一样
3、字符&ASCII码:计算机中,每一个符号都有他对应的ASCII。
1)计算机如果用字符参与比较或者运算,都是以这个字符所对应的ASCII来进行的
2)常见的ASCII码:
'A'--65
'0'--48
' '--32
3)如何判断这个字符是大写字母? --c>='A' && c<='Z'
4)如何判断这个字符是小写字母? --c>='a' && c<='z'
5)如何判断这个字符是字母? --(c>='A' && c<='Z') || (c>='a' && c<='z')
6)如何判断这个字符是数字符号? --c>='0' && c<='9'
7)如何得到数字符号所对应的数字?字符-'0',比如:'9'-'0'-->9
4、如何得到字符所对应的ASCII--》强转成int即可
5、如果知道一个ASCII值,如何得到对应字符?强转成char即可
二、字符串类型数据(多个字符组成的数据)
1、如何识别这是一个字符串类型?-->标识符:双引号""
"123" "321" "abcd" "efgh"
2、如何存储?-->1)字符数组;2)string类型(C++独有的)
string s="123";
3、如何输入:
1)不带空格输入:cin
2)带空格输入:getline(cin,字符串名);
4、字符串遍历:
获取字符串长度:s.size()/s.length();
for(int i=0;i<s.size();i++){
s[i]//s[i]本质上就是一个字符类型
}
这里空空如也














有帮助,赞一个