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

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

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

  • sizeof可以测量数据类型
  • sizeof可以测量变量
  • sizeof可以测量常量
 1 //测量整型数据类型占用的字节 2 #include 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 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 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 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 #include3 int main()4 {5     printf("float=%d\n",sizeof(float));6     printf("double=%d\n",sizeof(double));7     return 0;8 }

运行结果:

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。