数据与C(ASCII码,char)

news2024/12/23 7:04:24

 

目录

一.ASCII码讲解

二.非打印字符(转义字符)

三.扩展小知识

一.ASCII码讲解

char类型用于存储字符,从技术层面看,char时整数类型,因为char类型实际上存储的是整数而不是字符。计算机使用数字编码来处理字符,即用特定的整数表示特定的字符,美国常用的编码就是ASCII编码

列如,在ASCII码中,整数65代表大写字母A。因此,存储字母A实际上存储的是整数65(许多IBM的大型主机使用的另一种编码-EBCDIC,原理差不多)

标准的ASCII码的范围是0~127,只需要7位二进制数即可表示。而通常char类型被定义为8位的存储单元,所以容纳标准ASCII码绰绰有余

而.char类型变量和打印(%c占位符)

char response = 'A'

这里被单引号括起来的A我们一般称为字符变量,记住不能给 A或“A”,因为A是一个变量,“A”是一个字符串(”A“,里面其实包含两个字符,一个A和\0,字符串都是以\0结束)

这里可以很好的看出来我们先输入一个字符给到ch内存位置上,然后用%c和%d,分别打印变量,就会得到ch和ch的ASCII码65。从这里也可以看出来printf()函数中的转换说明决定了数据的显示方式,而不是数据的存储方式。

二.非打印字符(转义字符)

活跃位置:指的是显示设备(屏幕,电传打字机,打印机等)中下一个字符将要出现的位置,而想\b,\f,\n,\r,\t,\v则会移动活跃位置。

如果你在文本行输入一个a后,活跃位置就会跳到下一个即将输入的位置上。

单引号只适用于字符,数字和标点符号,但浏览ASCII表可以注意到,有些ASCII字符是打印不出来的,这里我们一般就要用到转移序列了

\a:警报铃声,运行响一下

\b:退格(活跃位置往前走,跑到a的位置上)

\f:换页(活跃位置跳到下一页,不过这个效果只能在打印机上才能出现效果)

\n:换行(活跃位置移动到下一行开始位置)

\r:回车(活跃位置跳到行的开头)

\t:水平制表符(活跃位置移到下一个水平制表点。一般位第1,9,17,25个字符的位置)

\v:垂直制表符(活跃位置移到下一个垂直制表点,不过这个效果只能在打印机上才能出现效果)

\\:放斜杠(\):为了和转义字符的反斜杠区分开

\':单引号:为了和单引号括起来的字符常量区分开

\":双引号:为了和双引号括起来的字符串区分开

\0oo:八进制数:为了在双引号之内使用数字表示ASCII表中的符号和效果。

\xhh:十六进制数:为了在双引号之内使用数字表示ASCII表中的符号和效果

下面我们来看一个例子

转义字符练习源代码:

#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>

int main()

{

float salary;


printf("\07Enter your desired monthly salary:\x7");        //\07和\0x7都相当于ASCII码为7的\a;

printf("$_______\b\b\b\b\b\b\b");

scanf("%f", &salary);

printf("\n\t$%.2f a month is $%.2f a year", salary, salary * 12);

printf("\rGee!\n");

return 0;

}

第一行

printf("\07Enter your desired monthly salary:\x7");

运行响一下

第二行

printf("$_______\b\b\b\b\b\b\b");

7个退格字符使光标左移7个位置,既把光标移至7个下划线字符的前面,紧跟着美元符号后面。但通常,退格符不会擦除退出所经过的字符,所以当我输入4800时,后面三个_字符还在。

第四行

printf("\n\t$%.2f a month is $%.2f a year", salary, salary * 12);

这里主要就是\t水平制表符跳到下一个制表点,我这里是第九个字符位置(第九列)

第五行

printf("\rGee!\n");

\r把光标移动到当前行的开头。

三.扩展小知识

C语言将字符常量其实视为int类型而非char类型(这个其他我在整数存储章节也有提过)。所以当我们把字符存储在32位存储单元时,它只用了8位存储单元,且最后取用的时候,也只用最后八个存储单元的数据。我们来看个例子,

这里大家稍微了解下就好了


好了朋友们我们今天的内容到这就结束了,今天的内容到这里就结束了,如果有啥不会的朋友记得论坛里面提问哈~

