变量和数据类型

1.变量:

就是存放数据的容器,之所以称为变量,是因为放在这些存储单元中的数据是可以改变的。

2.整型:

在 C89 标准下,规定了 char、unsigned char、signed char、int、unsigned int、short、unsigned short、long、unsigned long 等数据类型。这些类型实际上都表示整数这一类,区别主要在于类型所占的内存空间不同以及所表示的整数的数据范围不同。根据数据可能变化的范围选择合适的数据类型,即如果数据值很小,而选择一个占用空间较大的数据类型肯定是不合理的。

3.char:

全称 character,字符的意思,即字符型。该类型非常特殊,它的本意是用来存字符数据的,字符数据按照 ASCII 码进行编码后,实际存储在内存中的是一个 8bit 的二进制码,即在内存中占一个字节的内存单元。这些编码转换成十进制后就是整数,所以字符型本质是标准的整型。比如字符’A’经过编码存储的数据实际上是 65。也代表一定范围的整数,和 char 可以互换。

4.ASCII 对照表

5.不同的数据类型所产生的变量占用的内存空间是不同的。字符空间的大小不需要刻意去记忆,在需要动态分配内存空间给变量时,只需使用运算符 sizeof 即可求出各种类型的变量所占的内存空间。

6.通过运算符 sizeof 来计算 char 和 int 空间的大小,然后通过%d的格式把这个大小给显示出来。

int main()
{
printf(" Type Size (in bytes) \n");
printf("-------------------------\n");
printf("char %d\n", sizeof(char) );
printf("int %d ", sizeof(int));//除占位符%d 外,字符原样输出
 
return 0;
}
7.浮点型
包含小数的数据叫浮点数;这种数据类型叫浮点型。
浮点型数据按照其数据的精度处理能力分为单精度和双精度。单精度类型称为 float,占 4 个字节,32 位双精度类型称为 double,占 8个字节,64 位。
浮点数在内存中的存储方式依次为:符号位,指数(阶码位),尾数(有效数字位)。float 与 double 类型的数据在计算机内部的表示法是相同的,但由于所占存储空间的不同,其分别能够表示的数值范围和精度不同。如下所示:
类型 
符号位
指数 
尾数 
float 
1 位(第 31 位) 
8 位(第 23--30 位) 
23 位(第 0--22 位) 
double 
1 位(第 63 位)
11 位(第 52--62 位) 
52 位(第 0--51 位)

 

 

 

 

浮点数的取值范围比整数大的多,float 类型至少能表示 6 位有效数字,double 类型至少能表示 10 位有效数字。
。float 和 double 类型输出说明符为%f,%f的输出格式默认保留 6 位小数,如果只想保留小数点后 3 位数,可以使用%.3f的形式来输出。
int main()
{
float pi=3.1415926f;//f 表明该值是一个单精度的数据
printf("pi=%.2f\n", pi );//保留 2 位
return 0;
}
 
posted @ 2020-03-23 19:18  泰勒斯儿童营养牙膏  阅读(377)  评论(0编辑  收藏  举报