zoukankan      html  css  js  c++  java
  • 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),先把字符(汉字)或其他语言转换成数字,再将数字转换为二进制存进计算机,所以高级语言编程字符以上级别的语言都要在编译阶段转换成数字(十/八/十六进制)汇编阶段转换成二进制最终存进计算机中。

  • 相关阅读:
    1062 Talent and Virtue (25 分)
    1083 List Grades (25 分)
    1149 Dangerous Goods Packaging (25 分)
    1121 Damn Single (25 分)
    1120 Friend Numbers (20 分)
    1084 Broken Keyboard (20 分)
    1092 To Buy or Not to Buy (20 分)
    数组与链表
    二叉树
    时间复杂度与空间复杂度
  • 原文地址:https://www.cnblogs.com/markstray/p/5578043.html
Copyright © 2011-2022 走看看