C语言编程之《究竟有多少种小房子》

在之前的几节种,我们已经知道计算机如果想“记住”某个值,就必须在计算机的大脑“摩天大厦”中,申请一个小房子例如:

int a,b,c;

就是申请三个小房子分别叫做a,b和c。这三个小房子只能够用进来存放整数(整型数据)。

再例如:

float a,b,c;

就是申请三个小房子a,b和c。这三个小房子只能够用来存放小数(浮点型数据)。

也就是说在计算机中,不同的类型数据需要相应类型的小房子来存储。

那么计算机一共有多少种类型的房子呢?我们来例句几个最常用的:

好了,目前为止

首先说明一下float和double的区别。

请观察下面两段代码

代码1:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    float a;
    a=3.141592653897932;
    printf("%.15f",a);
    return 0;
}

代码2:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    double a;
    a=3.141592653897932;
    printf("%.15lf",a);
    return 0;
}

我们观察一下代码1和代码2的不同之处有两点。代码1中是用float来申请小房子a,在输出是相对于的占位符是%f,其中“%”和“f”之间的“.15”表示的是保留小数点后15位(四舍五入)。代码2中是用double来申请小房子a,在输出是相对应的是占位符%lf,注意吃醋不是数字“1”而是字母“l”,同样“%”和“lf”之间的“.15”表示的是保留小数点后15位(四舍五入)。

他们 的运行结果分别是如下:

代码1运行结果:

代码2运行结果:

怎么样,你发现问题了吧,代码1运行后输出的是3.141592741012573,显然小数点后第7位开始就不对了,二代码2运行后输出的是3.141592653589793,完全正确。因此我们可以发现double比float可以表示的更精确。另外float和double表示的素的大小范围也不同。

在表中,我们发现有一个新的数据类型“char”,用char申请出来的小房子是用来存放支付的。如下:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char a;
    scanf("%c",&a);
    printf("你刚才输入的字符是%c",a);
    return 0;
}

我们输入一个字符“x”后点击回车,结果如下图,当然你也可以尝试一下别的字符。

想一想,对于上面这段代码,如果此时你输入的不是一个字母,而是一串字母计算机会输出什么呢?很抱歉,计算机只会输出你输入的第一个字母。

有的童鞋可能要问拉,如果想存储一大串字符改怎么办呢?不要着急,我们将在后续的章节中介绍如何存储一个字符串。

第一节:C语言编程之《让计算机开口说话》

第二节:C语言编程之《输出带有颜色》

第三节:C语言编程之《用计算机做加法》

第四节:C语言编程之《变量—用来存储数据的小房子》

第五节:C语言编程之《数据输出》

第六节:C语言编程之《从键盘输入数据》

猜你喜欢

转载自blog.csdn.net/i2033448087/article/details/81785015