分支语句和循环语句的复盘

目录

1、什么是语句?

2、分支语句

2.1 if语句

2.1.1 关于if 和 else匹配的问题

2.2 switch语句

2.2.1 switch语句的break

2.2.2 default子句

3 循环语句

 3.1 while循环

3.1.1 while循环中break和continue的对比


本章的重点是分支语句和循环语句。具体分类如下:

分支语句:if跟switch

循环语句 :while  for    do while

1、什么是语句?

在C语言中,由";"隔开的就是一条语句。

例如:1+5=6;printf("MIT");

2、分支语句

2.1 if语句

if语句的语法结构:

(1)if(表达式)

                 语句; 

(2)if(表达式)

                语句1;

        else

                 语句2;

(3)if(表达式1)

                  语句1;

        else if(表达式2)

                 语句2;

        else

                语句3; 

注:要注意的是 在第三种结构中,它的语句只能执行一种情况。  而表达式的结果为真,才可执行。在C语言中,0为假,一切非0表示真。

2.1.1 关于if 和 else匹配的问题

#include <stdio.h>
int main()
{
    int a = 0;
    int b = 2;
    if(a == 1)
        if(b == 2)
            printf("MIT\n");
    else
        printf("MAVIS\n");
    return 0;
}

 经过测试,什么也没打印。


#include <stdio.h>
int main()
{
    int a = 0;
    int b = 2;
    if(a == 1)
   {
        if(b == 2)
       {
            printf("MIT\n");
       }
   }
    else
   {
         printf("MAVIS\n");
   }       
    return 0;
}

 

 而经过改正,成功打印MAVIS。这里就涉及到一个细节,就是else的匹配,else是和它离的最近的if匹配的。

2.2 switch语句

我们来想一个问题,当我们要输出周一到周日这七种情况,假如我们继续用if...else if ....else if..的选择语句来执行,未免也太麻烦,而switch语句就是为了解决这种情况。

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

2.2.1 switch语句的break

关于break的作用 我们可以通过两段代码来理解。

include <stdio.h>
int main()
{
    int day = 0;
    scanf("%d",&day);
。
    switch(day)
   {
        case 1:
            printf("星期一\n");
            
        case 2:
            printf("星期二\n");
            
        case 3:
            printf("星期三\n");
              
        case 4:
            printf("星期四\n");
               
        case 5:
            printf("星期五\n");
            
        case 6:
            printf("星期六\n");
            
        case 7:
            printf("星期天\n");    
            
   }
    return 0;
}

 我们可以发现,我们本来想要输出星期一,但是星期一到星期天都被输出了。这时候我们加上break来测试。

 可以看出,break可以让想要被执行的语句执行之后及时跳出switch语句。

2.2.2 default子句

从以上的代码中,我们想,如果我们输入的数字跟里面其中情况不匹配,该怎么办?

这时候我们可以用default子句,若输入其他数字,则同意总结为输入错误。

3 循环语句

(1)while循环

(2)do while循环

(3)for循环

 3.1 while循环

while循环的语法结构:while(表达式){       循环语句;     }

3.1.1 while循环中break和continue的对比

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

 

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

 经过以上对比,可以看出循环中只要遇到break,就停止后期的所有的循环,直接终止循环。而continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,但还是会跳到循环判断条件的部分,进而执行下一次循环。

  • 13
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值