代号3 发表于 2018-4-16 18:42:26

一周学完c系列 第四天笔记


循环结构
        while循环
               
                while(表达式)
                {
                        //语句;
                }
                表达式成立则重复执行循环体 直到表达式不成立
                执行表达式
                        真
                                循环体
                        假
                                跳出循环
                               
        do while循环
                do
                {
                        循环体
                }while(表达式);
               
                       
        for循环
       
                for(表达式1;表达式2;表达式3)
                {
                        //语句;
                }
                表达式1 初始化语句
                表达式2 循环表达式语句
                表达式3 自增自减变量变化语句
                执行顺序
                表达式1→表达式2→循环体→表达式3→表达式1→
               
        表达式省略问题
                for语句一般形式中‘表达式1’可以省略,此时应在for语句之前为循环变量赋初值。
                如果表达式2省略,循环无终止进行
                表达式3也可以省略,此时需要另设计循环结束条件
                可以只给表达式2即只给循环条件
               
        表达式填写问题
                表达式1可以是设置循环变量初值得赋值表达式,也可以是与循环变量无关的其他表达式
                表达式2一般是关系表达式或逻辑表达式,但也可以是任意表达式,只要其值为非零就循环执行表达体
                表达式3一般是修改循环变量语句也可以是任意表达式
               
        无限循环
                while循环 无限执行情况下使用 判断情况始终为真
                判断
                        循环条件在循环体中有无被改变
               
        break
                跳出switch结构
                循环语句中跳出循环结构
        continue
                跳过本次循环
                只能在循环结构中使用
       
        嵌套循环
                注意循环变量初始化问题
               
                break只能跳出一层循环
               
二维数组
       
        int n[][];
       
        定义
                数组时第一维长度可以不指定 第二维需要指定
                列定行内有多少元素数
                最高维可以省略
       
       
        初始化
       
                全部写在花括号内
               
                部分初始化
                        分行给二维数组赋初值
                        大括号里再使用大括号
                        根据大括号内的大括号个数自动推测行数
               
                数组元素访问
                        双下标运算符
                        通过第一个下标运算符取指定行
                                使用二维数组中的一维数组
                        通过第二个取出指定的列
                                使用二维数组中的一维数组的元素
                遍历
                        两层循环遍历
                                两层嵌套循环
               
                        外层循环遍历一行
                        内层循环遍历每一列
                       
                _countof(数组名)读取数组字符长度
               

预处理
        宏定义
        条件包含
        条件编译
       
        宏定义
                在程序中某段代码的一个别名
                为程序调试 移植提供便利
               
                以#define开头 结尾不用分号
               
                编译预处理时将源程序中所有的标识符替换成语句序列
               
                注意:宏名一般用大写字母,以便区分变量名 编译预处理只做替换不做语法检查,只有在编译的时候才对已经
                展开宏名的源程序进行语法检查。宏名的有效范围是从定义位置到文件结束。
               
                终止宏可以用#undef命令
                此语句之后的宏定义无法使用
               
        无参宏
                执行单一替换功能
                可以引用已经定义的宏名
                对双引号括起来的字符串内的字符,不进行宏的替换操作
               
        有参宏
                带参数扩大宏的应用范围
               
                #difine 标识符(参数表) 字符串
               
                宏的内容中有算数运算要避免运算符优先级运算 应给带宏参数加小括号
                避免在使用宏的时候使用自增自减运算符
               
                宏名和参数之间不能有空格 否则空格后面的所有字符序列作为替换字符
               
        #include< >标准方式
                只按照标准方式在c语言编辑器的数据库头文件中查找要包含的文件
        #include“ ”通用方式
                先在源文件的目录中查找要包含的文件,若未能找到,则按照标准方式查找
               
三目运算符
        表达式?操作1:操作2
        真则执行1假则执行2
       
页: [1]
查看完整版本: 一周学完c系列 第四天笔记