泉缘泉 发表于 2022-9-29 13:45:47

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

一、整型数据类型

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

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


[*]sizeof可以测量数据类型
[*]sizeof可以测量变量
[*]sizeof可以测量常量
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 }运行结果:
https://img2022.cnblogs.com/blog/2989653/202209/2989653-20220924152109410-554307270.png
 
4、整型数值范围结论

 https://img2022.cnblogs.com/blog/2989653/202209/2989653-20220924152231817-999523644.png
 
 5、不想最高位当符号位怎么做?

https://img2022.cnblogs.com/blog/2989653/202209/2989653-20220924152321396-1723589771.png
 

 二、浮点型数据类型

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 }运行结果:
https://img2022.cnblogs.com/blog/2989653/202209/2989653-20220924152517747-170472563.png
 
 
所以整型数据类型是不能表示小数的!
引入新的数据类型:浮点型数据类型
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占位符用于浮点型运行结果:
https://img2022.cnblogs.com/blog/2989653/202209/2989653-20220924152627591-540424465.png
 
 
结果显示c=365.12344

[*]所以浮点型并不能表示无限精确,会有误差。
[*]float至少能表示6位有效数字
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 }运行结果:
https://img2022.cnblogs.com/blog/2989653/202209/2989653-20220924152804234-96390932.png
 
 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 }运行结果:
https://img2022.cnblogs.com/blog/2989653/202209/2989653-20220924152910954-1894896426.png
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 【C语言_2】整型和浮点型数据类型