一、整型数据类型
1、整型数据类型名称及关键词
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 }
复制代码 运行结果:
4、整型数值范围结论
5、不想最高位当符号位怎么做?
二、浮点型数据类型
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 }
复制代码 运行结果:
所以整型数据类型是不能表示小数的!
引入新的数据类型:浮点型数据类型
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=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 }
复制代码 运行结果:
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 }
复制代码 运行结果:
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |