C_1_1__类型关键字

C语言类型关键字

类型关键字10个

        void                              空类型                      
        char                             字符型                      1byte,与系统无关
        short                            短整型                      与系统有关,32位系统上为2byte
         int                                 整型                          与系统有关,32位系统上为4byte
         long                             长整型                       与系统有关,32位系统上为4byte
        float                             单精度浮点型            与系统有关,32位系统上为4byte
        double                         双精度浮点型            与系统有关,32位系统上为8byte
        struct                           结构体
        uion                             共用体
        enum                           枚举


    数据类型的本质是存放数据的大小和方法,编程时选择合理的数据类型是很有必要的.

数进制

    计算机的特性只能存放二进制数据,所有数据存入计算机时必须转化为二进制数据.
            20           // 十进制 
            024         // 八进制 
            0x14       // 十六进制 
            128u       // 无符整型
            1024UL   // 无符长整型
            1L           // 长整型
            8Lu         // 无符长整型,大小写不区分

char字符类型

    char虽然是字符类型,但实质是整数类型,通过ascll码表将整数转化成字符.例如:ASCII 使用 65 来代表大写字母 A,因此存储字母 A 实际上存储的是整数65。
    类型默认都是有符号的,char也不例外, char i; 等价于 signed char i; 
    char的取值范围:
        signed char             -128 ~ 127
        unsigned char         0 ~ 255

    比较两种定义的区别:

        char i = 1;                                                       在内存中就是0 0 0 0 0 0 0 1

        char i = '1';                     字符‘1’的ASCII码49,在内存中就是0 0 1 1 0 0 0 1

        其实也可以用int类型存放ASCLL码值:  int i = '1' ;   i = 49 ;  在内存中就是0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1


    错误的定义:

        char i = 'hello';                用单引号时,单引号里面只能有一个字符;

        char i = "1";                    用双引号代表字符串,单引号才代表单个字符;



short短整型


    标准定义short短整型变量不得低于16位,即两个字节。
    编译器头文件夹里面的 limits.h定义了short能表示的大小:SHRT_MIN~SHRT_MAX.
    类型默认都是有符号的,short也不例外, short i; 等价于 signed short i; 
    short的取值范围(16bit):
        signed short             -32768 ~ 32767
        unsigned short         0 ~ 65535

    编译器头文件夹里面的 limits.h定义了short能表示的大小:SHRT_MIN~SHRT_MAX.

int整型

    int  erns; /* 声明一个变量 */
    /* 注意:一定要用逗号(,),不能用分号(;)*/
    int hogs, cows, goats; /* 声明三个变量 */

long长整型

    long int num = 20;
    long num = 20L;
    unsigned long num = 20UL;

float单精度浮点类型/double双精度浮点类型

 浮点数在机内用指数型式表示,分解为:符号,指数符号, 指数, 尾数 组成。
    符号占1位二进制,表示数的正负。
    指数符号占1位二进制,表示指数的正负。
    尾数表示浮点数有效数字,0.xxxxxxx,但不存开头的0和点
    指数存指数的有效数字。
  指数占多少位,尾数占多少位,由计算机系统决定。
  可能是数符加尾数占24位,指数符加指数占8位 -- float.
  数符加尾数占48位,指数符加指数占16位 -- double.

                符号域 指数域         尾数域
    单精度浮点数 1 位[31] 8位[30-23]  23位[22-00]
    双精度浮点数 1 位[63] 16位[62-47]  47位[46-00]

    对编程人员来说,double 和 float 的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多.

 浮点数值默认为double类型
   3.14159F  
   0.1f
   3e1       
   1.0E-3


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值