文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-06-26 06:13

关注

怎么分析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("及格");elseprintf("不及格");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("星期六");elseprintf("星期日");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语言的选择结构的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