C语言数据类型 / 变量类型 - C语言零基础入门教程

- 日理万妓 2022-08-29 04:26 263阅读 0赞

目录

  • 一.C 语言数据类型分类
  • 二.C 语言整形

    • 1.无符号整形(16 位系统)
    • 2.有符号整形(16 位系统)
    • 3.int 和 long 区别
    • 4.超出取值范围的整形
  • 三.C 语言浮点型 float/double

    • 1.float(单精度)
    • 2.double(双精度)
  • 四.猜你喜欢

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门

一.C 语言数据类型分类

C 语言的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。

446bab58424b9ab76c3f6ca89db139ee.png

  1. /************************************************************************/
  2. //@Author:猿说编程
  3. //@Blog(个人博客地址): www.codersrc.com
  4. //@File:C语言数据类型 / 变量类型
  5. //@Time:2021/05/21 08:00
  6. //@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  7. /************************************************************************/
  8. int : 占据的内度存大小是2 byte
  9. short int : 占据的内度存大小是4 byte
  10. long int : 占据的内度存大小是4 byte
  11. float : 占据的内度存大小是4 byte
  12. double : 占据的内度存大小是8 byte
  13. char : 占据的内度存大小是1 byte

二.C 语言整形

C 语言的整形,分类两类,一种是有符号的(正数/负数),一种是无符号的(默认是大于等于零);

1.无符号整形(16 位系统

  1. /************************************************************************/
  2. //@Author:猿说编程
  3. //@Blog(个人博客地址): www.codersrc.com
  4. //@File:C语言数据类型 / 变量类型
  5. //@Time:2021/05/21 08:00
  6. //@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  7. /************************************************************************/
  8. unsigned int 取值范围 0~65535
  9. unsigned short int 取值范围 0~65535
  10. unsigned long int 取值范围 0~4294967295

无符号整形,默认重 0 开始,永远不可能有负数;

2.有符号整形(16 位系统

  1. /************************************************************************/
  2. @Author:猿说编程
  3. @Blog(个人博客地址): www.codersrc.com
  4. /************************************************************************/
  5. //@Author:猿说编程
  6. //@Blog(个人博客地址): www.codersrc.com
  7. //@File:C语言数据类型 / 变量类型
  8. //@Time:2021/05/21 08:00
  9. //@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  10. /************************************************************************/
  11. int 取值范围 :-32768~+32767
  12. short int 取值范围 :-32768~+32767
  13. long int 取值范围 :-2147483648~+2147483647

有符号整形有正负区间(包含大于 0 和小于 0 两个区间),实际上总长度和无符号整形一样;

3.int 和 long 区别

早期的操作系统是 16 位系统

  1. int用二字节表示,范围是-32768~32767
  2. long4字节表示,范围是-2147483648~2147483647

后来发展到 32 位操作系统

  1. int 4字节表示,与long相同,范围是-2147483648~2147483647

目前的操作系统已发展到 64 位操作系统,但因程序编译工艺的不同,两者表现出不同的差别:

  1. 32位编译系统:int占四字节,与long相同,范围是-2147483648~2147483647
  2. 64位编译系统:int占四字节,long8字节,long数据范围变为:-2^63 ~ 2^63-1

4.超出取值范围的整形

  1. /************************************************************************/
  2. //@Author:猿说编程
  3. //@Blog(个人博客地址): www.codersrc.com
  4. //@File:C语言数据类型 / 变量类型
  5. //@Time:2021/05/21 08:00
  6. //@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  7. /************************************************************************/
  8. #include "stdafx.h"
  9. int main()
  10. {
  11. int i=2147483647; //32位操作系统 int 取值范围 :-2147483648~+2147483647
  12. unsigned long int j=4294967295; //unsigned long int 取值范围 :0~4294967295
  13. printf("%d %d %u %u\n",i,i+1,j,j+1);
  14. }
  15. /*
  16. 输出结果:
  17. 2147483647 -2147483648 4294967295 0
  18. 请按任意键继续. . .
  19. */

由此可见:当 int 型整数超出自己范围时,会从它的最小值重新开始!( int 和 long int 取值范围一样)

三.C 语言浮点型 float/double

C 语言变量类型除了整形之外,还有浮点数类型,例如:3.5,3.1415927685……

浮点数类型也分为两类,一种是 float 单精度 ,一种是 double 双精度,区别就在于 double 的取值范围不管是小数部分还是整数部分都比 float 更高;

1.float(单精度)

  • float 整数部分取值范围:能表达式万亿级别,已经够大了,实际开发完全够用;
  • float 小数部分取值范围:最多只能精确到小数点后 6 位;

2.double(双精度)

  • double 整数部分取值范围:比 float 更大,脑补就行了….
  • double 小数部分取值范围:最多只能精确到小数点后 15 位;

举个例子:

  1. /************************************************************************/
  2. //@Author:猿说编程
  3. //@Blog(个人博客地址): www.codersrc.com
  4. //@File:C语言数据类型 / 变量类型
  5. //@Time:2021/05/21 08:00
  6. //@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  7. /************************************************************************/
  8. #include "stdafx.h"
  9. int main()
  10. {
  11. float num1 = 3.1415926535;
  12. double num2 = 3.1415926535;
  13. printf("float num1 = %.10f \n",num1);
  14. printf("double num2 = %.10f \n", num2);
  15. }
  16. /*
  17. 输出结果:
  18. float num1 = 3.1415927410
  19. double num2 = 3.1415926535
  20. 请按任意键继续. . .
  21. */

由上面可以看出,float 类型的小数点最多只能精确到第 6 位,第 7 位开始就已经不准确了,而 double 类型可以精确到 15 位,一般项目中使用 float 类型已经完全足够了;

四.猜你喜欢

  1. 安装 Visual Studio
  2. 安装 Visual Studio 插件 Visual Assist
  3. Visual Studio 2008 卸载
  4. Visual Studio 2003/2015 卸载
  5. 设置 Visual Studio 字体/背景/行号
  6. C 语言 Hello World
  7. C 语言代码注释
  8. C 语言数据类型 / 变量类型

未经允许不得转载:猿说编程 » C 语言数据类型 / 变量类型

发表评论

表情:
评论列表 (有 0 条评论,263人围观)

还没有评论,来说两句吧...

相关阅读