分支循环那些事(c语言基础)

目录

一、分支

if语句

switch语句

二、循环语句

while语句

for语句

do while 语句


一、分支

即选择结构


if语句

语法结构:

int main()
{
    if (判断语句1)
    {
        语句1;
    }
    else if (判断语句2)
    {
        语句2;
    }
    else
    {
        语句3;
    }
    return 0;
}

注意:

1.如果if或else下的语句只有一句,就可以不加大括号,但为了保证清晰,建议都加上大括号。

2.else是和它离的最近的if匹配的。(if嵌套时需要注意)

实例演示:

int main()
{
    int a = 10;
    if (a>15)
    {
        printf("a>15");
        //语句1
    }
    else if (a<5)
    {
        printf("a<5");
        //语句2
    }
    else
        printf("15>a && a>5");
        //语句3
    return 0;
}

结果是打印 语句3


switch语句

有些情景下,使用if...else  语句太过繁杂

比如

输入1,输出一

输入2,输出二

输入3,输出三

输入4,输出四

输入5,输出五

于是我们可以用switch语句

switch(整型表达式)
{
    语句项;
}

语句项是用case实现的一种结构

语法结构:

case 整形常量表达式:
     语句;

一个switch语句可以有多个case

switch后的整型表达式和case后的整型常量表达式相匹配,并从该case语句往后依次执行

根据具体需求,可以加break语句跳出switch语句

default子句

当 switch 表达式的值并不匹配所有 case 标签的值时

这个 default 子句后面的语句就会执行。

注意:

1.default语句可以出现在switch语句中的任意位置

2.执行语句流时,default下的语句也会像case下的语句一样被执行


二、循环语句

同一件事情需要被执行很多次时需要用到循环语句


while语句

while(判断条件)
 循环语句;

判断条件为真,执行循环语句,然后再回到判断条件进行判断

判断条件为假,则跳出循环

实例演示:(打印数字1-10)

#include 
int main()
{
    int i = 1;
    while (i < 10)
    {
        printf("%d", i);
        i++;//调整判断条件,否则会进入死循环
    }
    return 0;
}

当然,在while循环里也同样可以使用break跳出循环

比如我想在上面的例子中只打印1-4

注意:while中的break是用于永久终止循环的。

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

当然,在while循环里也同样可以使用continue跳过一次循环

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

输出结果是 234678910

当i == 5时执行continue语句 会跳过打印i == 5的情况,就不会打印5


for语句

语法结构

for(表达式1; 表达式2; 表达式3)
 循环语句;

表达式1   -   初始化值

表达式2   -   条件判断

表达式3   -   调整,用于循环条件的调整。

执行流程:

分支循环那些事(c语言基础)_第1张图片

实例演示:(打印数字1-9)

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

我们对比while和for循环

可以发现在while中依然存在循环的三个必须条件,

但是由于风格的问题使得三个部分很可能偏离较远,

这样 查找修改就不够集中和方便。

所以,for循环的风格更胜一筹;for循环使用的频率也最高。

建议:

1. 不可在for 循环体内修改循环变量,防止 for 循环失去控制。

2. for语句的循环控制变量的取值采用“前闭后开区间”写法。

 在判断条件中,使用前闭后开区间可以提高代码可读性,

比如 for(i = 0;i < 10;i++)可以由i<10看出循环10次

而换成i<=9的9没有任何意义 


do while 语句

先执行一次后再进行判断

语法结构

do
 循环语句;
while(表达式);

实例演示:(打印1-9)

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

值得注意的是,do while 循环也同样需要循环的三个必须条件,

相较于while不同的是,do while 会先执行一次,再判断

但也因此,适用的场景不多


C语言分支和循环基础就到此,因为作者水平有限,欢迎提出意见或建议

你可能感兴趣的:(初识c语言,c语言)