C语言入门第七篇,强制类型转换和ASCll编码

这篇我们再说说数据类型,我们看看下面这个例子:

#include<stdio.h>
int main()
{
    int a;
    a=9/2;
    printf("%d\n",a);
    return 0;
}

这里声明的变量为整型变量,所以输出a的值为4,没有小数位。有些人说用变量a用float呢?

#include<stdio.h>
int main()
{
    float a;
    a=9/2;
    printf("%f\n",a);
    return 0;
}

这样输出小数点后面依然没有数值。那怎么办呢?这就是这一篇要讲的强制类型转换。我们在C语言中经常遇到上面的情况,我们想得到更加精确的结果。上面的情况我们只需要把其中一个数字改为小数形式,让编译器知道他是小数就可以了。

#include<stdio.h>
int main()
{
    float a;
    a=9.0/2;
    printf("%f\n",a);
}

这只是常量的方式,那么如果是变量呢?

#include<stdio.h>
int main()
{
    int a,b;
    float c;
    a=9;
    b=2;
    c=(float)a/b;
    printf("%f\n",c);
    return 0;
}

所以(float)a中的(float)就是强制类型转换,它将a由一个整型变化成了单精度浮点数。注意强制类型转换可能会损失精度。所有的数值类型都可以互相转换。

下面我们来讲讲字符类型,前面我们说了字符类型占一个字节,一个字节8位。我们说过计算机底层只能存储二进制,那么字符怎么表示呢?聪明的人类发明了ASCll编码,标准ASCll表由7位(最高位通常保留为0,传输时作为奇偶校验位)二进制将128个符号和字符编码而成。如下表:
ASCll码表

如果觉得上面的表看的比较晕的话,我们来看看下面的代码:

#include<stdio.h>
int main()
{
    char b='a';
    printf("%d\n",b);
    return 0;
}

运行上面的代码,我们就知道屏幕上显示的是97,二进制为‭01100001‬,而上面的表中97正好对应着小写的a。这个表其实不用记住,大家知道字符在计算机里面是怎么存储的就好了。

总结

这篇主要是说明强制类型转换和ASCll编码,需要自己下来多敲敲代码,熟悉强制类型转换,也必须清楚了解ASCll编码。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值