美文网首页About computer
Primary:C(一、入门)

Primary:C(一、入门)

作者: Codeismylife | 来源:发表于2019-08-20 15:31 被阅读0次

    预编译头文件

    #include <stdio.h>  
    // 预处理器指令, C 编译器在编译前要包含 stdio.h 文件 
    

    基本语法

    C 程序由各种令牌组成,令牌可以是关键字、标识符、常量、字符串值,或者是一个符号.
    

    数据类型

    1.基本类型:整数类型和浮点类型
    2.枚举类型:算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变量
    3.void类型:类型说明符 void 表明没有可用的值
    4.派生类型:包括指针类型、数组类型、结构类型、共用体类型、函数类型
    运算符:sizeof(int)  //可获取对象或类型的存储字节大小
    

    变量

    char :通常是一个字节,这是一个整数类型
    int:    对机器而言,整数的最自然的大小
    float:单精度浮点值。单精度是这样的格式,1位符号,8位指数,23位小数
    double:双精度浮点值。双精度是1位符号,11位指数,52位小数
    void:表示类型缺失
    
    C 中的变量定义
    告诉编译器在何处创建变量的存储,以及如何创建变量的存储。变量定义指定一个数据类型
    eg:  int  a;
    

    常量

    //整数常量
    整数常量可以是十进制、八进制或十六进制的常量
    前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制
    后缀是 U 和 L 的组合,U 表示无符号整数(unsigned),L 表示长整数(long)
    //浮点常量
    浮点常量由整数部分、小数点、小数部分和指数部分组成
    带符号的指数是用 e 或 E 引入的
    //字符常量
    \r  回车
    \n  换行
    //定义常量
    1.使用#define预处理器
    2.使用 const 关键字
    

    存储类

    auto 存储类
    //auto 存储类是所有局部变量默认的存储类  类似于JS中的局部变量
    register存储类
    //register 存储类用于定义存储在寄存器中而不是 RAM 中的局部变量。这意味着变量的最大尺寸等于寄存器的大小(通常是一个词),且不能对它应用一元的 '&' 运算符(因为它没有内存位置)
    static 存储类
    //static 修饰后,不会在每次调用时重置,必须得在同意文件中
    extern 存储类
    //extern 全局变量对所有的程序文件都是可见的
    
    

    运算符

    //1.算术运算符
    + - * / % ++ --
    //2.关系运算符
    ==  !=  > < <= >=
    //3.逻辑运算符
    && || !
    // 4.位运算符
    &:都为1则为1
    | :有一个是一则为1
    ^:两个位数同为1则为1
    ~:反码
    <<:左移运算符
    >>:右移运算符
    //5.赋值运算符
     = += -= *= /= %= <<= >>= &=  ^= |=
    //6.杂项运算符 ↦ sizeof & 三元
    sizeof() 返回变量的大小
    & 返回变量地址
    *指向一个变量
    ? :  三元运算(条件表达式)
    

    判断

    //与JS基本相同
    if else  
    switch case  
    三元
    

    循环

    //与JS基本相同
    for
    while
    do ... while
    //循环控制语句
    break 结束循环
    continue  结束本轮循环,开始下次迭代
    goto   控制转移至标记语句
    

    函数

    strcat() 用来连接两个字符串
     memcpy() 用来复制内存到另一个位置
    函数包含:名称 函数体 参数 返回类型 后两者不是必须得
    函数声明中,参数的名称并不重要,只有参数的类型是必需的
    int max(int, int);
    当程序调用函数时,程序控制权会转移给被调用的函数。被调用的函数执行已定义的任务,当函数的返回语句被执行时,或到达函数的结束括号时,会把程序控制权交还给主程序
    

    作用域规则

    全局 局部  形参  与JS相同   全局参数同名时有优先选择形参
    //全局变量与局部变量在内存中的区别
    全局变量保存在内存的全局存储区中,占用静态的存储单元;
    局部变量保存在栈中,只有在所在函数被调用时才动态地为变量分配存储单元。
    

    数组

    #C数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素
    
    声明数组、数组赋值、访问数组
    

    enum(枚举)

    //基本数据类型
    可以在定义枚举类型时改变枚举元素的值:enum season {spring, summer=3, autumn, winter};
    

    C 指针

    //什么是指针?
    指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址
    &获取指针地址,*指针访问值
    //NULL 指针
    一个空的
    

    函数指针与回调函数

    #include <stdio.h>
     
    int max(int x, int y)
    {
        return x > y ? x : y;
    }
     
    int main(void)
    {
        /* p 是函数指针 */
        int (* p)(int, int) = & max; // &可以省略
        int a, b, c, d;
     
        printf("请输入三个数字:");
        scanf("%d %d %d", & a, & b, & c);
     
        /* 与直接调用函数等价,d = max(max(a, b), c) */
        d = p(p(a, b), c); 
     
        printf("最大的数字是: %d\n", d);
     
        return 0;
    }
    回调函数基本与JS一样!
    

    字符串

    在 C 语言中,字符串实际上是使用 null 字符 '\0' 终止的一维字符数组
    strcpy(s1,s2)  复制2至1
    strcat(s1,s2)连接至尾端
    strlen(s) 返回字符串长度
    strcmp(s1,s2)两者相同返回0,s1<s2返回小于0, s1>s2 返回大于 0
    strchr(s1, ch)返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置
    strstr(s1, s2);返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。
    

    结构体

    //为了定义结构,您必须使用 struct 语句。struct 语句定义了一个包含多个成员的新的数据类型
    位域
    //有些信息在存储时,并不需要占用一个完整的字节,而只需占几个或一个二进制位。例如在存放一个开关量时,
    //只有 0 和 1 两种状态,用 1 位二进位即可。为了节省存储空间,并使处理简便,C 语言又提供了一种数据结构,
    //称为"位域"或"位段"。
    

    输入 & 输出

    printf() 输入
    scanf()输出
    getchar() 屏幕读取下一个可用的字符并返回
     putchar() 字符输出到屏幕上,并返回相同的字符
    

    C 文件读写

    //打开文件
    fopen( ) 
    FILE *fopen( const char * 文件名, const char * 模式);
    r //打开一个已有的文本文件,允许读取文件
    a  //打开一个文本文件,以追加模式写入文件。如果文件不存在,则会创建一个新文件。在这里,您的程序会在已有的文件内容中追加内容。
     w//打开一个文本文件,允许写入文件。如果文件不存在,则会创建一个新文件。在这里,您的程序会从文件的开头写入内容。如果文件存在,则该会被截断为零长度,重新写入
     +r +a +w
        //二进制文件
    "rb", "wb", "ab", "rb+", "r+b", "wb+", "w+b", "ab+", "a+b"
    //关闭文件
    int fclose( FILE *fp );
        //如果成功关闭文件,fclose( ) 函数返回零,如果关闭文件时发生错误,函数返回 EOF
        //EOF 是一个定义在头文件 stdio.h 中的常量
    //写入文件
    int fputc( int c, FILE *fp );
     //函数 fputc() 把参数 c 的字符值写入到 fp 所指向的输出流中。如果写入成功,它会返回写入的字符,如果发生错误,则会返回 EOF。
    

    真J儿烦,放弃了!考试能过就行

    相关文章

      网友评论

        本文标题:Primary:C(一、入门)

        本文链接:https://www.haomeiwen.com/subject/bqtssctx.html