C语言:if语句的嵌套

任务代码:

关于分段函数的求解:

题目:

#include <stdio.h>  
#include <math.h>  
int main ( )  
{  
    double x, y;  
    scanf("%lf", &x);  
    if (x<2)  
        y=x;  
    else if(x<6)  //此处已经自然满足x>=2的条件  
        y=x*x+1;  
    else if(x<10)  
        y=sqrt(x+1);  
    else //自然是x>=10的时候执行下一语句  
        y=1/(x+1);  
    printf("%lf\n", y);  
    return 0;  
}  

油量监控:

#include <stdio.h>

int main ( )  
{  
    double fuel_reading;  
  
  
    printf("输入油量表读数(0-1): ");  
    scanf("%lf", &fuel_reading);  
  
  
    //下面加上花括号使if-else能够正确匹配  
    if (fuel_reading < 0.75)  
    {  
        if (fuel_reading < 0.25)  
            printf("油量低,注意!\n");  
    }  
    else  
    {  
        printf("高油量,不必停!\n");  
    }  
    return 0;  
}  
}

一元二次方程的求解:


#include <stdio.h>  
#include <math.h>  
int main ( )  
{  
    float a,b,c,d,pr,pi,x1,x2;  
    scanf("%f %f %f",&a,&b,&c);  
    printf("a=%f,b=%f,c=%f\n",a,b,c);  
    if(a==0)  
    {  
        if(b!=0)  
            printf("only one solution x=%f\n", -c/b);  
        else if(c!=0)  
            printf("no solution\n");  
        else  
        printf("x is any value\n");  
    }  
    else  
    {  
        d=b*b-4*a*c;  
        if(d>=0)  
        {  
            x1=(-b+sqrt(d))/(2*a);  
            x2=(-b-sqrt(d))/(2*a);  
            printf("x1=%6.2f, x2=%6.2f\n",x1,x2);  
        }  
        else  
        {  
            pr=-b/(2*a);  
            pi=sqrt(-d)/(2*a);  
            printf("x1=%6.2f +%6.2fi\n",pr,pi);  
            printf("x2=%6.2f -%6.2fi\n",pr,pi);  
        }  
    }  
    return 0;  
}  


执行情况:


知识总结:

多分支结构经常用于求分段函数的值。


另外能用多分钟尽量拒绝单分支因为这样可以实诚徐避免重复运算!


为了避免误用,最好使每一层内嵌的if语句都有对应的else

心得体会:

iif语句的嵌套,很考验一个人的逻辑归纳能力,网内网运用很好的if语句嵌套,能将繁琐的代码简化很多,这是一种有效的代码优化过程的!

在未来的学习中,多实用if语句的嵌套,可以驯良一个人统筹事情的完整能力!


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值