2.4.1 什么是数据类型
我们之前的案例中讲到了整数类型 int 定义整型变量,在程序中我们还会用到浮点类型(float)来表示具有小数点的实数,讲解数据类型之前我们先来看一个用到浮点型数据的例子 3-2:
一台拖拉机耕地一亩耗油 0.85kg,它的油箱的容积是 100 升(0.1m3),柴油的密度是 850kg/m3,该拖拉机装满油后最多耕地的亩数是多少?
我们在函数中首先要定义几个变量,定义油箱的容积的变量为浮点型类型 tank_volume,油的密度为浮点类型 oil_density,油箱装在油的总质量为浮点型 oil_kg,该拖拉机装满油最多耕地的亩数是浮点型 area 。下面我们建立一个程序 3-2.c 在 gedit 中输入以下代码:
#include<stdio.h>
int main()
{
float tank_volume; // 定义油箱的容积为浮点类型变量 tank_volume
float oil_density; // 定义油的密度为浮点类型变量 oil_density
float oil_kg;
float area;
tank_volume = 0.1; // 给变量 tank_volume 赋值
oil_density = 850; // 给变量 oil_density 赋值
oil_kg = tank_volume*oil_density; // 求 tank_volume 和 oil_density 的积并赋值给 oil_kg
area = oil_kg/0.85; // 求 oil_kg/0.85 的商并赋值给 area
printf("Most farming is %f mu",area);
return 0;
}
代码说明: 下面我们来解释这个程序。下面的语句定义了四个变量:
float tank_volume;
float oil_density;
float oil_kg;
float area;
下面这两条语句是给 tank_volume 和 oil_density 这两个变量赋值:
tank_volume = 0.1; // 给变量 tank_volume 赋值
oil_density = 850; // 给变量 oil_density 赋值
其实 tank_volume=0.1;
与 oil_density=850;
这两条语句可以和前面的 float tank_volume;
与 float oil_density;
这两条语句放在一起,定义变量的同时初始化赋值,即:
float tank_volume = 0.1;
float oil_density = 850;
接下来我们使用乘法运算符 *
将油箱的容积和油的密度相乘,计算出油箱可以存放油的总质量:
oil_kg = tank_volume*oil_density; // 求 tank_volume 和 oil_density 的积并赋值给 oil_kg
之后我们利用除法运算符 /
求出最多可耕地的亩数,并赋值给 area:
area = oil_kg / 0.85;
-
为什么在用计算机运算时,需要指定数据的类型呢? 在数学中,数值是不区分类型的,数值的运算是绝对准确的,例如:1/3 的值是 0.33333......(循环小数)。数学是研究抽象的学科,数和数的运算都是抽象的。而在计算机中,数据是存储在计算机中的一个个单元里面,它是具体存在的。而且,存储单元是由有限的字节构成的,每一个存储单元存储的数据是有限的,不可能存放无限大的数,也不能存放无限循环小数,例如计算和输出 1/3:
printf("%f",1.0/3.0);
得到的结果是 0.333333,只能得到六位小数,而不是无穷位的小数。
-
C 语言允许使用的数据类型见下图:
3-2.4.1-1
大家可以大致浏览该图,不需要现在背下来这些数据类型。接下来我们将要讲述基本类型里面的整型和浮点型。
(实验楼)
网友评论