高北-L12-字符&字符串遍历
2025-12-19 17:07:41
发布于:广东
一、字符类型&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 << "大写字母"; }
二、字符串类型的存储和遍历
字符串:多个字符连接到一起
存储方式: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->换行;\->输出一个反斜杠;+特殊用处的符号可以把那个符号输出
全部评论 2


14小时前 来自 广东
0[书呆子]
14小时前 来自 广东
0











有帮助,赞一个