本文通过一个分段函数讲解 多分支if语句 与 多个 if 语句 的区别

 相关文章:C语言:if、if...else、if...else if ...else、if...if...if 语句的区别

 题目

  方法一:使用多个if对x的范围进行判断

#include<stdio.h>
#include<math.h>
int main ()
{
	double x,y;       //使用多个if对x的范围进行判断 
	scanf("%lf",&x);	
	if(x<-3)
	  y=x+1;		
	if(x>=-3 && x<5)
	  y=x*x+1;		
	if(x>=5 && x<10)
	  y=fabs(x-6);		
	if(x>=10)
   	  y=1/(x+1);		
	printf("%.2lf",y);
	return 0;
	 
}

方法二:使用多分支if语句

#include<stdio.h>
#include<math.h>
int main ()
{
	double x,y;
	scanf("%lf",&x);
	if(x<-3)      //判断的入口,若满足条件,满足以下任一条件便结束判断 
    	y=x+1;
	else if (x<5)  //程序能够执行到这一句,自然已经满足x >= -3
	    y=x*x+1;
	else if(x<10)  //程序能够执行到这一句,自然已经满足x >= -5
	    y=fabs(x-6);
	else           程序能够执行到这一句,说明x不满足之前的条件 
	    y=1/(x+1);   
    printf("%.2lf",y);
	return 0;	    
}
 

总结

通过以上两种方法可以看出,方法二使用的多分支if语句更加简洁,,而方法一的程序存在对x的范围重复判断的问题。

多分支if语句的上下语句的衔接关系更强。正确的使用if语句可以做到化繁为简,同时也能锻炼我们的逻辑能力。

相关文章:C语言:if、if...else、if...else if ...else、if...if...if 语句的区别

如有不足,欢迎指正。

更多推荐

C语言练习:多种方法实现分段函数求值