C语言重要知识点总结【6】:C语言9种控制语句(详解)

C语言重要知识点总结【6】:C语言9种控制语句(详解)

目录:

  • 大一下学期学习了C语言、暑假在家没事又把C语言复习了一遍。因此,趁热打铁,把所学内容写成笔记,以便以后复习,也希望能够帮助大家学好C语言。
    以下内容如有错误,请大家在评论区指正,谢谢支持,共同进步。 go、go、go !!!

    一、控制语句及其用处(表格)

    控制语句,用于完成一定的控制功能。C语言 只有 9种控制语句,它们的形式是:

    共9个 表现形式 用处
    1 if()···或 if()···else··· 条件语句
    2 for()··· 循环语句
    3 while()··· 循环语句
    4 do···while() 循环语句
    5 continue 结束本次循环语句
    6 break 中止执行 switch 或 循环语句
    7 switch 多分支选择语句
    8 return 从函数返回语句
    9 goto 转向语句,在结构化的程序中基本不用goto语句

    在上边的9种语句表示形式中:

    () 表示括号中是一个“判别条件
    **···** 表示 内嵌的语句

    二、控制语句详细表示(图片)

    下面这张图片是《C程序设计》书附录中的一个片段,我个人感觉这张图片对9种控制语句概括的内容写得也很不错。

    算是上边内容的一个补充吧:上边表格中的“判别条件”实际就是由表达式构成

    在这里插入图片描述

    三、9种控制语句(详解)

    1. if()···else··· 语句

    if(a>b)
        max=a;
    else
        max=b;

    x>y判别条件
    max=a;max=b;是语句,这两个语句内嵌在if···else语句中,这个if···else语句的作用是:先判别条件a>b是否成立,如果a>b成立,就执行内嵌语句max=a;,否则就执行内嵌语句max=b;

    选择结构中条件语句一共有3种形式:

    ①第一种:

    if(表达式)  语句1 (没有else部分)

    ②第二种:

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

    ③第三种:

    if(表达式)  语句1
    else if(表达式)  语句2
    else if(表达式)  语句3
    ······
    else  语句 n

    2. break语句 和 continue语句

    在介绍break语句 和 continue语句在程序中作用之前我们先看一下下面3个简单的程序,我会在最后用图片总结出 break语句 和 continue语句的区别:

    题目:输出以下4X5矩阵 程序:…………………………………………

    #include<stdio.h>
    int main()
    {<!-- -->
        int i,j,n=0;
        for(i=1;i<=4;i++)
        {<!-- -->
            for(j=1;j<=5;j++)
            {<!-- -->
                printf("%d\t",i*j);
                n=n+1;
                if(n%5==0)
                    printf("\n");
            }  
            printf("\n");
        }
        return 0;
    }

    运行结果:…………………………………………
    在这里插入图片描述

    程序:…………………………………………

    break语句在程序中的应用:

    #include<stdio.h>
    int main()
    {<!-- -->
        int i,j,n=0;
        for(i=1;i<=4;i++)
        {<!-- -->
            for(j=1;j<=5;j++,n++)
            {<!-- -->
                if(n%5==0)
                    printf("\n");
                if(i==3 && j==1) break;
                    printf("%d\t",i*j);      
            }  
        }
        printf("\n");
        return 0;
    }

    运行结果:………………………………………… continue语句在程序中的应用:

    程序:…………………………………………

    #include<stdio.h>
    int main()
    {<!-- -->
        int i,j,n=0;
        for(i=1;i<=4;i++)
        {<!-- -->
            for(j=1;j<=5;j++,n++)
            {<!-- -->
                if(n%5==0)
                    printf("\n");
                if(i==3 && j==1) continue;
                    printf("%d\t",i*j);      
            }  
        }
        printf("\n");
        return 0;
    }

    运行结果:…………………………………………

    在这里插入图片描述

    break语句 和 continue语句对比

    图中两个程序中的代码就红方框中不一样,其它代码完全相同,那么我们从中可以得到什么结论:

    在这里插入图片描述

    从上图的对比情况,可以很容易看出:

    break 直接跳出 i=3(1<= j <=5)的 整个循环
    continue 是只循环结束 j=1(i=3) 本次循环

    continue 和 break语句在循环结构 for、while、do···while() 语句中用的都比较多。

    但,continue语句一般只用于循环语句中;而break语句 不仅可以在循环语句中可以使用,在switch语句中也会经常使用到,在switch语句中的运用在后面对switch 语句百分制成绩中介绍。

    3. switch 语句

    switch语句的一般形式如下:

    switch(表达式)
    {<!-- -->
        case 常量表达式1 : 语句1
        case 常量表达式2 : 语句2
        ···
        case 常量表达式n : 语句n
        default :  语句n+1
    }

    前缀case 和 default 本身并不改变控制流程,它们之起标号作用,在执行上一个case后标志的语句后,继续顺序执行下一个case 前缀所标志的语句,除非上一个语句中最后用break语句是控制转出switch结构。

    注意: ②case 后面的常量必须互不相同

    下面我们看一个switch实例:

    switch 语句(内含break语句)

    题目:要求按照考试成绩的等级输出百分制分数段,A等为85分以上,B等为70 ~ 84分,C等为60 ~ 69,D等为60分以下。成绩等级由键盘输入。

    switch语句:多分支选择语句

    #include<stdio.h>
    int main()
    {<!-- -->
        char grade;
        printf("输入等级:");
        scanf("%c",&grade);
        printf("成绩范围:");    //输入大写字母:A B C D 
        switch(grade)
        {<!-- -->            
            case 'A':printf("85~100");break;
            case 'B':printf("70~84");break;
            case 'C':printf("60~69");break;
            case 'D':printf("<60\n");break;
            default: printf("enter data error!\n");break;   //输入数据不在范围内 
        }
        return 0;
    }

    执行结果…………………………

    在这里插入图片描述

    其它文章

    1. c语言百分制成绩转换的2种方法(switch语句或if语句)
    2. 判断闰年的3种方法(判断+范围输出)

    4. while 语句

    while语句的一般形式如下:

    while(表达式)  语句

    下面举一个简单的例子:

    问题:求1+2+3+…+100

    程序:………………………………

    #include<stdio.h>
    int main()
    {<!-- -->
        int i=1,s=0;
        while(i<=100)
        {<!-- -->
            s=s+i;   //累加求和
            i++;
        }
        printf("s=%d\n",s,i);
        return 0;
    }

    执行结果…………………………

    在这里插入图片描述

    5. do()···while 语句

    do()···while语句的一般形式:

    do
        语句
    while(表达式);

    【注意】while(表达式)后面要以 ; 结尾

    问题:求1+2+3+…+100

    程序:……………………………………

    #include<stdio.h>
    int main()
    {<!-- -->
        int i=1,s=0;
        do
        {<!-- -->
            s=s+i;  //累加求和
            i++;
        }
        while(i<=100);
        printf("s=%d\n",s,i);
        return 0;
    }

    执行结果…………………………………

    在这里插入图片描述

    6. for 语句

    for语句的一般形式为:

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

    问题:求1+2+3+…+100

    程序:………………………………

    #include<stdio.h>
    int main()
    {<!-- -->
        int i,sum=0;                       
        for(i=1;i<=100;i++)
            sum+=i;    //累加求和
        printf("sum=%d\n",sum);
        return 0;
    }

    执行结果:………………………………
    在这里插入图片描述

    7. for、while、do···while() 语句对比

    for语句与while语句对比

    3种循环都可以用来处理同一问题,一般情况下他们可以相互代替。而for语句在有关循环的问题中是最常用的,for语句更为灵活,不仅可以用于 循环次数已确定 的情况,还可以用于循环次数不确定而只给出循环条件的情况,它完全可以代替while语句

    for(表达式1;表达式2;表达式3) 
        语句
    表达式1;
    while(表达式2;)
    {<!-- -->
        语句
        表达式3;
    }

    while语句与do···while()语句对比

    do···while()语句的执行过程:先执行一次循环体,然后再检查条件是否成立,若成立,在执行循环体。do···while()语句至少要执行一次循环体

    while语句:先判断条件是否成立,若成立再执行循环体。

    for、while、do···while() 三种循环语句可以处理很多复杂的问题,我们就不一一介绍了,如果你感觉对于上面的循环内容还没有看够,可以看一下下面几个关于循环的几个算法实例

    1. 素数(判断,统计,范围输出) 3. 水仙花数(输出全部水仙花数)

    8. goto 语句

    goto:转向语句,在结构化的程序中基本不用goto语句,在这里就不作介绍了。

    9. return 语句

    return:从函数返回语句

    几乎我们写的每一个程序一般都要使用return语句,作用就是从函数返回语句。一个函数可以有一个以上的 return语句 ,执行到那个return语句,哪一个return语句起作用。return后面的括号可以不要:

    return z;return(z); 等价

    return 0;
    return z;
    return(z);

    函数的返回值是通过函数中的return语句获得的:

    主函数main的返回值为 0 时表示程序正常退出
    返回值为非零时,表示程序异常退出

    最简单的程序(Hello world!及详解)

    最后推荐文章:

    以上内容如有错误,请大家在评论区指正,谢谢支持,共同进步。 加油!!!
    如果你感觉我写的内容对你有一定的帮助,请给我点一个 【赞】作为您对我的鼓励, 谢谢!!

    在这里插入图片描述

posted @ 2020-12-29 11:36  刘桓湚  阅读(2287)  评论(0编辑  收藏  举报