目录

  • 一.C 语言数据类型分类
  • 二.C 语言整形
    • 1.无符号整形(16 位系统)
    • 2.有符号整形(16 位系统)
    • 3.int 和 long 区别
    • 4.超出取值范围的整形
  • 三.C 语言浮点型 float/double
    • 1.float(单精度)
    • 2.double(双精度)
  • 四.猜你喜欢

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

一.C 语言数据类型分类

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

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

二.C 语言整形

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

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

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

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

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

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

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

3.int 和 long 区别

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

int用二字节表示,范围是-32768~32767;
long用4字节表示,范围是-2147483648~2147483647;

后来发展到 32 位操作系统

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

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

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

4.超出取值范围的整形

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

由此可见:当 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 位;

举个例子:

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

由上面可以看出,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 语言数据类型 / 变量类型

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

  1. C语言变量声明和定义 - C语言零基础入门教程

    目录 1.变量名的开头必须是字母或下划线,不能是数字 2.变量名中的字母是区分大小写的 3.变量名绝对不可以是 C 语言关键字 4.变量名中不能有空格 四.猜你喜欢 零基础 C/C++ 学习路线推荐 ...

  2. 变量命名 – 匈利亚命名法则 - C语言零基础入门教程

    目录 1.属性部分 2.类型部分 3.描述部分 4.MFC.句柄.控件及结构的命名规范 5.变量命名规范 6.库标识符命名法 7.举例 8.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ ...

  3. C语言 printf 函数 - C语言零基础入门教程

    目录 一.printf 函数简介 二.C 语言格式符/占位符 三.printf 函数实战 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 ...

  4. C语言 do while 和 while 循环 - C语言零基础入门教程

    目录 一.do/while 循环 1.do/while 循环简介 2.do/while 循环实战 二.do/while 循环和 while 循环区别 1.while 循环 2.do/while 循环 ...

  5. C语言 while 循环 - C语言零基础入门教程

    目录 一.while 循环简介 1.while 循环语法 2.while 使用 二.while 循环中使用 break 三.while 循环中使用 continue 四.猜你喜欢 零基础 C/C++ ...

  6. C语言 break 和 continue - C语言零基础入门教程

    目录 一.for 循环中使用 break 二.for 循环中使用 continue 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 前一篇 ...

  7. C语言 for 循环 - C语言零基础入门教程

    目录 一.for 循环简介 1.for 循环语法简介 2.for 循环代码执行步骤 3.for 循环适用场景 4.for 循环嵌套 二.for 循环实战 1.简单的 for 循环实现累计求和:1+2+ ...

  8. C语言自加自减运算符(++i / i++) - C语言零基础入门教程

    目录 一.C 语言自加++ / 自减 – 运算符简介 1.前 ++ 后 ++ 的区别 2.前–后-- 的区别 二.C 语言自加++/自减–运算符实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : ...

  9. C语言逗号表达式 - C语言零基础入门教程

    目录 一.C 语言逗号表达式简介 1.逗号表达式书写形式 2.逗号表达式计算结果 二.C 语言逗号表达式实战 1.逗号表达式的使用 2.逗号表达式与赋值表达式区别 三.猜你喜欢 零基础 C/C++ 学 ...

最新文章

  1. 项目管理系列之项目范围时间及资源管理(二)
  2. AppleScript: Handler
  3. NOIP模拟测试23「mine·water·gcd」
  4. python 等待其他线程执行完_面试官:如何让线程顺序执行,join,还有其他办法吗?...
  5. POJ 1300 Door Man(欧拉回路的判定)
  6. PaperNotes(17)-图卷积神经网络GCN-笔记
  7. mysql表空间界限_MySQL5.7 import表结构报错超出表空间界限
  8. 两边定宽,中间自适应布局的四种实现方法
  9. 初识JS-基础中的基础
  10. 小规模免税新政,账务怎么做?
  11. 如何在 Chrome 浏览器中安装印象笔记·剪藏插件
  12. DPDK Release 21.11
  13. ArcGIS地图制图
  14. Linux下查看CPU、内存占用率
  15. 《全民学乒乓》学习笔记
  16. delta波 意识(摘要)
  17. canvas 画布画太极图和钟表
  18. JAVA中DateTime获取当前时间
  19. C语言中怎么表示派 -π
  20. 矩形广告是什么?矩形广告如何设置?

热门文章

  1. Cloudera CDP 企业数据云测试开通指导
  2. Quick BI V4.0功能“炸弹”来袭,重磅推出即席分析、模板市场、企业微信免密登录等强势功能
  3. Serverless在游戏运营行业进行数据采集分析的最佳实践
  4. Tensorflow快餐教程(6) - 矩阵分解
  5. 将 k8s 制作成 3D 射击游戏,好玩到停不下来 | 文末福利
  6. 上班从不迟到,生病不敢请假,加班唯命是从,明明已经很拼命了,为什么还是缺钱?...
  7. DevOps:从「蒸汽时代」到「高铁时代」,SUNMI DevOps转型之路 | 原力计划
  8. “Java跌落向下,Python奋斗向前”,程序员:看哭了...
  9. OpenStack精华问答 | OpenStack是云吗?
  10. 阿里带火的中台,究竟是个啥?