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

int a,b,c;

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

再例如:

float a,b,c;

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

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

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

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

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

好了,目前为止

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

C语言编程之《究竟有多少种小房子》_程序人生_03C语言编程之《究竟有多少种小房子》_程序人生_04

请观察下面两段代码

代码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运行结果:

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

代码2运行结果:

C语言编程之《究竟有多少种小房子》_程序人生_06

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

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

C语言编程之《究竟有多少种小房子》_软件开发_07

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

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

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

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

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

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

在学习中有不懂迷茫的童鞋们可以加我一起交流学习,无论你是大牛还是小白,是想行还是想入行都可以来了解一起进步一起学习!