• C语言数据类型 / 变量类型


    目录

    零基础 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~+2147483647
    	unsigned long int j=4294967295; //unsigned long int 取值范围 :0~4294967295
    	printf("%d %d %u %u
    ",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 
    ",num1);
    	printf("double num2 = %.10f 
    ", 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 语言数据类型 / 变量类型

    本文由博客 - 猿说编程 猿说编程 发布!

  • 相关阅读:
    Python读excel——xlrd
    markdown demo 学习
    Markdown 语法介绍
    安全学习概览——恶意软件分析、web渗透、漏洞利用和挖掘、内网渗透、IoT安全分析、区块链、黑灰产对抗
    诺基亚 IoT安全白皮书
    北京Uber优步司机奖励政策(4月17日)
    滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(4月17日)
    百度、腾讯和阿里内部的级别和薪资待遇是什么样的?
    成都Uber优步司机奖励政策(4月16日)
    北京Uber优步司机奖励政策(4月16日)
  • 原文地址:https://www.cnblogs.com/shuopython/p/15089671.html
Copyright © 2020-2023  润新知