• C 碎片二 数据类型


    一、概述

      C 语言包含的数据类型如下图所示:

     

    二、各种数据类型介绍

    2.1 整型

      整形包括短整型、整形和长整形。

    2.1.1 短整形

      short a=1;

    2.1.2 整形

      一般占4个字节(32位),最高位代表符号,0表示正数,1表示负数,取值范围是-2147483648~2147483647,在内存中的存储顺序是低位在前、高位在后(小端模式(Little-Endian):数据的低字节部分存储在内存的低地址中,高字节部分存储在内存的高地址中)例如0x12345678在内存中的存储如下:

      地址:0x0012ff78  0x0012ff79  0x0012ff7a  0x0012ff7b

      数据:  78      56        34      12

      定义:用int关键字,举例如下:

      int a=6;

    2.1.3 长整形:和int一样4个字节

      long a=10;

    2.2 浮点型:4个字节

      浮点型包括单精度型和双精度型。

    2.2.1 单精度型

      浮点型,又称实型,也称单精度。一般占4个字节(32位),

      float a=4.5;

      地址:0x0012ff78  0x0012ff79  0x0012ff7a  0x0012ff7b

      数据:  00      00        90      40

    2.2.2 双精度型

      一般占8个字节(64位)

      double a=4.5;

      地址:0x0012ff78  0x0012ff79  0x0012ff7a  0x0012ff7b  0x0012ff7c  0x0012ff7d  0x0012ff7e  0x0012ff7f

      数据:  00      00        00      00      00        00      12      40

    2.3 字符类型

      在各种不同系统中,字符类型都占1个字节(8位)。定义如下:

      char c='a';

      也可以用字符对应的ASCII码赋值,如下:

      char c=97;

    2.4 字符串

      单引号代表字符,双引号代表的是字符串.

      通常用字符指针(4个字节)或者字符数组表示:

      char *str = "hello"

      char str[10] = "abcd"

    三、常量及变量

    常量:在程序运行过程中,其值不可改变的量

      常量定义格式:const 类型 名称

    变量:在程序运行过程中,其值可以改变的量

      变量定义格式:类型 名称

    基本数据类型:整型,字符型,实型(浮点型)

    整型:int  int = 4

      长整型:long (long int)                        long = 8

      短整型:short (short int)                      short = 2  

    实型(浮点型):          

      单精度:float                                       float = 4

      双精度:double                                    double = 8

    字符型:char   ASCII‘1’,‘A’   char = 1

    short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。

    表示有无符号时需要人为指定:(默认由符号)

      有符号:signed

      无符号:unsigned

      不写,编译器默认是有符号数

     

    程序中的整数,默认是int,小数默认是double

    变量:代表具有名字的一块存储空间

    四、标识符的命名规范

    1. 只能有数字,字母,下划线组成

    2. 首字符不是数字

    3. 区分大小写

    4. 不能是关键字(保留字)关键字是唯一代表某一个意思的字符集合

    5. 习惯性命名

      n、i、j 等通常作为循环变量使用

      程序中不得出现仅靠大小写区分的相似的标识符  x X, o O

      含义标识命名规则,变量命名使用名词性词组,函数命名使用动词性词组(getAaaBbbCcc)

      匈牙利命名法:变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等

        作用域前缀命名规则 (global,function,auto) gAaaBbbCcc

        数据类型前缀命名规则 (char,int,float,long,double,unsigned) iAaaBbbCcc

      骆驼命名法(camel):当标识符由多个词组成时,第一个词的首字母小写,以后每个词的第一个字母大写,其余全部小写  aaaBbbCcc

      帕斯卡命名法(pascal):当标识符由多个词组成时,每个词的第一个字母大写,其余全部小写  AaaBbbCcc

        对比:骆驼命名法是首字母小写,而帕斯卡命名法是首字母大写

      下划线分割多个词法是c出现后开始流行起来的,在许多旧的程序和UNIX这样的环境中,它的使用非常普遍  aaa_bbb_ccc

      

      所有宏定义、枚举常数、只读变量全用大写字母命名,用下划线分割单词

      禁止使用函数名作为某一个变量名

      命名应当直观且可以拼读,可望文知意,便于记忆和阅读

     

    五、说明

    1. C语言中的语句是以分号结尾的表达式

    2. sizeof关键字是用来计算所占空间大小的

    3. 定义变量时,若不初始化,则其值不确定

    4. 定义常量时,若不初始化,则该常量无意义

    因此常量定义时必须初始化。

     

    六、隐式转换

    规则:

      1. 短字节向长字节看齐

      2. float向double看齐

      3. 整数向浮点数看齐

      4. 由符号向无符号看齐

        高 double(8)  <——  float (4)

        ^ long (8)

        ^ unsigned(4)

        低 int(4) <—— short(2)  <—— char(1)

     

    七、续

      对字符的理解:计算机发明是用来处理数据的,也就是对(整型int,浮点型float,double)这些数据的处理,这些都好处理(进制转换—>二进制)直接编码。随着发展,人们向想来处理字符,但字符怎么转换成二进制,于是就又有了编码(ascii,utf-8,gbk),先把字符(汉字)或其他语言转换成数字,再将数字转换为二进制存进计算机,所以高级语言编程字符以上级别的语言都要在编译阶段转换成数字(十/八/十六进制)汇编阶段转换成二进制最终存进计算机中。

  • 相关阅读:
    爱牛网站
    阿里云文档
    Linux下iptables屏蔽IP和端口号
    oracle 启动监听报错TNS-12547: TNS:lost contact
    http://www.opensymphony.com/
    jmx
    联想笔记本装win7
    包解析
    js为字符串编码
    JAVA版本号微信公众账号开源项目版本号公布-jeewx1.0(捷微)
  • 原文地址:https://www.cnblogs.com/markstray/p/5578043.html
Copyright © 2020-2023  润新知