C语言与单机--选择语句switch

来源:本站
导读:目前正在解读《C语言与单机--选择语句switch》的相关信息,《C语言与单机--选择语句switch》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《C语言与单机--选择语句switch》的详细说明。
简介:switch语句是多项选择语句,if...else..嵌套也是多通道选择语句。他们的之间有区别吗?有!但是在有些时候可以相互替换。

switch语句是多项选择语句,if...else..嵌套也是多通道选择语句。他们的之间有区别吗?有!但是在有些时候可以相互替换。

我们来看一下switch的语句结果

switch(表达式)

{

case label1:

statement1

break;

case label2:

statement2

break;

case label3:

statement3

break;

.......

......

case labeln

statementn

break;

defaule:

statement_dafault

break;

}

我们来分析一下switch 语句的运行过程:

1,首先计算“表达式”的值value

2,value是否与label1相等,如果相等执行 statement1语句,beak退出 switch.否则顺序向下执行。

3,value是否与label2相等,如果相等执行 statement2语句,beak退出 switch.否则顺序向下执行。

4,value是否与label3相等,如果相等执行 statement1语句,beak退出switch.否则顺序向下执行。

......

5,value是否与labeln相等,如果相等执行 statement1语句,beak退出 switch.否则顺序向下执行。

6,value与lable1、lable2、lable3.....lablen任何一个都不相同。执行

statement_dafault.退出switch语句。

我们根据上一节内容分析,应该可以使用if...else..嵌套。他们区别在

《C primer plus》有介绍。labeln是一个点。不能表达一个区段。另外当你选择项太多时,尽可能使用switch。因为switch非常清晰。

假如我们有8个独立键盘,当有任意一个键(只考虑一个键,不考虑组合键)按下时使用switch分析到底是哪个键盘按下。我们随便写一段代码来熟悉一下switch。

int main( )

{

unsigned char key;

while(1)

{

key=P0;

switch(key)

{

case 0xFE:

printf("0号键盘按下!");

break;

case 0xFD:

printf("1号键盘按下!");

break;

case 0xFB:

printf("2号键盘按下!");

break;

case 0xF07:

printf("3号键盘按下!");

break;

case 0xEF:

printf("4号键盘按下!");

break;

case 0xDF:

printf("5号键盘按下!");

break;

case 0xBF:

printf("6号键盘按下!");

break;

case 0x7F:

printf("7号键盘按下!");

break;

case 0xFF:

printf("无键盘按下!");

break;

default:

printf("两个以上键盘按下!");

break;

}

}

}

这段断码不实用,因为没有考虑防抖。但是未我们展示switch语句的使用方法。简单清晰!这段代码功能使用if...else..嵌套一定能实现。如果有兴趣可以自己动手实现一下。比较一下两者的区别。

最后强调一下,break也是一条单独语句。他有另外一个作用是跳出一层循环。

提醒:《C语言与单机--选择语句switch》最后刷新时间 2024-03-14 01:04:27,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《C语言与单机--选择语句switch》该内容的真实性请自行鉴别。