Bootstrap

C语言学习笔记 Day6(程序运行结构)

Day6 内容梳理:

1、Chapter 4  程序运行结构:4.0 概述,4.1 条件判断语句(if/switch),4.2循环语句(while/for)

Chapter 4  程序运行结构

4.0 概述

基本的3种程序运行结构:

        ①顺序结构:程序按顺序执行,不发生跳转

        ②选择结构:按是否满足条件,执行相对应的代码

        ③循环结构:按是否满足条件,循环多次执行对应的代码

4.1 条件判断语句(if和switch)

流程:开始→判断条件→条件为真→执行语句→结束

                                    →若条件为假→结束

(1)if语句

        常用形式:if,if-else,if-else if-else      (PS:else{}部分均可省略)

❗注意:if相关的语句只会执行满足条件的第一个条件分支。(与没写break的switch语句不同)

以下图为例,输入的98满足所有区间的条件,但是只会输出第一个满足的分支,并结束条件语句。

补充:条件嵌套

        条件语句中,只有if相关的语句可以嵌套,switch无法嵌套。

        if中嵌套if,例子如下:

(2)switch语句

格式:

switch(表达式得到一个值){

    case 值1:

        表达式1;

        break;

    case 值2:

        表达式2;

        break;

    中间省略……

    default:

        表达式 n;
        break;
}

❗每一个case写完都得加break,否则会连续往下执行case,而非执行完一个就退出。

没加break的反面例子:

⭐(3)if和switch的比较

if语句switch语句
条件判断的范围区间(大于/小于/等于/不等于)单值
条件语句能否嵌套能,if里面还能再套if不能
效率

(因为需要从上往下逐个条件判断是否成立)

(因为可通过case的值直接索引到具体分支)

总而言之,如果是区间或多条件,建议选if语句;如果是单值且数量少,建议选switch语句。
 

❗补充知识点:三目运算符

格式:表达式a ? 表达式b : 表达式c

含义:表达式a若为真,则返回表达式b的值作为结果;a为假则返回c作为结果。

例子:

优点:可简化一些基础的条件判断语句,但不适合嵌套、多值选择。

4.2 循环语句(while和for)

        多次执行同一块代码,直至条件不满足。如果条件始终满足,则进入了死循环。

(1)while语句

while语句do while语句
代码格式

while(条件判断){

        表达式;

}

do{

        表达式;

}while(条件判断);

区别

先进行条件判断,

成立则执行代码,不成立则跳出while循环

先执行代码,

执行完再进行条件判断

(2)for语句

格式:

        for(定义初始值; 条件判断; 范围约束){

                表达式;

        }

例子:

        第一个写法较常用,第二个写法只是把for中的定义初始值、范围约束放到了其他位置上。

❗注意:

①for中多变量、多条件的写法:

        注意区分逗号,和分号;

        逗号用于区分不同变量的取值。分号则加在for的定义初始值、条件判断、范围约束之间。

        例子:

②for中嵌套循环的写法:

        以九九乘法表的代码为例:

;