全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之字符类型

要进行计算机程序设计,不仅仅进行科学数值类型计算,还需要处理一些文本信息,这就需要字符类型。在C++中字符可以表示字母、符号等,在编程的时候,通常使用一对单引号括起来,例如:'A','a','B','b','0'等。字符在计算机内存中占1个字节。

(一)、字符变量:

定义字符变量的格式如下:

char  变量1,变量2,……,变量n;

例如char ch='A';程序运行起来之后,向计算机申请1个字节的存储空间,用于存储字符变量ch的值,但在内存存储的不是'A',存储空间中存储的是字符'A'对应的ASCII码值(65)。

(二)、ASCII码:

ASCII (American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。

它是最通用的信息交换标准,并等同于国际标准ISO/IEC 646。ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符。

标准ASCII码也叫基础ASCII码,使用7位二进制数(剩下的1位二进制数为0)来表示所有的大写和小写字母、数字0到9、标点符号,以及在美式英语中使用的特殊控制字符。

在编程中常用的ASCII码,'0'对应48,'1'对应49,后面数字字符的ASCII码值依次增加1,'A'对应65,'B'对应66,后面字母字符的ASCII码也是依次增加1,'a'对应97,同理从'b'开始ASCII码依次加1。

(三)、字符的输入输出

1、第一种方式:

字符输入函数getchar()

函数getchar()是接收从键盘输入的单个字符数据,其语法格式为:

字符变量=getchar();

通常把输入的字符赋给一个字符变量。其使用要点如下:

(1)getchar()只能接收一个字符;

(2)getchar()等待用户输入,直到按回车键才结束。

字符输出函数putchar()

putchar()函数的作用是输出单个字符,其语法格式为:

putchar(字符变量)

实战训练—字符输入输出

从键盘上输入一个字符,并将其输出。具体程序如下:


#include<bits/stdc++.h>
using namespace std;
int main() {char ch;//定义一个字符变量ch ch = getchar();//从键盘上读取字符并存储到ch中 putchar(ch);//输出字符ch return 0;
}

2、第二种方式:

可以使用cin和cout函数来实现字符的输入和输出。

注意:如果输入的字符是空格,回车,Tab,不可以使用cin函数来输入,因为cin函数遇到空格,回车,Tab结束。

实战训练—使用cin和cout函数来实现字符输入和输出,具体程序如下:


#include<bits/stdc++.h>
using namespace std;
int main() {char ch;//定义一个字符变量ch cin>>ch;//从键盘上读取字符并存储到ch中 cout<<ch;//输出字符ch return 0;
}

3、第三种方式:

可以使用scanf和printf函数来实现字符的输入和输出。

实战训练—使用scanf和printf函数来实现字符的输入和输出,具体程序如下:


#include<bits/stdc++.h>
using namespace std;
int main() {char ch;//定义一个字符变量ch scanf("%c",&ch);//从键盘上读取字符并存储到ch中 printf("%c",ch);//输出字符ch return 0;
}

除此之外需要注意:数字0和字符'0'不一样,字符'0'的ASCII码是48,所以字符'0'相当于数字48,例如('0'-48)这个表达式的结果为0,而(0-48)这个表达式的结果为-48。

实战训练—阅读以下程序,写出运行结果。


#include<bits/stdc++.h>
using namespace std;
int main() {char ch='a';//定义一个字符变量ch,并初始化为字符'a',内存中存储的值为97; printf("%d,%c\n",ch,ch);//以整数和字符形式输出ch,输出结果为97,a int i = ch+10;//字符和整数进行运算,先将char转换为对应的ASCII码值(97)并和整数(10)相加,将107赋值给整型变量i;printf("%d,%c\n",i,i);//输出i的整数值,并将i的值107作为ASCII值找到对应的字符('k')并输出,输出107,kreturn 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/64349.shtml

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

相关文章

Spring Boot 2.1.7 数据源自动加载过程详解

在 Spring Boot 中&#xff0c;数据源的自动配置是框架中一个关键功能&#xff0c;本文将以 Spring Boot 2.1.7 版本为例&#xff0c;详细讲解在单数据源情况下数据源是如何自动加载的。我们通过源码分析&#xff0c;追踪整个加载流程。 1. 自动配置类的发现 Spring Boot 使用…

Node.js第三方模块

1.npm 简介 npm:node package manager 是一个nodejs的包管理和开发工具。 2.npm作用 (提供第三方的安装模块) 1. 从npm服务器下载别人写的第三方js库包到本地使用。 2. 从npm服务器下载并安装第三方命令行程序到本地使用。 3. 将自己写的包或命令行程序上传到n…

剑指Offer 03比特位计数

只是记录 题目链接 题目链接 自己想出来的 第一种解法 思路简述 遍历[0,n]之间的数字&#xff0c;对于每一个数字按照二进制的方式展开&#xff0c;判断最低位置是否为1&#xff0c;若为1则1&#xff0c;反之不加&#xff0c;直到该数字等于0就停止。 public static int[] …

C# 23种设计模式(4)访问者模式(Visitor Pattern)

一、访问者模式介绍 访问者模式&#xff08;Visitor Pattern&#xff09;是一种行为设计模式&#xff0c;它允许你以一种新的方式来增加作用于一组对象的操作&#xff0c;而无需修改这些对象类的代码。访问者模式将数据操作与数据结构分离&#xff0c;适用于数据结构相对稳定但…

MySQL 锁机制详解

1 引言 在数据库系统中&#xff0c;锁是确保数据一致性和完整性的关键机制之一。MySQL提供了多种类型的锁来支持不同场景下的并发控制需求。本文将详细介绍MySQL中的主要锁类型&#xff0c;包括行级锁、表级锁、意向锁等&#xff0c;并探讨它们的工作原理及应用场景。 2 锁的基…

某j 全局控制输入框不能输入表情符

在FormItem.vue文件中的function handleRules()添加两处表情正则校验&#xff0c;代码如下 效果&#xff1a; function handleRules(): ValidationRule[] {const { rules: defRules [], component, rulesMessageJoinLabel, label, dynamicRules, required } props.schema;if…

java中File类

1、介绍 File类定义了一些与平台无关的方法来操作文件&#xff0c;可以通过调用File类中的方法&#xff0c;实现创建、删除、重命名文件等操作。File类的对象主要用来获取文件本身的一些信息&#xff0c;如文件所在的目录、文件长度、文件读写权限等。数据流可以将数据写入到文…

Linux高性能服务器编程 | 读书笔记 | 10. 高性能I/O框架库Libevent

10. 高性能I/O框架库Libevent Linux服务器程序必须处理三类事件&#xff08;I/O、信号和定时事件&#xff09;&#xff0c;在处理这三类事件时需要考虑以下问题&#xff1a; **统一事件源。**统一处理这三类事件既能使代码简单易懂&#xff0c;又能避免一些潜在的逻辑错误。实…

Javaweb web后端maven介绍作用安装

自动导入到这个项目 src是源代码 main主程序&#xff0c;核心代码 java是Java源代码 resources是项目配置文件 test测试相关的 maven概述 介绍 依赖在本地仓库查找&#xff0c;如果本地仓库有&#xff0c;用本地仓库的依赖&#xff0c;本地没有&#xff0c;连接中央仓库&…

云计算HCIP-OpenStack01

1.OpenStack是什么&#xff1f; 1.1OpenStack是虚拟机、裸金属、容器的云基础架构 虚拟机、裸金属、容器&#xff0c;三者的相同点在于他们都是计算资源的封装&#xff0c;其所需要的资源是高度重合的。同时&#xff0c;这三类资源都属于是最基础的计算资源&#xff0c;也是云或…

Ubuntu基础命令

1、重置密码及启用/禁用用户 sudo passwd root 在Ubuntu中禁用root用户&#xff0c;使用以下命令&#xff1a; sudo passwd -l root 在Ubuntu中禁用root帐户 sudo passwd root 在Ubuntu中启用root帐户 在Ubuntu中锁定账户 usermod -L username 在Ubuntu中解锁…

wazuh-modules-sca-scan

sca模块主函数wm_sca_main -> wm_sca_start 检查policy文件中的每一个项目wm_sca_check_policy static int wm_sca_check_policy(const cJSON * const policy, const cJSON * const checks, OSHash *global_check_list) {if(!policy) {return 1;}const cJSON * const id c…

python —— 常用命令行的命令

目 录 python命令行查看安装版本查看安装路径升级pip工具安装包升级包卸载安装包查看包的信息详情查询已安装的包查询可升级的包显示包所在目录及信息搜索包使用指定版本运行脚本运行常见错误 python命令行 产品研发中通常需要使用一些小工具来辅助调试功能&#xff0c;比如采…

基于单片机的智能窗帘(论文+源码)

1.系统设计 本课题智能窗帘系统的设计主要包括STM32单片机主控模块&#xff0c;光照检测模块&#xff0c;窗帘控制模块&#xff0c;键盘控制模块&#xff0c;显示模块和时钟模块等几个部分。总体设计框图如图2.1所示&#xff0c;其可以实现对当前光照强度的实时检测&#xff0…

21 go语言(golang) - gin框架安装及使用(二)

四、组成 前面的文章中&#xff0c;我们介绍了其中一部分组成&#xff0c;接下来继续学习&#xff1a; Router&#xff08;路由器&#xff09; Gin 使用基于树结构的路由机制来处理 HTTP 请求。它支持动态路由参数、分组路由以及中间件。路由器负责将请求路径映射到相应的处理…

Fastdfs V6.12.1集群部署(arm/x86均可用)

文章目录 一、 Fastdfs 介绍二、部署 信息三、步骤tracker/storage 机器的 compose 内容storage 机器的 composetracker 与 storage 启动目录层级与配置文件测试测试集群扩容与缩减注意事项 一、 Fastdfs 介绍 FastDFS 是一款高性能的分布式文件系统&#xff0c;特别适合用于存…

零基础开始学习鸿蒙开发-基础页面的设计

目录 1.样例图 2.逐项分析 2.1 头顶布局分析&#xff1a;首先我们要把第一行的图标绘制出来&#xff0c;一个左一个右&#xff0c;很明显&#xff0c;需要放在一个Row容器中&#xff0c;具体代码如下&#xff1a; 2.2 和头像同一行的布局&#xff0c;需要注意的是&#xff0c…

如何用细节提升用户体验?

前端给用户反馈是提升用户体验的重要部分&#xff0c;根据场景选择不同的方式可以有效地提升产品的易用性和用户满意度。以下是常见的方法&#xff1a; 1. 视觉反馈 用户执行了某些操作后&#xff0c;需要即时确认操作结果。例如&#xff1a;按钮点击、数据提交、页面加载等。…

[数据结构#2] 图(1) | 概念 | 邻接矩阵 | 邻接表 | 模拟

图是由顶点集合及顶点间的关系&#xff08;边&#xff09;组成的数据结构&#xff0c;可用 G ( V , E ) G(V,E) G(V,E)表示&#xff0c;其中&#xff1a; 顶点集合 V V V: V { x ∣ x ∈ 某数据对象集 } V\{x|x\in\text{某数据对象集}\} V{x∣x∈某数据对象集}&#xff0c;…

rpc设计的再次思考20251215(以xdb为核心构建游戏框架)

1.服务提供者注册的方式 // 表明这是一个服务提供者&#xff0c;ServerType 和 ServerId从application.properties中读取 // 而且只有当当前服务是Game时&#xff0c;才生效。 或者 条件注解??? RpcProvider(typeServerType.Game) public class GameProvider{MsgReceiver…