如果朋友你感觉文章的内容对你有帮助,可以点赞关注文章和专栏以及关注我哈,嘿嘿嘿我会定期更新文章的,谢谢朋友你的支持哈

 

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

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

相关文章

javaEE 初阶 — 超时重传机制

文章目录超时重传机制1. 数据重复传输问题2. 如何解决数据重复传输问题3. 重传次数问题TCP 的工作机制&#xff1a;确认应答机制 超时重传机制 如果传输数据的时候丢包了该怎么办&#xff1f; 利用 超时重传&#xff0c;也就是超过了一定的时间&#xff0c;如果还没响应就重新…

回顾 | 开学季(一)- 在 Windows / macOS 上配置你的开发环境

点击蓝字关注我们编辑&#xff1a;Alan Wang排版&#xff1a;Rani Sun微软 Reactor 为帮助广开发者&#xff0c;技术爱好者&#xff0c;更好的学习 .NET Core, C#, Python&#xff0c;数据科学&#xff0c;机器学习&#xff0c;AI&#xff0c;区块链, IoT 等技术&#xff0c;将…

社交登陆OAuth2.0

QQ、微博、github 等网站的用户量非常大&#xff0c;别的网站为了 简化自我网站的登陆与注册逻辑&#xff0c;引入社交登陆功能&#xff1b; 步骤&#xff1a; 1&#xff09;、用户点击 QQ 按钮 2&#xff09;、引导跳转到 QQ 授权页 3&#xff09;、用户主动点击授权&#xff…

Linux 服务器(centos7)搭建 Web 版 VSCode

首先到code-server的git地址找到下载链接 打开https://github.com/cdr/code-server/releases&#xff0c;选择一个版本下载&#xff0c;我选择的是code-server-4.9.1-linux-amd64.tar.gz&#xff0c;这是 64 位 Linux 的通用版。 下载压缩包到服务器并解压 cd /home mkdir v…

Python-第四天 Python循环语句

Python-第四天 Python循环语句一、while循环1.while循环的基础语法2.while循环的基础案例3.while循环的嵌套应用4.while循环的嵌套案例二、for循环1.for循环的基础语法1.1基础语法1.2 range语句2.for循环的嵌套应用三、循环中断 : break和continue1.continue2.break四、 综合案…

nginx相关反爬策略总结笔记

引言 互联网站点的流量一部分由人类正常访问行为产生&#xff0c;而高达30%-60%的流量则是由网络爬虫产生的&#xff0c;其中一部分包含友好网络爬虫&#xff0c;如搜索引擎的爬虫、广告程序、第三方合作伙伴程序、Robots协议友好程序等;而并非所有的网络爬虫都是友好的&#x…

【C#项目】图书馆管理系统-WinForm+MySQL

文章目录前言一、业务梳理与需求分析1.功能描述2.实现步骤3.功能逻辑图二、数据库设计1.实体-关系&#xff08;E-R图&#xff09;概念模型设计2.数据表设计三、WinForm界面交互设计1、界面交互逻辑2、项目树3、主界面登录界面4、 图书查询界面5、图书借阅界面6、图书插入界面7、…

pixhawk2.4.8-地面站配置-APM固件

目录一、硬件准备二、APM固件、MP地面站下载三、地面站配置1 刷固件2 机架选择3 加速度计校准4 指南针校准5 遥控器校准6 飞行模式7 紧急断电&无头模式8 基础参数设置9 电流计校准10 电调校准11 起飞前检查&#xff08;每一项都非常重要&#xff09;12 飞行经验四、遇到的问…

10.数据库恢复技术

其他章节here 梳理 名词解释 事务&#xff1a;事务是用户定义的 一个数据操作序列&#xff0c;这些操作要么全做&#xff0c;要么全不做&#xff0c;是一个不可分割的工作单位 事务≠程序 事务是恢复和并发控制的基本单位 &#xff08;事务时数据库应用程序的基本逻辑单元&am…

制造业升级转型:制造业上市公司-智能制造词频统计数据集

发展智能制造&#xff0c;关乎中国制造业转型升级的成效。基于中国制造业上市公司年报&#xff0c;通过文本数据挖掘&#xff0c;提取关键词反映企业对智能制造的关切焦点&#xff0c;进而运用词频及共词网络分析&#xff0c;洞察中国智能制造的发展态势。 研究发现&#xff0…

