温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么分析C语言的选择结构

发布时间:2022-01-17 16:17:46 来源:亿速云 阅读:109 作者:柒染 栏目:开发技术

怎么分析C语言的选择结构,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

    一、if-else语句

    1.单选择

    单选择通过if语句就可以实现,if语句的语法及执行流程如下:

    if(表达式)
    {
         代码块(表达式返回值为真时执行)
    }

    怎么分析C语言的选择结构

    当程序运行到if语句时,会由表达式进行判定,诺表达式的返回值为真,则进入代码块执行语句,为假便跳过代码块继续执行。(当代码块语句仅有一句时,可以省略大括号。)

    举一个简单的例子

    例:判断10是否为3的倍数

     int main()
    {
    	int i = 10;
    		if (i % 3 == 0) //表达式结果为假 
    			printf("是");//代码块内 未执行
    	return 0;
    }

     2.双选择

    双选择通过if-else语句实现,if-else语句的语法及执行流程如下:

    (else的匹配:else是和它相距的最近的if匹配的)

    if(表达式)
    {
       语句一(表达式返回值为真时执行)
    }
    else
    {
       语句二(表达式返回值为假时执行)
    }

    怎么分析C语言的选择结构

    当程序运行到if语句时,会由表达式进行判定,表达式的返回值为真,则执行语句1,为假便块执行语句2。

    举一个简单的例子

    例:判断学生分数及格 

    #include<stdio.h>
    int main()
    {
    	int i = 0;
    	scanf("%d", &i);
    	if (i >= 60)
    		printf("及格");
    	else
    		printf("不及格");
    	return 0;
    }

    3.多选择

    通过else if语句实现的多选择,else if语句的语法及执行流程如下:

    if(表达式1)
    {
       语句1 (表达式1返回值为真时执行)
    }
    else if(表达式2)
    {
       语句2 (表达式返回值为真时执行)
    }
    else if(表达式3)
    { 
        语句3(表达式返回值为真时执行)
    }
    else 
    {
       代码块(以上表达式均为假时执行)
    }

    怎么分析C语言的选择结构

    当程序运行到if语句时,会由表达式进行判定,表达式1的返回值为真,则进入if下的代码块执行语句1,为假便进入表达式2。当然if-else可以实现的分支不止这四种,通过增加else if 语句的数量便可以实现更多的选择。

    举一个简单的例子

    例:年龄分段

    #include <stdio.h>
    int main()
    {
        int age = 0;
        scanf("%d", &age);
        if (age < 18)
        {
            printf("少年\n");
        }
        else if (age >= 18 && age < 30)
        {
            printf("青年\n");
        }
        else if (age >= 30 && age < 50)
        {
                printf("中年\n");
        }
        else if (age >= 50 && age < 80)
        {
            printf("老年\n");
        }
        else
        {
            printf("老寿星\n");
        }
        return 0;
    }

    二.switch语句

    switch语句也是一种分支语句。 常常用于多分支的情况。else if 语句也能实现多分支情况,但在某些情况下使用else if来实现,会使代码过于复杂。

    比如:

    输入1,输出星期一

    输入2,输出星期二

    输入3,输出星期三

    输入4,输出星期四

    输入5,输出星期五

    输入6,输出星期六

    输入7,输出星期日

    如果使用else if 

    #include<stdio.h>
    int main()
    {
    	int day = 0;
    	scanf("%d", &day);
    	if (1 == day)
    		printf("星期一");
    	else if (2 == day)
    		printf("星期二");
    	else if (3 == day)
    		printf("星期三");
    	else if (4 == day)
    		printf("星期四");
    	else if (5 == day)
    		printf("星期五");
    	else if (6 == day)
    		printf("星期六");
    	else
    		printf("星期日");
    	return 0;
    }

     那么这个代码便会太过复杂,而使用switch就会很多

    switch语句的语法及执行流程如下:

    switch(整型表达式)
    {
        //在一个 switch 中可以有任意数量的 case 语句。
        case 整形常量表达式:
        语句;
    }

    怎么分析C语言的选择结构

    case  是一个入口,按照输入整型表达式的值进入,后按照顺序依次运行。

    单使用switch语句是无法实现分支的,需要搭配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;
    }

    输入值分别为2 4时,输出结果如下:

    怎么分析C语言的选择结构

    怎么分析C语言的选择结构

     与想要实现的效果相差甚远,而搭配break使用就能解决这个问题。

    #include <stdio.h>
    int main()
    {
        int day = 0;
        scanf("%d", &day);
        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;
    }

    怎么分析C语言的选择结构

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

     switch除了搭配break语句使用,往往也会搭配 default语句

    如果表达的值与所有的case标签的值都不匹配时,所有的语句都会被跳过。程序并不会终止,也不会报错,因为这种情况在C中并不认为是个错误。

    诺并不想忽略不匹配所有标签的表达式的值时,可以在语句列表中增加一条default子句。

    当 switch 表达式的值并不匹配所有 case 标签的值时,这个 default 子句后面的语句就会执行。

     例如:

    #include <stdio.h>
    int main()
    {
        int day = 0;
        scanf("%d", &day);
        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;
        default:
            printf("输入错误");
        }
        return 0;
    }

    怎么分析C语言的选择结构

     switch 语句可以有一个可选的 default case,出现在 switch 的结尾。default case 可用于在上面所有 case 都不为真时执行一个任务。default case 中的 break 语句不是必需的。

    C语言是什么

    C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发,使用C语言可以以简易的方式编译、处理低级存储器。

    看完上述内容,你们掌握怎么分析C语言的选择结构的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI