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

news2024/9/21 3:28:38

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.coloradmin.cn/o/2130648.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java 每日一刊(第5期):变量守护者

前言 这里是分享 Java 相关内容的专刊&#xff0c;每日一更。 本期将为大家带来以下内容&#xff1a; 量子数据宇宙的变量守护者第一章&#xff1a;能源错配与基本数据类型第二章&#xff1a;引用类型与通讯网络的崩溃第三章&#xff1a;作用域冲突与系统崩溃终章&#xff1…

C++的流提取(>>)(输入) 流插入(<<)(输出)

个人主页&#xff1a;Jason_from_China-CSDN博客 所属栏目&#xff1a;C系统性学习_Jason_from_China的博客-CSDN博客 什么是输入和输出流 流提取&#xff08;<<&#xff09;(输入) 理解&#xff1a;我们可以理解为&#xff0c;输入到io流里面&#xff0c;比如是cin&…

数据结构基础详解(C语言): 栈的括号匹配(实战)与栈的表达式求值特殊矩阵的压缩存储

文章目录 栈的应用1.栈的括号匹配代码实战:问题分析:2.栈的表达式求值2.1 中缀、后缀、前缀表达式2.2 中缀表达式改写为后缀表达式(手算)2.3 后缀表达式的计算(手算)2.4 中缀表达式转前缀表达式&#xff08;手算)和计算前缀表达式2.5后缀表达式的计算(机算)2.6 中缀表达式转后缀…

win10+eclipse+ESP8266_RTOS_SDK开发环境构建

官网教程 https://docs.espressif.com/projects/esp8266-rtos-sdk/en/latest/get-started/eclipse-setup.html 1. 导入工程 Build and Flash with Eclipse IDE — ESP8266 RTOS SDK Programming Guide documentation (espressif.com) 导入整个SDK&#xff0c;便于查看所有代…

网络安全 day6 --- 抓包技术HTTPS协议小程序PC应用WEB转发联动

免责声明 本免责声明适用于作者所有文章内容。使用者需明确&#xff0c;网络安全技术仅供学习和合法研究使用&#xff0c;不得用于任何非法活动&#xff0c;如未经授权的入侵、攻击或数据窃取&#xff0c;所有相关法律责任由使用者自行承担。由于网络安全操作可能带来系统崩溃、…

智慧工地数据集-可移动生产要素检测与分割

智慧工地数据集&#xff0c;可移动生产要素检测与分割数据集篇&#xff0c;超高清数据&#xff0c;拍摄于武汉火神山&#xff0c;雷神山医院。包含13种工地中主要移动目标&#xff0c;Bulldozer - 推土机 Concrete mixer - 混凝土搅拌机 Crane - 起重机 Excavator - 挖掘机 Han…

jsp+servlet+mysql机票订票管理系统

jspsevletmysql机票订票管理系统 一、系统介绍二、功能展示1.机票查询2.选择航班3.填写乘客信息4.提交定单 四、其它1.其他系统实现 一、系统介绍 系统主要功能&#xff1a; 机票查询 1.航行类型 2.出发城市 3.到达城市 4.出发日期 5.返回日期 选择航班 1.航班信息 2.起飞时间…

瑞芯微rv1126 Linux 系统,修改系统时区,包有效方法

在 Linux 系统中,修改时区的步骤通常包括创建符号链接到正确的时区文件,并确保相关的配置文件已正确更新。然而,某些系统可能有额外的步骤或需要修改其他配置文件来使更改生效。以下是一些步骤。 1. 创建符号链接 ln -sf /usr/share/zoneinfo/Asia/Hong_Kong /etc/localti…

GitLab邮箱发送邮件:如何实现自动化发信?

gitlab邮箱发送邮件设置教程&#xff1f;Gitlab邮箱配置和使用&#xff1f; GitLab不仅提供了代码版本控制、持续集成/持续部署等功能&#xff0c;还支持通过其内置的邮件功能实现自动化邮件发送。AokSend将深入探讨如何在GitLab中配置和使用邮箱发送邮件功能。 GitLab邮箱发…

如何在 Selenium 中获取网络调用请求?