OpenAI最重要的模型【CLIP】

最近的 AI 突破 DALLE和 Stable Diffusion有什么共同点&#xff1f; 它们都使用 CLIP 架构的组件。 因此&#xff0c;如果你想掌握这些模型是如何工作的&#xff0c;了解 CLIP 是先决条件。 此外&#xff0c;CLIP 已被用于在 Unsplash 上索引照片。 但是 CLIP 做了什么&…

若依框架---为什么把添加和更新分成两个接口

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是小童&#xff0c;Java开发工程师&#xff0c;CSDN博客博主&#xff0c;Java领域新星创作者 &#x1f4d5;系列专栏&#xff1a;前端、Java、Java中间件大全、微信小程序、微信支付、若依框架、Spring全家桶 &#x1f4…

SpringCloud-Netflix学习笔记11——Hystrix实现服务降级

服务降级 是什么&#xff1f; 整体资源快不够了&#xff0c;忍痛将某些服务先关掉&#xff0c;待渡过难关&#xff0c;再开启回来。 如下图&#xff0c;在某一个时间段&#xff0c;访问服务A的请求特别多&#xff0c;而访问服务B和服务C的请求特别少&#xff0c;这时我们可以把…

实战打靶集锦-004-My-Cmsms

**写在前面&#xff1a;**记录一次艰难曲折的打靶经历。 目录1. 主机发现2. 端口扫描3. 服务枚举4. 服务探查4.1 WEB服务探查4.1.1 浏览器访问4.1.2 目录枚举4.1.3 控制台探查4.1.4 其他目录探查4.2 阶段小结5. 公共EXP搜索5.1 CMS搜索5.2 Apache搜索5.3 PHP搜索5.4 MySQL搜索5…

DaVinci:色度 - 亮度网格

调色页面&#xff1a;色彩扭曲器 Color&#xff1a;Color Warper相对于色相 - 饱和度网格&#xff0c;色度 - 亮度 Chroma - Luma网格在颜色的亮度控制上更加灵活。◆ ◆ ◆工作原理分析色度 - 亮度网格来自色彩空间三维模型中圆柱体垂直切分的两个 90 交叉的纵向平面。网格上…

介绍架构分类、设计及架构师工作

title: 介绍架构分类、设计及架构师工作 date: 2019-06-07 13:49:00 tags: 架构分类架构设计功能设计架构师 categories:架构 介绍 本文从理论上分析、梳理架构相关知识&#xff0c;帮助自己更好的理解架构工作。 什么是架构和架构分类 什么是架构 关于架构的定义业界有太多…

致敬白衣天使,学习Python读取

名字&#xff1a;阿玥的小东东 学习&#xff1a;Python、c 主页&#xff1a;阿玥的小东东 故事设定&#xff1a;现在学校要求对所有同学进行核酸采集&#xff0c;每位同学先在宿舍内等候防护人员&#xff08;以下简称“大白”&#xff09;叫号&#xff0c;叫到自己时去停车场排…

JDK 8 JVM内存结构详解

前言 本文所介绍的是 JDK 1.8 版本&#xff0c;其他版本的 JDK 在这里并不一定正确&#xff1b;内容主要摘自周志明的《深入理解Java虚拟机》一书的关键点&#xff0c;并根据自身的理解进行记录。感兴趣的同学可以去阅读原著。 JVM 的内存结构&#xff0c;主要包括以下 5 个区…

Jupyter 插件配置和主题设置

Jupyter 插件配置和主题设置 前提需要暗转Anaconda 或者系统已有Jupyter。 即使想在conda 虚拟环境中使用Jupyter 也不用在虚拟环境中重新安装和配置Jupyter相关包。 在base环境中&#xff0c;下载插件管理包&#xff1a; pip install jupyter_contrib_nbextensions -i htt…

开源项目 —— 原生JS实现斗地主游戏 ——代码极少、功能都有、直接粘贴即用

目录 效果如下 目录结构 GameEntity.js GrawGame.js konva.min.js PlayGame.js veriable.js index.html 结语&#xff1a; 前期回顾 卡通形象人物2 写代码-睡觉 丝滑如德芙_0.活在风浪里的博客-CSDN博客本文实现了包含形象的卡通小人吃、睡、电脑工作的网页动画https://…