本文讲解常见的C语言变量,并举出一些实例
从微软的C语言文档把所有的C语言可定义(就是能用的)截图展示:
还有好几页,不放了,看着都头疼
但是,往往用的最多的,也就是下面的(本篇只讲整数和浮点数)
int 整数
整数的定义不用说了吧QAQ
int a = 10; //定义一个整型变量a,并将其赋值为10
int a = 10, b = 20;
int c = a + b; //求和,结果为30
int d = a - b; //相减,结果为-10
int e = a * b; //相乘,结果为200
int f = b / a; //相除,结果为2
小tips
c语言整数可以表示多大的范围?总不能很多吧
int:整型,占用4个字节(32位),可表示-2147483648到2147483647的整数。
我们暂时不需要理解32位是什么,反正你记住当你定义的变量值范围不在±21亿,往往int就不能用了
long 长整数
其实long就是为了解决int表达范围的问题
long a = 123456789L, b = 987654321L;
long c = a + b; //求和,结果为1111111110
long d = b - a; //相减,结果为864197532
long e = a * b; //相乘,结果为121932631137655569
long f = b / a; //相除,结果为8
小tips
long:长整型,占用4个或8个字节(32位或64位,根据系统而定),可表示比int更大的整数。
如果电脑的操作系统是32位,那么long也无法解决int表示范围的问题,理解起来很简单,任何编程语言都不能脱离计算机存在!
浮点数
浮点数有两种float,double
float a = 1.23f, b = 4.56f;
float c = a + b; //求和,结果为5.79
float d = b - a; //相减,结果为3.33
float e = a * b; //相乘,结果为5.6088
float f = b / a; //相除,结果为3.7073171
#include <math.h>
#include <stdio.h>
int main(){
double a = 2.0, b = 3.0;
double c = sqrt(a * a + b * b); //计算斜边长度,结果为3.60555127
double d = sin(a) + cos(b); //计算正弦函数值和余弦函数值之和
printf("%.2f\n", d); //输出-0.94```
return 0;
}
那么这两种的差异在哪里
- float:单精度浮点型,占用4个字节,可表示7位有效数字,范围约为±3.4e-38到±3.4e+38。
- double:双精度浮点型,占用8个字节,可表示15位有效数字,范围约为±1.7e-308到±1.7e+308。
当然,这是课本上的东西,简单来说就是double范围更大,float相对较小,是不是和int,long有一些类似,至于为什么可表示7位有效数字和15位有效数字,暂时没必要纠结,计算机组成原理会讲到为什么,但是还是那句话,我先会用就行了。
小tips
实际上,我们在编程中并不需要纠结我是定义float,还是double,既然double表示的范围大,那么我都定义double肯定不会有错,有人可能会说,会不会放浪费空间,答案是 会!。但是这点空间好像不能把你电脑怎么样吧,蚊子叮你一口不也是没什么感觉嘛。