M的C备忘录——分支和循环语句

目录

1、什么是语句?

2、分支语句(选择结构)

2.1、if语句

2.2、switch语句

2.2.1、switch语句中的break

2.2.2default子句

3、循环语句

3.1、while循环

3.1.1while中的break和continue

3.2、for循环

3.2.1、语法

3.2.2、break和continue在for循环中

3.2.3、for语句的循环控制变量

3.2.4、for循环的变种

3.3do…while()循环

3.3.1、语法

3.3.2、执行流程

3.3.3、 do语句的特点

3.3.4、break和continue

4、goto语句


1、什么是语句?

C语句可分为以下五类:

        1. 表达式语句

        2. 函数调用语句

        3. 控制语句

        4. 复合语句

        5. 空语句

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

可分成以下三类:

        1. 条件判断语句也叫分支语句:if语句、switch语句;

        2. 循环执行语句:do while语句、while语句、for语句;

        3. 转向语句:break语句、goto语句、continue语句、return语句。

2、分支语句(选择结构)

2.1、if语句

语法结构:

//单分支
    if(表达式)
       语句;


    if(表达式)
       语句1;
    else
       语句2;

//多分支    
    if(表达式1)
       语句1;
    else if(表达式2)
       语句2;
    else
       语句3;

else的匹配:else是和它离的最近的if匹配的。

2.2、switch语句

        switch是一种多分支语句

switch(整型表达式)
{
   case 整形常量表达式:
    语句;
}

2.2.1、switch语句中的break

switch语句需要搭配break才能实现真正的分支

#include <stdio.h> 
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;
}

当需要:

1. 输入1-5,输出的是“weekday”;

2. 输入6-7,输出“weekend”

所以我们的代码就应该这样实现了:

#include <stdio.h> //switch代码演示 
int main() 
{    
    int day = 0;
    switch(day)
    {
        case 1:
        case 2:
        case 3:        
        case 4:
        case 5:
            printf("weekday\n");
            break;
        case 6:
        case 7:
            printf("weekend\n");
            break;
   }
   return 0;
}

break语句 的实际效果是把语句列表划分为不同的分支部分。

编程好习惯

在最后一个 case 语句的后面加上一条 break语句。

(之所以这么写是可以避免出现在以前的最后一个 case 语句后面忘了添加 break语句)。

2.2.2default子句

当所有case条件都不满足时就会执行default语句

3、循环语句

3.1、while循环

while 语法结构

while(表达式)
    循环语句;

while语句执行的流程:

在屏幕上打印0-10的数字。

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

3.1.1while中的break和continue

break:跳出整个循环

continue:跳过一次循环

3.2、for循环

3.2.1、语法

for(表达式1; 表达式2; 表达式3)

    循环语句;

表达式1

        表达式1为初始化部分,用于初始化循环变量的。

表达式2

        表达式2为条件判断部分,用于判断循环时候终止。

表达式3

        表达式3为调整部分,用于循环条件的调整。

for循环的执行流程

3.2.2、break和continue在for循环中

        与while循环相同

3.2.3、for语句的循环控制变量

        1、不要在循环体内修改循环变量防止死循环

        2、采用前闭后开区间写法

for(i=0;i<10;i++) 
{}

3.2.4、for循环的变种

#include <stdio.h> 
int main() 
{ 
    for(;;) 
    { 
        printf("hehe\n"); 
    }    
    //for循环中的初始化部分,判断部分,调整部分是可以省略的,但是不建议初学时省略,容易导致问 题。     return 0; 
}

3.3do…while()循环

3.3.1、语法

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

3.3.2、执行流程

3.3.3、 do语句的特点

        先执行一次循环体

3.3.4、break和continue

        同for循环

4、goto语句

语法格式:

again:

goto again;

使用场景:

跳出多层循环


版权声明:本文为HyperMyteki原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。