选择结构和if语句

在C语言中,选择结构主要是用 if语句和switch语句实现的。if 语句共有三种形式。

f语句的3种形式

1. if(表达式)语句1

  (1)    if(x>0) y=x+2;

  (2)    if(x!=2)

             {     y++;

                     x+=3; }

这种if语句执行过程是:若表达式的值为真,则执行语句1;否则,跳过语句1。

例10、输入两个实数,要求按由小到大的顺序输出它们。

解题思路:

        输入a、b的值;

        比较a、b,若a>b,则交换a、b;

        依次输出a、b的值。

#include <stdio.h>

int main()

{ float a,b,t;

   scanf("%f%f",&a,&b);

   if(a>b)

    {  t=a;              //如果a>b,将a和b的值互换

        a=b;

        b=t;

     }

   printf("%5.2f,%5.2f\n",a,b);

   return 0;

}

2. if(表达式)语句1     else 语句2

这种if语句执行过程是:若表达式的值为真,则执行语句1;否则执行语句2 。

      特别强调,else部分是整个if语句的一个子句,它不能脱离if语句而独立存在

 例12、求一元二次方程     ax2+bx+c=0 的实根

#include <stdio.h>

#include  <math.h>

int main ( )

 {

    double a,b,c,disc,x1,x2,p,q;

    scanf("%lf%lf%lf",&a,&b,&c);

    disc=b*b-4*a*c;

    if (disc<0)

     printf(“has not real roots\n”);

    else                                    

    {  p=-b/(2*a);

      q=sqrt(disc)/(2*a);

      x1=p+q;

      x2=p-q;

      printf(“real roots:\nx1=%7.2f\nx2=%7.2f\n”,x1,x2);

     }

   return 0;

}

3. if(表达式1)语句1

    else if(表达式2)语句2

    … …

   else if(表达式m)语句m

   else 语句n

 这种if语句执行过程是:首先计算表达式1的值,…。

C在处理嵌套的if语句时,会把else子句与它上面最近的、同括号的、未配对的 if相结合。

为了避免出现类似错误,可以采取两种手段之一。

① 给内嵌的if语句添加 else子句

if(表达式1)

     if(表达式2)语句1

     else ;

     else 语句2

② 给内嵌的if语句加{ },明确内嵌if语句的范围。

if(表达式1)

    { if(表达式2)语句1}

else 语句2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值