美文网首页C语言程序员
C语言编程学习选择结构之 switch条件语句

C语言编程学习选择结构之 switch条件语句

作者: 小辰带你看世界 | 来源:发表于2018-05-02 00:39 被阅读0次

    C语言是面向过程的,而C++是面向对象的

    C和C++的区别:

    C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

    C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

    C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

    switch条件语句

    小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

    switch 条件语句也是一种很常用的选择语句,和if条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码。例如,在程序中使用数字1~7来表示星期一到星期天,如果想根据某个输入的数字来输出对应中文格式的星期值,可以通过下面的一段伪代码来描述:

    //用于表示星期的数字

    如果等于1,则输出星期一

    如果等于2,则输出星期二

    如果等于3,则输出星期三

    如果等于4,则输出星期四

    如果等于5,则输出星期五

    如果等于6,则输出星期六

    如果等于7,则输出星期天

    如果不是1~7,则输出此数字为非法数字

    对于上面一段伪代码的描述,大家可能会立刻想到用刚学过的 if…else if…else语句来实现,但是由于判断条件比较多,实现起来代码过长,不便于阅读。这时就可以使用C语言中的switch语句来实现这种需求。在switch语句中switch关键字后面有一个表达式,case关键字后面有目标值,当表达式的值和某个目标值匹配时,会执行对应case下的语句。接下来通过一段伪代码来描述switch语句的基本语法格式,具体如下:

    switch (表达式)

    {

    case 目标值1:

    执行语句1

    break;

    case 目标值2:

    执行语句2

    break;

    ……

    case 目标值n:

    执行语句n

    break;

    default:

    执行语句n+1

    break;

    }

    在上面的语法格式中,switch语句将表达式的值与每个case中的目标值进行匹配,如果找到了匹配的值,就会执行相应case后的语句,否则执行default后的语句。其中,switch语句中的break关键字的作用是跳出switch语句即可。

    接下来通过一个案例来实现根据数字输出中文格式的星期的功能:

    #include

    int main()

    {

    int week = 5;

    switch (week)

    {

    case 1:

    printf("星期一");

    break;

    case 2:

    printf("星期二");

    break;

    case 3:

    printf("星期三");

    break;

    case 4:

    printf("星期四");

    break;

    case 5:

    printf("星期五");

    break;

    case 6:

    printf("星期六");

    break;

    case 7:

    printf("星期天");

    break;

    default:

    printf("输入的数字不正确...");

    break;

    }

    return 0;

    }

    运行结果如图所示:

    小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

    例中,由于变量week的值为5,整个switch语句判断的结果满足case 5的条件,因此打印“星期五”。程序中的 default 语句用于处理和前面的case都不匹配的情况,将第5行代码替换为int week = 8,再次运行。

    输出结果如图下所示:

    在使用switch语句的过程中,如果多个case条件后面的执行语句是一样的话,则该执行语句只需书写一次即可,这是一种简写的方式。例如,使用数字1~7来表示星期一到星期天,当输入的数字为1、2、3、4、5时视为工作日,否则视为休息日,这时如果需要判断一周中的某一天是否为工作日,就可以采用switch语句的简写方式,具体如例所示:

    #include

    int main()

    {

    int week = 2;

    switch (week)

    {

    case 1:

    case 2:

    case 3:

    case 4:

    case 5:

    //当 week 满足值 1、2、3、4、5 中任意一个时,处理方式相同

    printf("今天是工作日 ");

    break;

    case 6:

    case 7:

    //当 week 满足值 6、7 中任意一个时,处理方式相同

    printf("今天是休息日 ");

    break;

    }

    return 0;

    }

    运行结果如图所示:

    小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

    当变量week的值为1、2、3、4、5 中任意一个值时,处理方式相同,都会打印“今天是工作日”。同理,当变量week值为6、7中任意一个值时,打印“今天是休息日”。

    这些是C/C++能做的

    服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等

    相关文章

      网友评论

        本文标题:C语言编程学习选择结构之 switch条件语句

        本文链接:https://www.haomeiwen.com/subject/dhatrftx.html