结构和流程如下:
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语句最大的地方。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)