PoEdu培训 C语言提高班3 流程控制语句
文章类别: 培训笔记 0 评论

PoEdu培训 C语言提高班3 流程控制语句

文章类别: 培训笔记 0 评论

条件语句

if 和 switch 的使用

if语句

0为假, 非0为真
当 if .. else 语句变多时, 会导致我们的代码阅读和逻辑理解变得困难.
当if超过3个分支时, 推荐使用switch

switch语句

switch语句的条件只能是数值
一般情况下, 每个case语句块都要有break语句, 逻辑相同的case除外.
default用来处理特殊情况, 相当于if中的else.

区别

if else语句可以实现所有switch case语句的功能

if 判断浮点数

我们判断浮点数的时候, 需要使用区间来进行对比.

#include <stdio.h>

// 自定义精度
#define EPSINON 0.000001

int main()
{
    double dVal = 0.0;
    if (-EPSINON <= dVal && dVal <= EPSINON)
    {
        printf("dVal == 0.0\n");
    }
    return 0;
}

循环语句

循环语句都是在判断条件为的情况下才进行循环的.

for语句

多用于记次循环
先判断条件是否为真, 然后在决定是否执行循环体语句.
写起来更加简洁

while语句

先判断条件是否为真, 然后在决定是否执行循环体语句.
多用于条件判断循环, 比如输入的值不合法

do while 语句

先执行一次循环体, 然后在判断条件是否为真, 然后在决定是否执行循环体语句.
能够保证循环体语句至少执行一次.

// 奇淫巧技
int main()
{
    int iRet = 0;
    // 统一入口
    do
    {
        // 进行逻辑验证
        // if (!InitData())
        // 不成功则break;
        //      break;
        
        // 进行逻辑验证
        // if (!InitData())
        // 不成功则break;
        //      break;

        // 进行逻辑验证
        // if (!InitData())
        // 不成功则break;
        //      break;

        // 正确执行, 置返回值
        // iRet = 1;
    } while (false);
    // 统一出口

    return iRet;
}

break, continue, goto语句

goto语句

强制执行流程跳转, 从整体层面打乱代码执行逻辑
严禁使用

break语句

跳出代码块, 比如跳出循环体, 或者跳出case分支

continue语句

只能用于 循环体
它的作用, 是跳过 continue 语句下的所有循环体, 并开始新一轮的循环条件验证

如有错误,请提出指正!谢谢.

回复