【C语言】Ascall码表全解

Part1:Ascall码速查

首先,我们来放一张Ascall码的全部内容

那么Ascall码是什么呢?其实计算机在储存char的时候,在内存中保存的是ascall码的形式,char占有的是1个byte=8bit,所以是能够存下0-255的信息。(这里说的是unsigned char)这就是为什么习惯把char分入整形家族。

char        //字符数据类型    占1个字节
short       //短整型          占2个字节
int         //整形            占4个字节
long        //长整型          占4个字节
long long   //更长的整形      占8个字节
float       //单精度浮点数    占4个字节
double      //双精度浮点数    占8个字节

 Part2:char的输入和输出

2.1:char的正常输入

对于char字符来说,使用scanf和printf函数来做输入输出的时候是%c的方式

char a;
scanf("%c", &a);
printf("%c", a);

2.2:char与其他类型输入输出

那么如果我输入是%d模式呢?我们来看看%c与%d的转化

char a;
scanf("%d", &a);
printf("%c", a);

我们来看看输出结果

输入了F,在ascall码里面是70号,那么此时a的值是没有读进去的,这也侧面告诉我们形式与我们的输入的重要性,这里的bugs不易发现(你看看人家python)

我们理一遍计算机做了什么

计算机先在定义a的地方给a开好空间,

scanf实际上是将读入的信息覆盖在原来开好的空间上,

然后输出的时候按照printf输出。

2.3:char与其他类型输出

char a;
scanf("%c", &a);
printf("%d", a);

 如果输出的是%d格式,那么输出的是a的ascall码

Part3:总结一下

1.char在电脑里储存里是以整形存储的,一一对应的关系是基于Ascall码。

2.在scanf里面当输入格式不对的时候是无法读入的。

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值