C语言分支循环语句总结

C语言中

有表达式语句 函数调用语句 控制语句 复合语句 空语句

分支语句和循环语句是控制语句

控制语句用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成


(条件判断语句)分支语句:if 和 switch

(循环执行语句)循环语句:while 、for 、 do while、

(转向语句)特殊语句:go to 、break 、continue 、 return


分支语句

一、if

1.如要使用if条件符合事实就ok 例如

#include
int main()
{
    int age = 10;
    if (age >= 18)
    {
        printf("成年");
    }
    return 0;
}

2.if与else配合 else就是除了if的条件不符合就触发另一个情况

#include
int main()
{
    int age = 10;
    if (age >= 18)
    {
        printf("成年");
    }
    else
    {
        printf("不成年");
    }
    return 0;
}

 3.if与else if配合 就是如果不符合if后条件的另一个条件执行(esle if就可以用来多分支实现)

int main()
{
    int age = 10;
    if (age >= 18)
    {
        printf("成年");
    }
    else if(age < 0)
    {
        printf("输入错误");
    }
    else
    {
        printf("未成年");
    }
    return 0;
}

二、switch

 1.switch一般和case、default、break配合使用

switch提供条件 case集合条件 default是除了case以外其它条件 break是跳出选择语句

        首先解释为什么要跳出选择:switch选择中,case相当于是这个函数的入口,进去后会不断的向下执行函数直到全部入口以下的一起运行,但是break会打断运行,一般情况下case和break是绑定运行的。

正常使用例子

#include
int main()
{
    int day = 0;
    switch (day)
    {
        case 1:
            printf("星期一\n");
            break;
        case 2:
            printf("星期二\n");
            break;
        case 3:
            printf("星期三\n");
            break;
        case 4:
            printf("星期四\n");
            break;
        case 5:
            printf("星期五\n");
            break;
        case 6:
            printf("星期六\n");
            break;
        case 7:
            printf("星期天\n");
            break;
    }
    return 0;
}

2.配合defual使用

#include
int main()
{
    int day = 0;
    switch (day)
    {
        case 1:
            printf("星期一\n");
            break;
       default:

            printf("非星期一\n");
            break;
    }
    return 0;


循环语句

一、while循环

1.while(真/假)或者 (判断语句)

如果是真while就循环 假while就停止循环 假是0 真是非假的数 

例如 循环打印1-10 (用的判断语句)

 #include
int main()
{
     int i = 1;
     while(i<=10)
         {
               printf("%d ", i);
               i = i+1;
        }
    return 0;
}

2.while配合break和continue

       如果是break就是打断循环并且跳出循环continue就是当执行到contine时从它所在的地方打断循环直接跳到下一次循环语句。

 例如 i等5就打断

#include
int main()
{
    int i = 1;
    while (i <= 10)
    {
        if (i == 5)
            break;
        printf("%d ", i);
        i = i + 1;
    }
    return 0;
}

和 i等5就跳过本次循环

 #include
int main()
{
    int i = 1;
    while (i <= 10)
    {
        if (i == 5)
            continue;
        printf("%d ", i);
        i = i + 1;
    }
    return 0;
}

 二、for

1. 使用模板for(配置初始化;判定循环条件;调整循环语句)下一行加上循环语句

比如打印1-10

#include
int main()
{
    int i = 0;
    //for(i=1/*初始化*/; i<=10/*判断部分*/; i++/*调整部分*/)
    for (i = 1; i <= 10; i++)
    {
        printf("%d ", i);
    }
    return 0;
}

 2.for配合continue和break 效果基本和while循环差不多

例如 i等于五跳出循环

#include
int main()
{
    int i = 0;
    for (i = 1; i <= 10; i++)
    {
        if (i == 5)
            break;
        printf("%d ", i);
    }
    return 0;
}

和 i等于五跳出本次循环

#include
int main()
{
    int i = 0;
    for (i = 1; i <= 10; i++)
    {
        if (i == 5)
            continue;
        printf("%d ", i);
    }
    return 0;
}

 3.for变种

   无尽循环for

  int main()
{
    for (;;)
    {
        printf("hehe\n");
    }
    return 0;
}

  循环叠加

#include
int main()
{
    int i = 0;
    int j = 0;
    for (i = 0; i < 10; i++)
    {
        for (j = 0; j < 10; j++)
        {
            printf("+1\n");
        }
    }
    return 0;
}

无初始化循环

 #include
int main()
{
    int i = 0;
    int j = 0;
    {
        for (; j < 10; j++)
        {
            printf("+1\n");
        }
    }
    return 0;
}

多变量控制循环

#include
int main()
{
int x, y;
for (x = 0, y = 0; x < 2 && y < 5; ++x, y++)
{
    printf("+1\n");
}
return 0;
}

三、do while()循环 

1.do.....................(需要循环的内容)........while(判断条件)

效果类似于把while反过来

例如

#include
int main()
{
    int i = 10;
    do
    {
        printf("%d\n", i);
    } while (i < 10);
    return 0;
}

2.配合break和continue使用 基本和while一摸一样

例如 i=5跳出循环

#include
int main()
{
    int i = 10;
    do
    {
        if (5 == i)
            break;
        printf("%d\n", i);
    } while (i < 10);
    return 0;
}

 和 i=5跳出本次循环

#include
int main()
{
    int i = 10;
    do
    {
        if (5 == i)
            continue;
        printf("%d\n", i);
    } while (i < 10);
    return 0;
}


特殊语句 

goto语句使用 

在程序中插入入口 通过goto跳转

可以有效地跳出循环

成效为

int main()
{
    for (;;)
        for (;;)
            for (;;)
                for (;;)
                    //显然这里跳出需要好几个break 但是一个goto就可以完成
                    goto A;
A:
    printf("跳出了");
    return 0;


你可能感兴趣的:(#,C语言基础,C语言,c语言,开发语言)