明德碧海-L10-字符&字符串
2026-03-11 18:11:09
发布于:广东
一、字符类型&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]; // 根据题目对单个字符串中的字符进行操作 }
课堂笔记:
一、字符类型(是一种数据类型,类似int)
1、标识符(只能放一个符号):'',比如'a' ','
2、定义:char 变量名;
比如char c;
3、ASCII:每个符号有对应的编码,ASCII码
比如需要记住的符号ASCII:
'A'-65 'a'-97 大小写的ASCII码差32
'0'-48 ' '-32
如何获取字符的ASCII-->强转成整数类型
4、运算的优先级:浮点数>整数>字符(字符参与计算是用它ASCII码来计算的)
二、字符串类型(是多个字符的连接,是一个字符数组):
1、标识符(字符串会以'\0'作为结尾):"",比如"a" "abcdefg"
2、如何存储字符串:1)字符串string类型;2)char数组来存储(考虑'\0'的空间问题)
1)string s="abcdefg";
2)char s[1010]="abcdefg";
三、string类型的输入和输出
1、定义:string 字符串名;
string s;
2、输出:cout<<s;
3、输入:
1)不带空格:cin
2)带空格:getline(cin,字符串名);
4、字符串遍历(遍历一维数组,必须从0开始遍历)
获取字符串长度:s.size()/s.length()
for(int i=0;i<s.size();i++){
s[i];//s[i]等同于一个字符变量
}
补充:转义字符,比如\n->换行;\->输出一个反斜杠;+特殊用处的符号可以把那个符号输出
全部评论 1
?
5天前 来自 重庆
0


















有帮助,赞一个