C文件类型、存储单位、数据类型、常量和变量

四、C文件类型
    .h      头文件
    .h.gch  头文件的编译结果,它会被优先使用
    .c      源文件
    .i      预处理文件
    .s      汇编文件
    .o      目标文件
    .so     共享库
    .a      静态库

五、存储空间的单位:
    Bit  比特 一个二进制位,只能存储0或者1,计算机存储数据的最小单位
    Byte 字节 八个二进制位,计算机存储数据的基本单位
    Kb   1024字节
    Mb   1024Kb
    Gb   1024Mb
    Tb   1024Gb
    Pb   1024Tb

六、数据类型
    为什么要对数据进行分类?
        1、现实社会中的数据自带类别属性
        2、对数据分类可以节约存储空间、提高运行效率

    C语言中数据分为两个大类:自建类(程序员自己设计的:结构、联合、类)和内建类(C语言自带)

    整形:
        signed 有符号
            类型            字节数      表示范围
            signed char       1         -128~127
            signed short      2         -32768~32767
            signed int        4         正负20亿
            signed long       4/8       
            signed long long  8         9开头的19位整数
            注意:32位系统下signed long是4字节,64位是8字节
            注意:signed 不加就代表加
        unsigned 无符号
            类型              字节数      表示范围
            unsigned char       1         0~255
            unsigned short      2         0~65535
            unsigned int        4         0~40亿
            unsigned long       4/8       
            unsigned long long  8         0~1开头的20位整数
            注意:由于定义无符号数据时名字麻烦,标准库把这些类型重新定义
                需要包含头文件<stdio.h>
                uint8_t uint16_t uint32_t uint64_t
                int8_t  int16_t  int32_t  int64_t

    浮点型:
        float           4           
        double          8
        long double    12/16
    注意:采用科学计数法,换算真实数据与二进制数据,因此计算浮点型数据时要比整形数据慢得多,编程时尽量使用整形
    注意:关注浮点型的精度,小数点后六位有效

    模拟:
        字符型:%c
        char 字符就是符号或者是图案,在内存中存储的是整数,需要显示成符号或者图案时,计算机会根据ASCII码表中的对应关系显示出相应的符号或图案。
        '\0' == 0
        '0'  == 48
        'A'  == 65
        'a'  == 97
        
        布尔型:bool
        先有C语言之后才有bool类型,C语言是没有真正的bool类型,在stdbool.h 头文件中用整数进行模拟
        bool    true    false

    可以使用sizeof运算符 计算类型、变量占用的字节数
    例如:sizeof(int)

七、变量与常量
    什么是变量:
        在程序运行期间数值可以发生变化的叫变量,相当于存放数据的盒子
    定义:
        类型 变量名;
        int num;
        变量名取名规则:
            1、由字母、数字、下划线组成
            2、不能以数字开头 
            3、不能与32个C语言关键字重名,能默写
            4、见名知意(功能+类型+作用域)
        注意:变量的默认值是随机的,为了安全起见,一般都初始化为0


    使用:
            赋值:变量名 = 数据;   num = 100;
            运算:变量名 *10;      num*10;

    变量的输出、输入:
        int printf(const char *format, ...);
        功能:输出数据
        format:"双引号包含的提示信息+占位符"
        ...:变量名列表
        返回值:输出字符个数

    练习1:定义各种类型的变量并初始化,使用printf显示

    类型占位符:C语言通过占位符的形式传递变量的类型
        %hhd %hd %d %ld %lld    有符号
        %hhu %hu %u %lu %llu    无符号
        %f  %lf  %LF            浮点型
        %c                      字符型

    int scanf(const char *format, ...);
    功能:输入数据到变量
    fotmat:"双引号包含的占位符"
    ...:变量的地址列表  &num
    返回值:成功输入的变量的个数
    注意:scanf需要的是变量的类型和变量的地址
        变量地址 = &变量名

    练习2:定义各种类型的变量并初始化,使用scanf输入各个数据,分别printf打印

    什么是常量:
        程序运行期间数值不能发生变化的叫做常量
        100     默认是signed int
        100l    signed long
        100ll   signed long long

        100u    unsigned int
        100lu   unsigned long
        100llu  unsigned long long
        3.14    默认是  double
        3.14f   float
        3.14l   long double
        问:定义一个表示100年有多少秒的宏常量?
        #define SEC(60*60*24*365*100u)

八、格式化输入输出
    %nd 显示n个字符宽度,不够则补空格,右对齐
    %0nd 显示n个字符宽度,不够则补0,右对齐
    %-nd 显示n个字符宽度,不够则补空格,左对齐
    %n.mf   显示n个字符宽度(小数点也算),不够则补空格,m表示显示小数点后几位(五舍六入)
    %g  显示浮点型数据,并且不显示小数点后多余的0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值