学习标准C语言day2

一、数据类型

为什么要对数据进行分类?

        1、现实中的数据就是自带类别属性的

        2、对数据进行分类可以节约内存存储空间、提高运行速度

sizeof:可以计算数据类型/变量所占内存字节数     (关键字,运算符)

strlen:计算字符串长度 字符个数 不计算’/0’  (函数)

sizeof(“hehe”)  结果是5       strlen(“hehe”)  结果是4

sizeof(1?3:3.14);  结果是8 内部不进行运算,取最大 3.14是double型

整型:

    signed 有符号

        二进制最高位作为符号位 0正数 1负数

        类型名         字节数           数据范围

        signed char     1            -128~127

        signed short    2         -32768~32767

        signed int      4           正负20亿

        signed long     4(32位)/8(64位)

        signed long long 8     正负9开头19位整数

    unsigned 无符号

        二进制最高位作为数据位

        类型名         字节数       数据范围

        unsigned char     1        0~255

        unsigned short    2       0~65535     

        unsigned int      4      0~40亿       

        unsigned long     4(32位)/8(64位)

        unsigned long long 8  0~1开头的20位整数

浮点型:

    float          4        单精度浮点型

    double         8        双精度浮点型

    long double    12(32位)/16(64位)

模拟型:

    字符型:char

    布尔型:bool

二、变量与常量

   定义:

        类型名 变量名:    int num;

            取名规则:

                1、由字母、数字、下划线组成

                2、不能以数字开头

                3、不能与C语言32个关键字重名

                4、见名知意(功能、类型、范围...)

使用:

        赋值:      变量名 = val;

        参与运算:  变量名*10;

什么是常量:在程序运行期间数值不变化的叫做常量

三、数据的格式化输出

    %nd    显示n个字符宽度,不足时补空格,右对齐       

    %-nd   显示n个字符宽度,不足时补空格,左对齐 

    %0nd   显示n个字符宽度,不足时补0,右对齐

    %n.mf  显示n个字符宽度(小数点也算一位),不足时补空格,右对齐,m表示小数点后显示的位数(四舍五入)

    %g     不显示小数点后多余的0

四、运算符

    自变运算符:

        ++/--   让变量的值自动加1或减1

        前自变:++/--num   立即有效

        后自变:num++/--   下一行语句才有效

算术运算符:

        + - * / %

        整数/整数   只保留整数部分

        / %  除数不能为0,否则会在运行时出现浮点数例外(核心已转储)//编译只会有警告

        % 不能对浮点数求余

    位运算符:

        & | ~ ^ << >>

    关系运算符:

        == != > < >= <=

        会得到比较结果是1(成立)或0(不成立),比较的结果还可以继续参与运算

    逻辑运算符:

        && || !

        会先把运算对象转换成逻辑值:非零转为真,0转为假,然后再参与逻辑运算

        && 和 || 的短路特性:

            当左边部分的值已经可以确定整个逻辑运算符的结果时,那么右边部分不执行

            也可以借助短路特性,实现简单的单分支效果       

    三目运算符:

        A ? B : C

            判断A的值如果为真(非0)则执行B,否则执行C

    赋值运算符:

        = += -= *= ...

    sizeof  也是一个运算符

五、类型转换问题

自动类型转换:

        转换规则:以不丢失数据为基础,可以适当地牺牲一些空间(有优先级)

            1、字节少的向字节多的转

            2、有符号的向无符号的转

            3、整型向浮点型转

 强制类型转换:

        (新类型名)数据;

你可能感兴趣的:(学习,c语言)