一、整型数据类型

1、整型数据类型名称及关键词

【C语言_2】整型和浮点型数据类型

2、为什么要定义不同的整型类型?
因为不同的数据类型所占用的内存大小是不同的,他们可表示的数据范围也是不同的。那么char,short,int,long,long long,分别占用几个字节?具体的数值范围又是多少?C语言并未规定数据类型的大小范围,具体实现交由编译器和平台来实现。那么我们怎么知道Visual studio 2022中各种整型类型能够表示的范围呢?我们可以用sizeof测量。

3、如何测量数据类型大小

 1 //测量整型数据类型占用的字节
 2 #include<stdio.h>
 3 int main()
 4 {
 5   printf("char=%d\n", sizeof(char));
 6   printf("short=%d\n", sizeof(short));
 7   printf("int=%d\n", sizeof(int));
 8   printf("long=%d\n", sizeof(long));
 9   printf("long long=%d\n", sizeof(long long));
10   return 0; 
11 }

运行结果:

【C语言_2】整型和浮点型数据类型

4、整型数值范围结论

【C语言_2】整型和浮点型数据类型

5、不想最高位当符号位怎么做?

【C语言_2】整型和浮点型数据类型

二、浮点型数据类型

1、int类型能装下小数吗?

 1 //错误示范
 2 #include<stdio.h>
 3 int main()
 4 {
 5     int a=1.345678;
 6     int b=0.123456;
 7     int c=5.234567;
 8     printf("a=%d\n",a);
 9     printf("b=%d\n",b);
10     printf("c=%d\n",c);
11     return 0;
12 }

运行结果:

【C语言_2】整型和浮点型数据类型

所以整型数据类型是不能表示小数的!

引入新的数据类型:浮点型数据类型

2、单精度浮点类型float

 1 #include<stdio.h>
 2 int main()
 3 {
 4     float a=1.345678;
 5     float b=0.00001;
 6     float c=365.12345;
 7     printf("a=%f\n",a);
 8     printf("b=%f\n",b);
 9     printf("c=%f\n",c);
10     return 0;
11 }
12 //%d占位符用于整型
13 //%f占位符用于浮点型

运行结果:

【C语言_2】整型和浮点型数据类型

结果显示c=365.12344

3、双精度浮点类型double

 1 #include<stdio.h>
 2 int main()
 3 {
 4     double a=1.345678;
 5     double b=0.00001;
 6     double c=365.12345;
 7     printf("a=%f\n",a);
 8     printf("b=%f\n",b);
 9     printf("c=%f\n",c);
10     return 0;
11 }

运行结果:

【C语言_2】整型和浮点型数据类型

4、浮点类型所占字节

1 //测量浮点型数据类型所占用的字节
2 #include<stdio.h>
3 int main()
4 {
5     printf("float=%d\n",sizeof(float));
6     printf("double=%d\n",sizeof(double));
7     return 0;
8 }

运行结果:

【C语言_2】整型和浮点型数据类型

发表回复