01#c语言基础内容

#include<stdio.h>
#c语言基础内容
{    1.基础名词含义    Byte    bit   
    2.数据(变量)类型
    3.内存储存方式(取反加一)
    4.取别名
    5.字符串的使用
    6.格式控制符总览    
    7.运算符
     /* 【算术运算符】
        【赋值运算符】
        【比较运算符】
        【逻辑运算符】
        【位逻辑运算】*/
    8.运算优先级
    9.编程规范
}
int day1()     //c语言里非0既真
{
    #有关 Byte bit  的注释
    {
/*********************************
Byte(字节)  |  bit(二进制位、比特或比特率) 
1Byte=8bit  |   位
/******************************
二进制(B)、八进制(O)、十进制(D)、十六进制(前缀OX,后缀H)之间的转化
bit //比特率
字节(Byte)
1字节=8bit(0000 0000)
1字节等于2位十六进制
8bit=十六进制
ASCII码总量7bit
EBCDIC码总量8bit

error: 编译运行汉字无法显示,可能原因是编码方式错误,UTF-8 无BOM型可以避免错误
*/
}
    #short int unsigned 等数据类型的解释
    {//数据类型只决定了该类型的储存范围,输出
     //范围是由输出控制符以及集成开发环境(IDM)
     //决定的

数据类型          占用空间                                                                取值范围                    格式控制符        
short                2字节                                                                 (-2^7~2^7-1)                     %hd
int                  4字节                                                                 (-2^15~2^15-1)                      %d        
long                 windows(32)4字节,Linux为4字节(32位),8字节(64位)               (-2^15~2^15-1)                     %ld
long long            8字节                                                                (-2^31~2^31-1)                     %lld    
unsigned 无符号型    4字节                                                              (0~2^31)0~4294967295             %u          //若强制输出负数则输出乱码
char                 1字节 /*8位其中最高位为符号位*/                                    (NUL~DEL) -128~127                 %c          //赋值字符变量时需要加单引号     例子:'a'
{float 浮点型         4字节                                                                  (小数点后六位)                     %f
    {
        用法对比一
        float num1 = 3.1415926535;
        double num2 = 3.1415926535;
        printf('num1 = %.10f , num2 = %.10f
' , num1 , num2);
        输出结果:nu1=3.1415927410 ,num2=3.1415926535
        {
        解析:num1的结果中,只能精确到小数点后面第六位,
        也就是:3.141592 , 第七位,本来是6,但是上图中
        的运行结果,却是7了。也就是说,float只能精确到
        小数点后面六位,在往后,数字就不精确了。但是,
        num2的运行结果,是正确的。这说明:double所能精
        确到的小数点位数,比float多很多位解析:float只
        能精确到小数点后6位.
        http://www.360doc.com/content/17/1210/18/48169514_711868520.shtml
        }
    }
    {
        用法对比二
        float num1 = 3.14E3;
        double num2 = 3.14E3;
        printf('num1 = %.0f , num2 = %.0f
' , num1 , num2);
        输出结果:num1=3140 num2=3140
    }
}                                                             (0.375252E-8)                       %f
double  双精度浮点型 8字节                                                                                                 %lf
long double          12字节 //16字节64位                                                                                                  %llf
bool (布尔){       1字节                                                               (0,1)                            %d        //头文件<stdbool.h>
                    bool flag =false;(flag为假)
                    bool flag =true;
            }
        }
    }
}
    #变量在内存中的存储形式
    /*********************************
        变量存放补码+1
        例:5的二进制位(0000 0101)
                       取反(1111 1010)
                       取反+1(1111 1011)
              内存中存放位(1111 1011)

    *********************************/
    #typedef (取别名)
    {
    typedef long int int32_a;//用于程序开头,为已有的数据类型取一个新名字
}
    #字符串
     {
         char a[]="abbfdjk"
         内存存放形式:数组本身是不需要终止符号的,
                      只有数组装的是字符串儿的时候,
                      才需要终止符号,所以应该理解
                      为是字符串需要结束符号,所以
                      其他类型的数组就不用了
            |0|1|2|3|4|5|6| 7|
            |a|b|b|f|d|j|k|0|
        打印字符串    printf("%s",a);或者printf("%s","abbfdjk") 只有这两种方法;
     }
    #%d  格式控制符总览
    {
        %d 格式控制符的使用
        {
            %5d    >>    该数值输出可占用5位字符位置
            %.5d  >>    该数值输出时保留到小数点后六位
        }
        %d 格式控制符表
        {
            /********************************************
            格式控制符            打印格式
            %s                      字符串
            %c                      字符
            %#o                     八进制 
            %#x                   十六进制
            %d                   整型
            %ld                  长整型
            %lld                 长长整形
            *********************************************/
        }
    }
    #运算符
    {
        #算数运算符
        {
        运算符        术语                        示例                结果
            +            正号                    +3                3
            -            负号                    -3                -3    
            +            加                        10+5            15
            -            减                      10-5            5        
            *            乘                        10*5            50
            /            除                        10/5            2    
            %            取模(取余)            10%3            1
            ++            前置递增               a=2;b=++a;        a=3;b=3;
            ++            后置递增            a=2;b=a++;        a=3;b=2;            
            --            前置递减            a=2;b=--a;        a=1;b=1;
            --            后置递减            a=2;b=a--;        a=1;b=2;
            //float型不能进行取余运算
        }
        #赋值运算符
        {
        运算符        术语                        示例                结果
            =        赋值                    a=2;b=3;               a=2;b=3;
            +=        加等于                    a=0;a+=2;               a=2;
            -=        减等于                    a=5;a-=3;               a=2;
            *=        乘等于                    a=2;a+=2;               a=4;
            /=        除等于                    a=4;a/=2;               a=2;
            %=        模等于                    a=3;a%=2;               a=1;    
        }
        #比较运算符
        {
        运算符        术语                        示例                结果    
        ==            相等于                    4==3            0
        !=            不等于                    4!=3            1
        <            小于                    4<3                0
        >            大于                    4>3                1
        <=            小于等于                4<=3            0
        >=            大于等于                4>=1            1
        }
        #逻辑运算符
        {
        
        运算符        术语                        示例                结果    
        !            非                            !a                    若a为非零即为假,若a为0则为真
        &&            与                            a&&b                若a和b都非零则真,反之则为加
        ||            或                            a||b                若a和b有一个非零则真,两者皆零则为假
        #位逻辑运算(得到的值为)
        |                位运算或                a|b                将a和b进行二进制位或运算,结果输出转化为10进制数
        &                位运算与                a&b                将a和b进行二进制与运算,结果输出转化为10进制数            
        ^                位逻辑异或                a^b                
        }
        + - * / % ++  --
        a++ 先取值后运算
        ++a 先运算再取值
        a+++b=(a++)+b
        float   等浮点型,不能进行取余运算
        int     类型变量相除不能打印浮点型
    }
    #运算优先级
    /*********************************************************************
        1     () [] . ->
        2     ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof
        3     * / %
        4     + -
        5     >> <<
        6     > >= < <=
        7     == !=
        8     &
        9      ^
       10     |
       11     &&
       12    ||
       13    ?:
       14     = += -= *= /= %= |= ^= &= >>= <<=
       15     ,
    ******************************************************************/
    #编程规范
    {
    ""自己的头文件
    <>原本的头文件
    /函数名/要求:尽量用小写字母,加下划线;
    /Ubuntu内的指令
    -Wall详细的警告
    -l./头文件目录(include)   -L./库目录(lib)
    gcc 编译文件 -o 生成的文件 -Wall        
    重点
    :1.c语言里非0既真
      2.数据类型只决定了该类型的储存范围,输出
        范围是由输出控制符以及集成开发环境(IDM)
        决定的
      3.数组本身是不需要终止符号的,
        只有数组装的是字符串儿的时候,
        才需要终止符号,所以应该理解
        为是字符串需要结束符号,所以
        其他类型的数组就不用了
    4.float   等浮点类型,不能进行取余运算
      int     类型变量相除不能打印浮点型
    }

}
    

