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的取值无关。

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值