使用if语句实现单分支、两分支和使用switch语句实现多分支的程序程序结构和流程分别是什么?

使用if语句实现单分支、两分支和使用switch语句实现多分支的程序程序结构和流程分别是什么?,第1张

结构和流程如下:

1、if 语句有下面三种情况。

第一种,条件成立就做。不成立就不做。

if  (条件)

程序

endif

第二种,条件成立做“程序一”,不成立做“程序二”。不管条件成不成立都做。

if  (条件)

程序一

else

程序二

endif

第二种,嵌套条件语句。第一条件成立做“程序一”,不成立又进行条件二判断,条件二成立做“程序三”,条件二不成立做“程序四”。当然还可进行增加判断条件。视软件情况不同嵌套层级也不一样。

if  (条件一)

程序一

else  if (条件二)

程序二

else

程序三

endif

2、 switch语句。当switch后面的表达式的计算结果 与case 后的值相同的就执行这个case语句后的程序,执行完成跳出。 break是跳出这个语句体的词句,有的编程语言一定要加的。 当表达式计算的值没有一个与 case 后面的值相同就执行default 后面语句。

switch (表达式)

{  case  3:

表达式等于3,执行的程序。

(break)

case    2:

表达式等于3,执行的程序。

(break)

case    1:

表达式等于3,执行的程序。

(break)

case    0:

表达式等于3,执行的程序。

(break)

default:

没有匹配的条件,执行的程序。

写出if多分支语句的框架结构如下:

main()

{

int x,y

scanf("%d",&x)

if(x<1) y=x

else if(x<10)y=2*x-1

else y=3*x-11

printf("%d",y)

}

不知道你指的是不是if和case语句,我假设你是这个意思。

其实两者在逻辑效果上来讲并不会有啥区别,区别在于效率上:

举一个很简单的例子:

if(A>B) 

{

     A=B

}

else

{

    B=A 

 }

如果将这个例子放在switch 语句中,也并不是不能实现,但是实现起来可能会比较麻烦一些,因为在switch语句中 case中要求的是常量,一般是不能进行逻辑判断的, 所以这也是if语句优于switch语句的地方! 但是如果您判断的都是几个常量的数据,我建议您最好采用switch语句

switch(A)

    case:xxxx 

        ///程序代码 

        break 

    case:xxxxxx

        ///程序代码 

        break  

}

要知道常量寻址速度最快的寻址方式,所以显然用case语句执行的效率更高:

但是并不是所有的地方都能用switch语句的,要知道 case中要求的是常量,这就是限制switch语句最大的地方。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8093189.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存