分支和循环语句


前言:
C语言是结构化的程序设计语言,有顺序结构、分支结构、循环结构,顺序结构,也是顺序执行语句。

一、if分支语句

1.1、if语句定义


1 if(表达式)
2  语句;

if语句中的表达式为真(非零),执行语句,表达式为假(为零),语句不执行。在这里插入图片描述

1.2、else

else是否则的意思,如果if条件不成立,否则怎样,就会用到else。

如果我们想判断一个数是奇数还是偶数,我们就可以用到if-else语句

//判奇偶数
#inclode <stdio.h>
int main()
{
    int a = 0;
    scanf("%d",&a);
    if(a&2==0 )
       printf("%d是偶数",a);
    else
       printf("%d是奇数",a);
    return 0;
}

1.3、分支中包含多条语句

if和else后面默认控制一条语句,如果想控制多条语句就加花括号。

if()
{
    语句1;
    语句2;
    .......
}
else
{
    语句1;
    语句2;
    .......
}

1.4 、if-else语句的嵌套

在if-else语句中,else可以嵌套if语句,形成多重判断。

if(表达式)
{}
else if
.....

例如:显示输出18~20为青少年
21~30为中年
31~50为老年

int main()
{
    int age = 0;
    scanf("%d",&age);
    if(age>=18&&ageage>=20)
       printf("青少年");
    else if(age<=30)
       printf("中年");
    else if(age<=50)
       printf("老年");
     return 0;
}

1.5、else悬空

看距离,else会和距离它最近的if配对。

二、 switch-case分支语句

2.1、switch-case语句定义

switch(表达式)
{
    case 结果1:
           语句;
    case 结果2:
           语句;
       .....
    default:语句;
}

根据表达式的结果,执行不同的case分支 ,如果找不到对应的结果,就会执行default后的语句。
switch后的表达式必须为整形表达式,case后的结果必须为整形常量表达式。

2.2、switch语句中的break

使用switch语句是,如果case后没有break语句,当表达式结果匹配到对应的case后,执行完对应的case后的语句,不会停下来,而是会继续执行后面的语句,有可能执行到case语句,直到遇见break语句或者switch语句结束。
switch语句中的break很重要,能实现真正的分支效果,但不是每一个case后面都要有break语句,要根据实际情况来设定break的有无。

2.3、switch语句中的default

switch语句中的default语句的作用是表达式的结果没有对应的匹配值时,要么不处理,要么就用default语句。
default语句在switch语句顺序不固定,可以出现在case语句之前,但都是最后才执行它。

三、while循环语句

3.1、while语句定义

while(表达式)
{
    语句;
}

while后的表达式是循环的条件,为真执行语句,为假退出循环。
在这里插入图片描述

四、for循环语句

4.1、for语句定义

for(表达式1;表达式2;表达式3)
        语句;
//如果想要控制多条语句就加大括号

表达式1是初始化语句,表达式2是判断语句,表达式3是调整语句。

表达式1和表达式3可以不用写,但里边的分号要写。
在这里插入图片描述

五、do-whild循环 语句

5.1、do-whild语句定义

do
    语句;
while(表达式)
//循环体有多条语句可以加花括号

do-while循环语句,循环体会先执行一次,再去做判断,表达式为真,语句执行,为假,退出循环。
在这里插入图片描述

六、break语句和continue 语句

break语句作用是永久跳出循环,只要break执行,立即跳出循环,继续往后执行。
continue语句作用是跳过本次循环中continue后面的语句,继续执行下一次循环。
注意continue后如果有调整语句,可能造成死循环。
break语句在whilh、for、do-while中效果基本一样。
continue语句在while、do-while中效果一样,但在for语句中会跳过本次循环中continue后面的语句,来到表达式3调整语句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值