什么是数据类型?
数据类型是编程语言中为了对数据进行描述的定义,因为对于机器不能识别数据,而不同数据间的相互运算,在机器内部的执行方式是不一样的.这就要用户先定义数据的特性再进行其它操作.这里的特性也就是数据类型.
我们先来写一段代码:
#include <stdio.h>
int main(){
// 题目要求:通过BMI计算公式“体重(kg)除以身高(m)”计算体质指数BMI
// 分别定义 身高,体重,结果 三个变量
int wg,kg,num;
// 输入身高和体重
printf("请输入您的身高(m):");
scanf("%d",&wg);
printf("请输入您的体重(kg):");
scanf("%d",&kg);
// BMI计算公式
num = wg / kg;
// 输出结果
printf("%d",num);
return 0;
}
从上面的代码我们可以看到,wg、kg、num这三个是我们定义的变量,并且定义的是int数据类型,就是整数型。第一步是定义变量,第二步是让用户输入身高和体重,第三步是进行BMI计算,第四步是计算完后输出结果给用户。
输出结果:
那我们知道,整数型的变量在输入输出的时候是不会有小数点的,那就是说,用户输入的小数点后面的值是被系统忽视掉了,比如1.75m,这里系统只会看到1,并不会看到后面75的小数点。所以这里
60kg * (1m * 1m) = 60
。
但是我们的题目要求是需要用户输入身高和体重,身高和体重都会存在小数点的,那我们应该如何去做呢?是不是应该给变量定义另外一个数据类型呢?
数据类型类别:
int : 整数型
short : 短整型
long : 长整型
float : 单精度浮点型
double : 双精度浮点型
char : 字符型
void : 无类型
看完这里的数据类型,我们是不是应该想到用什么数据类型正确的定义wg、kg、num这三个变量了呢?
让我们看看正确的代码:
#include <stdio.h>
int main() {
// 题目要求通过BMI计算公式“体重(kg) 除以 身高(m)的平方”计算体质指数BMI
// 分别定义身高,体重,结果
float wg, kg, num;
// 输入身高和体重
printf("请输入您的体重(kg):");
scanf("%f", &kg);
printf("请输入您的身高(m):");
scanf("%f", &wg);
// BMI计算公式
num = kg / (wg * wg);
// 输出结果
printf("%lf", num);
return 0;
}
输出结果:
是的,我们应该用精度浮点型去定义这三个变量。我们用float和double这两个数据类型都可以,那float和double的区别是什么呢?区别是
简单的说就是double的运算精度比float的运算精度要高,但是double会比float的运行速度要慢。
结语
在满足语句需求的情况下,尽量选择单精度浮点保证减少程序运行的时间,从而提高程序的效率。
声明:本文采用 BY-NC-SA 协议进行授权,如无注明均为原创,转载请注明转自小威's Blog
本文地址:C语言变量的数据类型
本文地址:C语言变量的数据类型