(二十九)字母的ASCII码

简介:

ASCII码(ASCII code)就是用来储存字母和符号的字符编码,他区分大小写。例如A的ASCII码是65,B是66,而小写的a是97,b是98。

在我们声明变量类型后,例如int 或者 char,我们的编译器就会记住他,然后通过cin和cout进行转换、储存、显示。

例如,我们输入int a=97; cout <<a; 则显示出来的是97

如果我们输入

	char a;
	cin >> a; //注:假如这时我们在运行程序的时候输入字母a
	cout << a;

则显示出来的是a。

如果我们输入:


	char a;
	cin >> a;	//假如这时在运行程序的时候输入字母a。
	int b = a;	//变量b被声明为整数,而非字母。由于a在储存时被储存为97,因此b被赋值为储存值97。
	cout << a << endl;	//显示字母a(因为声明的整型char)
	cout << b << endl;	//显示整数b(因为声明的整型为int)

这个时候,显示的结果为a 和 97。

 

上代码:

#include <iostream>
using namespace std;

int main()
{
	char a;	//声明变量a为char,即可以为字母和整数
	cout << "Please type a word like a: ";	//告诉你,输入一个字母,比如字母a。
	cin >> a;	//将你输入的储存为变量a。如果你输入的大于一个,则只储存第一个
	int i = a;	//声明变量b为int,即只能为整数
	cout << "You have type the " << a << " .Is that right?" << endl;	//告诉你,你输入的是变量a(如果你输入的是字母,则显示字母,输入数字则显示数字)
	cout << "The ASCII code for " << a << " is " << i << endl;	//告诉你,你输入的字母(或数字)的ASCII码为多少,比如a就是97
	cout << endl;	//空一行
	cout << "Now I will give you another word and this word is the next word of the word you typed:" << ++a << endl;	//显示你输入字母的下一个字母,++a是a+1,准确的说,是你输入字母/数字的ASCII码加一后所代表的字母/数字
	i = a;	//整数变量i再次等于变量a,需要注意的是,这个变量a是之前变量a+1后的a。以下同
	cout << "And the ASCII code for " << a << " is " << i << endl;	//显示整型char变量a和其的ASCII code
	system("pause");
	return 0;

}

这个的关键就在于,使用char的时候,他是以ASCII码的形式储存的,而非是以int的整数形式储存的。例如,ASCII码的1,其值是49,而不是1。而这个时候,变量+1也是其ASCII码值+1。因此

	char a = 'a';
	a=a + 1;
	cout << a << endl;

所显示的是b。

再另外,需要注意的是,如果要直接赋值给char a,而且要赋值的是一个字母,则需要用单引号将其包括起来,如char a = 'a';  。如果要赋值的是一个字符串,则用双引号,也要给变量加中括号。上代码:


#include <iostream>
using namespace std;

int main()
{
	char a[10];	//将变量a变为一个字符串,后面的[10]是字符串的长度。如果输入的超过这个长度,虽然能显示出来,但是会出错,总之还是不要了。
	char b[10] = "aaaa";	//假如b后面不加[10],且括号里面的数字10大于等于后面赋值的双引号里面的长度,就会出错。
	cin >> a;
	cout << a << endl;
	cout << b << endl;
	system("pause");
	return 0;
}



目录
相关文章
|
6月前
|
Linux 数据安全/隐私保护 iOS开发
2026年OpenClaw(Clawdbot)搭建喂饭级教程:阿里云+本地部署(Windows/macOS/Linux通用)
2026年,OpenClaw(原Clawdbot、Moltbot)完成重大版本升级,在跨平台适配性、部署便捷性和功能扩展性上实现全面优化,成为个人与轻量团队搭建专属AI助手的首选工具。其核心价值在于“用自然语言指令实现任务自动化”,无需手动编写脚本,即可完成文档处理、日程管理、文件读写、跨工具协同、代码生成等各类重复性工作,被用户称为“私人AI员工”。
2990 3
|
3月前
|
人工智能 数据库 知识图谱
RAG检索增强生成
本节详解RAG(检索增强生成)技术:通过“先检索、再生成”解决大模型知识过时、缺乏私有知识和幻觉三大痛点;涵盖完整架构、分块策略、Naive/Advanced/Graph RAG演进、评估方法及实战代码,助你构建可靠私有知识问答系统。
586 1
|
4月前
|
机器学习/深度学习 人工智能 弹性计算
阿里云学生专属算力包|AI 时代大学生上云、练手、做毕设一站式方案
阿里云推出学生专属算力包,19元起享云端ECS算力,支持编程学习、毕设部署、AI模型训练等全场景需求。按小时灵活抵扣、自然语言一键建站、0门槛上手,已联动清华、浙大等高校提供课程与竞赛支持。(239字)
|
JavaScript API
uniapp录音功能
uniapp录音功能
409 0
|
11月前
|
jenkins Java Shell
Java、Python、C++支持jenkins和SonarQube(全集)
Jenkins 是一个开源的持续集成(CI)和持续交付(CD)工具,用于自动化构建、测试和部署软件项目。它基于 Java 开发,支持跨平台运行,并拥有丰富的插件生态系统,可以灵活地扩展功能
891 1
|
算法 Python 容器
Python常见操作的时间复杂度
本文整理了Python中常见数据结构操作的时间复杂度,旨在帮助大家了解Python操作的性能,协助运行更快的代码。
975 0
Python常见操作的时间复杂度
|
负载均衡 网络协议 算法
OSPF与其他IGP协议的比较:全面解析与应用场景
OSPF与其他IGP协议的比较:全面解析与应用场景
660 0
|
NoSQL JavaScript 前端开发
SpringBoot+Vue实现校园二手系统。前后端分离技术【完整功能介绍+实现详情+源码】
文章介绍了如何使用SpringBoot和Vue实现一个校园二手系统,采用前后端分离技术。系统具备完整的功能,包括客户端和管理员端的界面设计、个人信息管理、商品浏览和交易、订单处理、公告发布等。技术栈包括Vue框架、ElementUI、SpringBoot、Mybatis-plus和Redis。文章还提供了部分源代码,展示了前后端的请求接口和Redis验证码功能实现,以及系统重构和模块化设计的一些思考。
SpringBoot+Vue实现校园二手系统。前后端分离技术【完整功能介绍+实现详情+源码】
|
存储 分布式计算 搜索推荐
ES自定义评分机制:function_score查询详解
ES自定义评分机制:function_score查询详解
2382 0
ES自定义评分机制:function_score查询详解
|
SQL 安全 Java
探索软件测试的多维策略:从单元到集成,再到性能与安全
在软件开发过程中,测试是确保产品质量和用户满意度的关键步骤。本文将深入探讨软件测试的多维策略,包括单元测试、集成测试、性能测试和安全测试。我们将分析每种测试方法的优势和局限性,并讨论如何将这些策略整合到一个全面的测试计划中,以提高软件的可靠性和安全性。文章还将提供实用的例子和最佳实践,帮助读者更好地理解和应用这些测试技术。