当前位置: 首页 > article >正文

GESP等级考试C++二级-ASCII码与字符

1 ASCII码介绍

ASCII码是American Standard Code for Information Interchange,即美国标准信息交换码的简称。

ASCII码的主要功能是将键盘上输入的字符(如数字、字母、特殊符号等)转换为计算机能够识别的二进制数,即每个字符都对应一个唯一的ASCII码。ASCII码的取值范围是0-127,因此可以表示126个字符。ASCII码作为桥梁,实现了人与计算机之间的信息交流。

2 ASCII码与字符的互换

给定一个ASCII码的值,如何打印出其对应的字符;或者给定一个字符,如何打印出其对应的ASCII码。以上问题可以通过显式或隐式转换实现ASCII码与字符的互换。

2.1 显式转换

使用显式转换指的是通过函数来实现ASCII码与字符的互换,其代码如图1所示。

图1 显式转换实现ASCII码与字符的互换的代码

其中,第6行代码定义了int类型的变量a1,并将其值设置为65;第7行代码通过char()函数显式地将int类型的a1转换为char,并保存在char类型的变量c1中;第8行打印c1的值;第9行代码定义了char类型的变量c2,并将其值设置为“B”;第10行代码通过int()函数显式地将char类型的c2转换为int类型,并保存在a2中;第11行打印a2的值。程序运行效果如图2所示。

图2 程序运行效果

从图2中可以看出,图1所示的代码实现了ASCII码与字符的互换,即ASCII码为65的字符是“A”,字符“B”对应的ASCII码是65。

2.2 隐式转换

隐式转换指的是在赋值的时候来实现ASCII码与字符的互换,其代码如图3所示。

图3 隐式转换实现ASCII码与字符的互换的代码

其中,第6行代码为char类型的变量c1直接赋值了整型65,此时编译器会隐式地将65转换为“A”,再赋值给c1;同理第8行代码编译器会隐式地将字符“B”转换为整型66,再赋值给a2,图3所示程序运行的效果如图2所示。

3 字符型的数字、大写字母和小写字母的ASCII码

字符型的数字“0-9”对应的ASCII码分别是48-57,从“0”对应的ASCII码48开始,依次加1;大写字母“A-Z”对应的ASCII码分别是65-90,从“A”对应的ASCII码65开始,依次加1;小写字母“a-z”对应的ASCII码分别是97-122,从“A”对应的ASCII码97开始,依次加1。

注意1 可以不用记忆每个字符对应的ASCII码,但是要记住的是,字符型的数字对应的ASCII码 < 大写字母对应的ASCII码 < 小写字母对应的ASCII码。

4 GESP真题解析

2024-03判断题

答案:√

解析:大写字母“A-Z”对应的ASCII码分别是65-90,从“A”对应的ASCII码65开始,依次加1,因此大写字母“C”对应的ASCII码应该是65+2=67,即int(‘C’)=67;abs()函数的作用是求绝对值,abs(-5.8)=5.8,因此表达式int(‘C’)+abs(-5.8)=67+5.8=72.8。

2023-12判断题

答案:×

解析:字符型的数字“0-9”对应的ASCII码分别是48-57,从“0”对应的ASCII码48开始,依次加1。因此,int(‘9’)=57,所以表达式2*int(‘9’)*2=2*57*2=228。

2023-06判断题

答案:√

解析:大写字母“A-Z”对应的ASCII码分别是65-90,从“A”对应的ASCII码65开始,依次加1。

2023-03判断题

答案:×

解析:小写字母“a-z”对应的ASCII码分别是97-122,表达式’a’的值是97,与整型变量a的取值无关。


http://www.kler.cn/news/302261.html

相关文章:

  • ZYNQ 7020 学习记录-2呼吸灯(模块化)
  • 【短距离通信】【WiFi】精讲WiFi P2P discovery阶段
  • Python世界:基于PESQ的自动化语音打分脚本实践
  • 【安当产品应用案例100集】016-如何实现人大金仓数据库的透明加密及访问控制
  • 从搜索热度上看Arcgis的衰退
  • 初识php库管理工具composer的体验【爽】使用phpword模板功能替换里面的字符串文本
  • 鸿蒙开发5.0【帧率】解析
  • 排序链表(归并排序)
  • 2024年AI智能电销机器人为什么那么火爆
  • 阿里巴巴1688中国站商品搜索API返回值深度解析与实战应用
  • 四川财谷通赋能抖音小店前景璀璨
  • 【828华为云征文|手把手教你如何用华为云Flexus X实例部署之前爆火的“人生重启“游戏】
  • SpringBoot基础 -- 高级特性
  • 浅谈C#之线程创建和管理
  • 基于深度学习的多模态信息检索
  • MapBox Android版开发 4 国际化功能v11
  • 什么不建议通过 `Executors` 构建线程池?
  • 抓包工具检测手把手教学 - 某招聘网站
  • 7-6 列出连通集
  • pyqt自定义文本编辑器
  • TCP通信实现
  • 2024 天池云原生编程挑战赛决赛名单公布,9 月 20 日开启终极答辩
  • 【从0开始在CentOS 9中安装redis】
  • Windows编译Hikari-LLVM15[llvm-18.1.8rel]并集成到Android Studio NDK
  • openVX加速-常见问题:适用场景、AI加速、安装方式等
  • 模板(C++)
  • Java中的List与Set转换
  • jantic/DeOldify部署(图片上色)附带Dockerfile和镜像
  • Linux下的系统接口(实时更新)
  • 人工智能安全治理框架导图