引言 捕获网络请求对于理解网站的工作方式以及传输的数据至关重要。Selenium 作为一种 Web 自动化工具,可以用于捕获网络请求。本文将讨论如何使用 Selenium 在 Java 中捕获网络请求并从网站检索数据。 我们可以使用浏览器开发者工具轻松捕获网络请求或日志。大多数现代 Web…

react18基础教程系列--安装环境及packagejson文件分析

一个React项目中&#xff0c;默认会安装: react:React框架的核心react-dom:React 视图渲染的核心「基于React构建WebApp(HTML页面)J—>react-native:构建和渲染App的react-scripts: 脚手架为了让项目目录看起来干净一些&#xff0c;把webpack打包的规则及相关的插件/LOADER…

一、链表-算法总结

文章目录 一、链表1.1 提纲1.2 链表删除1.2.1 删除排序链表中的重复元素&#xff08;仅保留一个重复元素&#xff09;1.2.2 删除排序链表中的重复元素 II &#xff08;删除所有重复的元素&#xff09; 1.3 链表反转1.3.1 反转链表1.3.2 反转链表 1.4 合并链表1.4.1 合并两个有序…

图新地球-将地图上大量的地标点批量输出坐标到csv文件【kml转excel】

0.序 有很多用户需要在卫星影像、或者无人机航测影像、倾斜模型上去标记一些地物的位置&#xff08;如电线杆塔、重点单位、下水盖等&#xff09; 标记的位置最终又需要提交坐标文本文件给上级单位或者其他部门使用&#xff0c;甚至需要转为平面直角坐标。 本文的重点是通过of…

第 1 0 章OpenCV

本章概述如何通过 Python 接口使用流行的计算机视觉库 OpenCV。OpenCV 是一个C 库&#xff0c;用于&#xff08;实时&#xff09;处理计算视觉问题。实时处理计算机视觉的 C 库&#xff0c;最初由英特尔公司开发&#xff0c;现由 Willow Garage 维护。OpenCV 是在 BSD 许可下发…

基于深度学习的医学图像分类与诊断系统(开题报告免费领)

深度学习开始大放异彩的工作&#xff0c;莫过于在ImageNet数据集上&#xff0c;对输入图片的分类了。只要输入图片&#xff0c;就能判断图片中主体所属的类别。然而&#xff0c;和分类问题输入图像输出主体的类别不一样&#xff0c;分割问题需要对每个像素点的类别进行识别。下…

Unity实现自己的协程系统(协程有顺序)

你的类可以在不继承Mono的脚本使用协程,但本质仍然需要借助其他Mono对象的Update来调度 实现了一个有执行顺序的协程的调度器&#xff0c;用于在 Unity 中管理多个协程的执行。通过 ICoroutineNodeOrder 和 ICoroutineWaitCondition 两个接口&#xff0c;可以定义每个协程的执行…

labview禁用8080端口

需求背景 最近电脑上安装了labview全家桶,发现idea的8080端口项目启动报错,一直提示8080端口被占用。最简单的办法就是找到8080端口的服务,然后关闭这个服务。但是我不想这么做,我想把labview的web服务器的端口给修改了。 操作教程 1、cmd查看8080端口 2、windows进程 同…

ICM20948 DMP代码详解(17)

接前一篇文章&#xff1a;ICM20948 DMP代码详解&#xff08;16&#xff09; 前一篇文章讲到了inv_icm20948_set_chip_power_state函数中尚需解析的3个函数中的第1个函数&#xff1a;inv_icm20948_write_single_mems_reg_core。并没有完全讲完&#xff0c;本回继续解析。为了便于…

搭建本地DVWA靶场教程 及 靶场使用示例

1. DVWA简介 DVWA&#xff08;Damn Vulnerable Web Application&#xff09;一个用来进行安全脆弱性鉴定的PHP/MySQL Web 应用平台&#xff0c;旨在为网络安全专业人员测试自己的专业技能和工具提供合法的环境&#xff0c;帮助web开发者更好的理解web应用安全防范的过程。 DVW…

利用MR设备实现弹吉他教学:实战案例详解

随着混合现实(Mixed Reality, MR)技术的发展,越来越多的应用开始探索如何将这种沉浸式的体验融入到教育与娱乐中。特别是在音乐教育领域,MR技术为乐器学习提供了全新的可能性。本文将通过分析一个基于Unity开发的吉他教学应用案例,探讨如何利用MR设备,如Oculus Quest或Ap…