Fork me on https://github.com

C语言复习

    复习

    C语言的三种结构

    1.顺序结构

    2.分支结构

    3.循环结构

    数据类型

    1.作用(两个)

    2.常见的数据类型: cahr, short, int, long, float, double, BOOL(, 字节数)

    变量

    1.定义(三要素)

    2.使用: 变量名

    变量名的命名规则(5)

    常量

    1.整型常量

    2.浮点型常量

    3.字符常量

    运算符

    1.赋值运算符

    2.算术运算符

    3.关系运算符

    4.逻辑运算符

    5.条件运算符

    6.取值运算符

    7.取址运算符

    8.指向运算符

    9.复合运算符

    

    表达式 = 常量 + 变量 + 运算符

    语句: 最小的执行单元, ;结束

    输出函数printf

    占位符: %d %c %hd %ld 5f %lf %u %lu %s %p %-0m.n(- 0不能同时存在) %o(八进制) %x(十六进制)

    转义字符: \n, \t, %%, \"(双引号), \'(单引号)

    

    输入函数scanf

    1.配合使用: 变量和printf

    2.: ""不要\n, 大回车, 地址&, getchar(), rewind(stdin)

    

    分支结构

    1.if

 /*
    if (<#condition#>) {
        <#statements#>
    }
     */
    /*
    if (<#condition#>) {
        <#statements#>
    } else {
        <#statements#>
    }
    */
    /*
    if (<#condition#>) {
        <#statements#>
    } else if{
        <#statements#>
    } else {
        <#statements#>
     }
     */

2. ?: = if else

3. switch...case

 /*
    switch (<#expression#>) {
        case <#constant#>:
            <#statements#>
            break;
            
        default:
            break;
    }
    */

循环结构

1.for

/*
    for (<#initialization#>; <#condition#>; <#increment#>) {
        <#statements#>
    }
    */

2.while

 

/*
    while (<#condition#>) {
        <#statements#>
    }
    */

 

3.do...while

 

/*
    do {
        <#statements#>
    } while (<#condition#>);
    */

 

    循环嵌套, 不用超过三层

    循环结束

    1.break

    2.continu

   

    数组

    定义

    int a[5] = {0};

    

    使用

    1.不能够直接参与运算

    2.元素 a[i]

    

    随机数: arc4random % (x - y + 1) + y

    

    遍历数组: for

    遍历字符串: while

    数组排序: 冒泡排序

     sizeof: 求变量或表达式的字节数

    

    二维数组

    定义: 有几个维度, 有几个[]

    二维数组(, )

    三维数组(, , )

    使用数组的元素

    访问数组的元素: 每个维度的下标都是从0开始

  

    字符数组

    字符串: while, '\0'

   

    字符串数组: 使用一层for循环, %s打印

    字符串数组的冒泡排序

    

    函数: 具有特定功能的代码段

    函数的好处

    1.重复使用

    2.良好的移植性(建立在: 把函数写在一对.h.m文件中)

    .h: 函数声明和结构体声明

    .m函数定义

    一个严格的函数:

    1.声明

    2.定义

    3.调用

    函数定义

 

    返回值类型函数名(参数){

         语句

      }

    : 1.函数的定义写在函数外部

    2.参数名数据类型相同, 不能省略

    3.没有返回值用void; 有返回值, 必须用return

    函数调用

    函数名(实参) 

    形参

    实参

    局部变量

    全局变量

    

    数组作为函数的参数

    void printArray(int a[], int count);

    void printArray(int *a, int count);

    

    结构体:

    1.结构体是一种数据类型

    2.可以由用户自定义

    3.由多个数据类型组成

    

    结构体的声明

/*
    struct <#struct name#> {
        <#struct fields#>
    };
    */

    : 结构提名用小驼峰法

    

    使用typedef对结构体重命名

    typedef旧名新名

    

    结构体变量

    Student stu = {"张三", 'm', 18};

    

    结构体变量可以整体赋值

    Student stu1 = stu;

    

    访问结构体的成员变量, 点语法

    结构体变量.成员变量名

    

    结构体数组

    冒泡排序(姓名, 学号, 年龄)

    

    指针:

    1.内存的地址编号

    2.一个字节就对应一个地址编号

    

    指针变量

    数据类型 *变量名 = NULL;

    所占的字节数: 和操作系统的位数相关, 与数据类型无关

    数据类型: *p, p + 1

    

    指针的应用

    1.数组: 数组在内存中连续存储的; 数组的名字就是数组的首地址

    数组名指向数组首地址的指针变量

    区别: 所占的字节数sizeof, 数组名是常量地址

    2.字符串: %s打印的实质

    3.函数: 在函数内部修改外部定义的变量, 需要传递指针

    4.结构体: 通过指向操作符(->)访问成员变量

 

 

 

 

 

 

 

 

 

posted @ 2015-09-23 19:41  OrangesChen  阅读(238)  评论(0编辑  收藏  举报