#include<stdio.h>#c语言基础内容{1.基础名词含义Bytebit   2.数据(变量)类型3.内存储存方式(取反加一)4.取别名5.字符串的使用6.格式控制符总览7.运算符 /* 【算术运算符】【赋值运算符】【比较运算符】【逻辑运算符】【位逻辑运算】*/8.运算优先级9.编程规范}int day1()     //c语言里非0既真{#有关 Byte bit  的注释{/*********************************Byte(字节)  |  bit(二进制位、比特或比特率) 1Byte=8bit  |   位/******************************二进制(B)、八进制(O)、十进制(D)、十六进制(前缀OX,后缀H)之间的转化bit //比特率字节(Byte)1字节=8bit(0000 0000)1字节等于2位十六进制8bit=十六进制ASCII码总量7bitEBCDIC码总量8bit
error: 编译运行汉字无法显示,可能原因是编码方式错误,UTF-8 无BOM型可以避免错误*/}#short int unsigned 等数据类型的解释{//数据类型只决定了该类型的储存范围,输出 //范围是由输出控制符以及集成开发环境(IDM) //决定的
数据类型          占用空间                                                                取值范围格式控制符        short                2字节                                                             (-2^7~2^7-1)                     %hdint                  4字节                                                             (-2^15~2^15-1)              %dlong                 windows(32)4字节,Linux为4字节(32位),8字节(64位)               (-2^15~2^15-1)             %ldlong long            8字节                                                    (-2^31~2^31-1)             %lldunsigned 无符号型    4字节                                                              (0~2^31)0~4294967295 %u          //若强制输出负数则输出乱码char                 1字节 /*8位其中最高位为符号位*/                                    (NUL~DEL) -128~127     %c          //赋值字符变量时需要加单引号     例子:'a'{float 浮点型 4字节      (小数点后六位) %f{用法对比一float num1 = 3.1415926535;double num2 = 3.1415926535;printf('num1 = %.10f , num2 = %.10f ' , num1 , num2);输出结果:nu1=3.1415927410 ,num2=3.1415926535{解析:num1的结果中,只能精确到小数点后面第六位,也就是:3.141592 , 第七位,本来是6,但是上图中的运行结果,却是7了。也就是说,float只能精确到小数点后面六位,在往后,数字就不精确了。但是,num2的运行结果,是正确的。这说明:double所能精确到的小数点位数,比float多很多位解析:float只能精确到小数点后6位.http://www.360doc.com/content/17/1210/18/48169514_711868520.shtml}}{用法对比二float num1 = 3.14E3;double num2 = 3.14E3;printf('num1 = %.0f , num2 = %.0f ' , num1 , num2);输出结果:num1=3140 num2=3140}}     (0.375252E-8)           %fdouble  双精度浮点型 8字节                     %lflong double          12字节 //16字节64位              %llfbool (布尔){       1字节                                                               (0,1)                            %d        //头文件<stdbool.h>bool flag =false;(flag为假)bool flag =true;}}}}#变量在内存中的存储形式/*********************************变量存放补码+1例:5的二进制位(0000 0101)   取反(1111 1010)   取反+1(1111 1011)  内存中存放位(1111 1011)
*********************************/#typedef (取别名){typedef long int int32_a;//用于程序开头,更改程序内已经设置的变量数据类型}    #字符串 { char a[]="abbfdjk" 内存存放形式:数组本身是不需要终止符号的,  只有数组装的是字符串儿的时候,  才需要终止符号,所以应该理解  为是字符串需要结束符号,所以  其他类型的数组就不用了|0|1|2|3|4|5|6| 7||a|b|b|f|d|j|k||打印字符串printf("%s",a);或者printf("%s","abbfdjk") 只有这两种方法; }#%d  格式控制符总览{%d 格式控制符的使用{%5d>>该数值输出可占用5位字符位置%.5d  >>该数值输出时保留到小数点后六位}%d 格式控制符表{/********************************************格式控制符打印格式%s          字符串%c      字符%#o     八进制 %#x   十六进制%d                   整型%ld              长整型%lld                 长长整形*********************************************/}}#运算符{#算数运算符{运算符术语示例结果+正号+33-负号-3    -3+加10+5    15-减  10-55*乘10*550/除10/52%取模(取余)10%31++    前置递增   a=2;b=++a;a=3;b=3;++    后置递增a=2;b=a++;a=3;b=2;--前置递减a=2;b=--a;a=1;b=1;--后置递减a=2;b=a--;a=1;b=2;//float型不能进行取余运算}#赋值运算符{运算符术语示例结果=赋值a=2;b=3;       a=2;b=3;+=加等于a=0;a+=2;       a=2;-=减等于a=5;a-=3;       a=2;*=乘等于a=2;a+=2;       a=4;/=除等于a=4;a/=2;       a=2;%=模等于a=3;a%=2;           a=1;}#比较运算符{运算符术语示例结果==相等于4==30!=不等于4!=31<小于4<30>大于4>31<=小于等于4<=30>=大于等于4>=11}#逻辑运算符{运算符术语示例结果!非!a若a为非零即为假,若a为0则为真&&与a&&b    若a和b都非零则真,反之则为加||或a||b若a和b有一个非零则真,两者皆零则为假#位逻辑运算(得到的值为)|位运算或a|b将a和b进行二进制位或运算,结果输出转化为10进制数&位运算与a&b将a和b进行二进制与运算,结果输出转化为10进制数^位逻辑异或    a^b}+ - * / % ++  --a++ 先取值后运算++a 先运算再取值a+++b=(a++)+bfloat   等浮点型,不能进行取余运算int 类型变量相除不能打印浮点型}#运算优先级/*********************************************************************1 () [] . ->2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof3 * / %4 + -5 >> <<6 > >= < <=7 == !=8 &9 ^   10 |   11 &&   12    ||   13    ?:   14 = += -= *= /= %= |= ^= &= >>= <<=   15 ,******************************************************************/#编程规范{""自己的头文件<>原本的头文件/函数名/要求:尽量用小写字母,加下划线;/-Wall详细的警告-l./头文件目录(include)   -L./库目录(lib)gcc 编译文件 -o 生成的文件 -Wall重点:1.c语言里非0既真  2.数据类型只决定了该类型的储存范围,输出    范围是由输出控制符以及集成开发环境(IDM)    决定的  3.数组本身是不需要终止符号的,    只有数组装的是字符串儿的时候,    才需要终止符号,所以应该理解    为是字符串需要结束符号,所以    其他类型的数组就不用了4.float   等浮点类型,不能进行取余运算  int 类型变量相除不能打印浮点型}
}

原文地址:https://www.cnblogs.com/lxuechao/p/12715995.html