[零基础学软件开发12]选择结构if语句介绍之5

声明:我写这一系列文章在讲述过程中可能用了一些大白话,也可能有的地方墨迹了一些,但旨在把一些没有基础但很想学软件开发的一些人领进门来,另外该文章我同时也在百度经验发表。

一个if语句里可以嵌入一个或多个if语句,当你需要书写嵌套if语句的时候,建议你采取缩进的形式,并且标明大括号,这样代码清晰容易阅读,类似下面的格式

if(条件1)

{

     if(条件2)

    {

    }

    else

    {

    }

}

下面我写一个嵌套的例子你可以分析一下

main()

{

  int a;//表示成绩

  printf("请输入成绩:");

  scanf("%d",&a);

  if(a<0||a>100)

  {

    printf("请输入合法成绩");

  }

  else

  {

          if(a>60)

          {

            printf("及格\n");

          }

          else

          {

            printf("不及格\n");

          }

  }

}

第二个if嵌入进了第一个if语句的else内,如果第一个if的条件成立了,那第二个if不会得到执行的机会。

上面的例子还可以这样写

main()

{

  int a;//表示成绩

  printf("请输入成绩:");

  scanf("%d",&a);

  if(a>=0&&a<=100)

  {

      if(a>60)

          {

            printf("及格\n");

          }

          else

          {

            printf("不及格\n");

          }

  }

  else

  {

   printf("请输入合法成绩");

  }

}

第二个if嵌入进了第一个if语句内,如果第一个if的条件成立了,那第二个if才会得到执行的机会。

你把一个if语句嵌入到另一个if语句的if或者else或者else if的大括号内都是可以的。

下面我出一个练习题,你可以试着编写一下。

我们假定会员卡的密码是256,现在要求用户从键盘输入一个整数密码,如果密码正确输出欢迎访问,用户可以有三次输入机会,如果三次都输入错误了那输出您的卡已被锁定请至服务台解锁。

下面是我写的嵌套if语句实现的代码:

main()

{

  int a;//表示密码

  printf("请输入一个整数的会员卡密码:");

  scanf("%d",&a);

  if(a==256)

  {

     printf("欢迎访问!\n");

  }

  else

  {

     printf("密码输入错误,还有2次机会,请再次输入密码:");

     scanf("%d",&a);

     if(a==256)

     {

        printf("欢迎访问!\n");

     }

     else

     {

        printf("密码输入错误,还有1次机会,请再次输入密码:");

        scanf("%d",&a);

        if(a==256)

        {

           printf("欢迎访问!\n");

        }

        else

        {

           printf("密码错误次数超限你的卡号已被锁定,请至服务台解锁!\n");

        }

     }

  }

}

上面的写法代码虽然有点多,但是电脑执行起来不会有多余的判断步骤,另外逻辑思维也比较清晰,便于阅读。

请看下面的这种实现方式:

main()

{

  int a;//表示密码

  printf("请输入一个整数的会员卡密码:");

  scanf("%d",&a);

  if(a!=256)

  {

     printf("密码错误,你还有2次机会,请再次输入密码:");

     scanf("%d",&a);

  }

  if(a!=256)

  {

     printf("密码错误,你还有1次机会,请再次输入密码:");

     scanf("%d",&a);

  }

  if(a!=256)

  {

     printf("密码错误次数超限请至服务台解锁。\n");

  }

  else

  {

     printf("欢迎访问!");

  }

}

上面的代码也能实现题目要求,你可以运行下试试,而且书写起来代码量小了,但电脑判断的次数却增多了,逻辑思维也比较跳跃不太容易阅读。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值