当前课程知识点:程序设计基础 > 第三章 逻辑推理与枚举解题 > 师生问答 > 师生问答一:字符与ASCII码表
老师您好
我是选学这门课的一名同学
然后有几个问题想请教您一下
第一个就是
在C++里面
我听老师说
字符从本质上说是整数
那么这句话应该怎么理解
是这样的
你看在那个代码里面
我们字符不是用char这个类型来表示吗
那这个类型
它在内存中的二进制
其实它的表示
和整数类型是相同的
但它表示的
数的范围比较小
它是从0到255
那么在那个ASCII码里面
其实它已经事先定义好了
每一个字符的取值
我们来看一下
这ASCII码表
这就是一个ASCII码表
每一个字符它都有
相应的一个ASCII值
这就是一个整数的值
那像这个ASCII码表里面
你仔细看的话可以看到
在这里面
我们的字母
大写字母
小写字母
包括数字0到9
在这里面都是一个
连续的一个排列的
那么利用这个特点
我们在处理这种字符相关的
一些运算的时候
其实也就是会像
整数的加减那样
去进行这样的相应的计算
我们一般也不用
专门去记说
这些字符在ASCII表里面
到底是多少的一个整数值
而是通过运算来实现的
我们具体举个例子吧
比如说我们想判断
一个字符是不是
一个小写字母
那么我不需要
去查ASCII表
小写字母a
小写字母z
它们都是多少取值
那我是这么写的
你看
假设这个字符我们
存在一个叫ch的变量里面
那实际上我是会写说
ch>='a'
并且这个 ch<='z' 就可以了
这样呢就相当于我们
就像整数去比较大小一样
用字符也可以直接比较大小
来判断它的一个
可能的一个合理的范围
那同样如果我要
判断这个字符
是不是一个数字
是不是一个大写字母
那么我们也是类似的
再比如说
我们想把0到9
这样的一个字符
去转成相应的数值
我想把字符‘2’
变成数值的2
因为我们知道字符的‘2’
在ASCII码表里面
它对应的值并不是2
它是另外一个数
那多少呢
我们也不用查表
我们一般这么做的
假设这样一个字符
存在一个ch变量里面
那我用ch-‘0’
就可以知道
它到底相对应的
那个值是多少
因为是连续存放
所以这个‘0’
后面是字符‘1’
字符‘1’
后面是字符‘2’
所以字符’2’-‘0’
正好是得到了
它的一个值是2
所以从这个意义上来讲
也就是说
我们这个字符实际上
跟我们的整数
实际上是一回事
-1.1 基础知识
-1.2 买菜问题
-1.3 数学运算
-1.4 补充说明
-1.5 总结
--1.5 总结
-程设论道
--程设论道
-师生问答
-第一章 编程初步--语法自测
-2.1 关于超级计算器的几点思考
-2.2 电子秤模拟 — 背景介绍及需求分析
-2.3 电子秤模拟 — 代码实现
-2.4 变量定义与变量类型
-2.5 猜数游戏与数据表示
-2.6 关于变量的讨论
--公告
-2.7 变量体现的计算思维
-程设论道
--程设论道
-师生问答
--师生问答
-第二章 变量与代数思维--语法自测
-3.1 谁做的好事——语义表示
-3.2 谁做的好事——真假检查
-3.3 谁做的好事——循环枚举
-3.4 谁是嫌疑犯——多重循环枚举
-3.5 谁是嫌疑犯——破案线索表示
-3.6 谁是嫌疑犯——用二进制枚举
-程设论道
--程设论道一
--程设论道二
--程设论道三
-师生问答
-第三章 逻辑推理与枚举解题--语法自测
-4.1 插花游戏
-4.2 筛法
-4.3 线性查找
-4.4 折半查找
--4.4.1 提问
-4.5 排序问题
-4.6 总结
--4.6.1 总结
-程设论道
--程设论道二:筛法
-师生问答
-第四章 筛法与查找--语法自测
-5.1 阶乘
-5.2 排序
-5.3 矩阵填充
-5.4 分书与八皇后
-5.5 青蛙过河
-程设论道
--程设论道一
--程设论道二
-师生问答
--师生问答一
--师生问答二
-第五章 分治思想与递归--语法自测
-6.1 兔子数列问题
-6.2 分鱼问题
-6.3 橱窗的插花问题
-6.4 最长公共子序列问题
-程设论道
--程设论道一
--程设论道二
-师生问答
--师生问答
-第六章 递推与动态规划--语法自测
-7.1 统计记录总数
-7.2 统计活跃用户数
-7.3 统计在线时长
--7.3.2 结构
-7.4 总结
--7.4.1 总结
-程设论道
--程设论道
-师生问答
--师生问答
-第七章 文本数据处理--语法自测
-8.1 将数据组织成链表
-8.2 提高链表访问效率 —— 哈希链表
-8.3 以二进制文件存储链表
-程设论道
--程设论道一
--程设论道二
-师生问答
--师生问答
-第八章 非文本数据处理--语法自测
-9.1 自动售卖程序
-9.2 配制水果信息
-9.3 指定界面语言
-程设论道
--程设论道
-师生问答
--师生问答
-第九章 可配置的程序设计--语法自测