c语言入门:[10]选择结构if语句介绍之3

2025-10-23 11:20:39

这节我把那个会员卡的例题再改一改:如果会员卡号是6开头,输出贵宾你好,你可以享受九折优惠,否则输出普通会员享受九五折优惠,以我们现在掌握的if语句我们可以这样写代码

main()

{

    char v1,v2,v3,v4,v5;

    printf("请输入5位会员卡号:");

    scanf("%c%c%c%c%c",&v1,&v2,&v3,&v4,&v5);

    if(v1=='6')

    {

        printf("贵宾你好,你可以享受九折优惠\n");

    }

    if(v1!='6')

    {

        printf("会员你好,你可以享受九五折优惠\n");

    }

}

上面的例子是一个典型的两分支结构,就是只有两种情况,而且肯定有一种情况是成立的,也就是说程序运行的时候要么执行第一个if里的代码要么执行第二个if语句里的代码。按上面的写法是可以的,但我们按照程序执行的步骤解析一下你琢磨琢磨。

假如v1里面的值是6 

程序执行到第一个if语句时先判断(v1=='6'),结果条件为真,执行if语句的大括号里的代码

程序执行到第二个if语句时还要判断(v1!='6'),结果条件为假,不执行if语句的大括号里的代码

其实我们完全没有必要判断两次,因为这两个条件表示两个完全相反的情况,第一个if成立的话第二个if就不可能成立,第一个if不成立则第二个if一定成立。对于这种两分支(就是两种情况,两种选择的意思)的选择结构我们在代码里可以用 if else 来实现,else 可以理解成否则的意思,它代表的是if小括号里的条件的相反情况,例如 if的条件是 a>0 那else 就表示a<=0的情况。上面那道例题的if else 写法如下:

main()

{

    char v1,v2,v3,v4,v5;

    printf("请输入5位会员卡号:");

    scanf("%c%c%c%c%c",&v1,&v2,&v3,&v4,&v5);

    if(v1=='6')

    {

        printf("贵宾你好,你可以享受九折优惠\n");

    }

    else

    {

        printf("会员你好,你可以享受九五折优惠\n");

    }

}

对比之前的写法我们看这样写简洁明了,条件只判断一次。第一种写法用了两个if语句,这样写用了一个if语句。

有的人可能会产生疑问了,为什么第二种写法是一个if语句呢?其实else就是if语句的一个组成部分,只不过有的时候我们不需要它可以把它省略掉,请看下面的注释。

 if(v1=='6')

    {

        printf("贵宾你好,你可以享受九折优惠\n");

    };//你如果在这里加分号表示if语句到这里就结束了,那运行程序的时候就会报错,就会提示else前面有错误,因为那个else不属于if了,被孤立了出来,而else是不能单独存在的所以会报错。

    else

    {

        printf("会员你好,你可以享受九五折优惠\n");

    };//你如果在这里加分号是完全没有问题的因为if语句本来到这里就结束了,运行也不会报错。

现在我写一个程序

main()

{

   int a;

   printf("请输入一个整数:");

   scanf("%d",&a);

   if(a<0)

   {

     printf("你输入的是一个负数\n");

   }

   if(a==0)

   {

     printf("你输入的是零\n");

   }

   else

   {

    printf("你输入的是正数\n");

   }

}

运行程序我从键盘输入-1,它的执行结果是什么?你可以先思考下再看答案。

c语言入门:[10]选择结构if语句介绍之3

我们来分析下为什么会是两个输出结果。

首先你要确定程序里是两条if语句,第一条if语句跟第二条if语句没有任何关系,代码从上到下执行,执行完第一个if语句肯定要执行第二个if语句。

因为a的值是-1所以第一个if语句的条件成立,输出你输入的是一个负数。

第二个if语句是一个两分支结构,if语句的条件成立执行第一个大括号里的代码,不成立执行else大括号里的代码,显然条件不成立所以执行了else里面的输出,输出你输入的是正数。

我们分析上面的例子应该是一个三分支的结构,也就是说有正数、负数、零三种选择,有的时候我们还有比三种选择更多的情况比如会员卡的种类有金卡、银卡、普通卡、钻石卡等等,那下节我们就来学习多分支选择结构。

(共篇)上一篇:选择结构if语句介...|下一篇:
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
相关推荐
  • 阅读量:104
  • 阅读量:102
  • 阅读量:185
  • 阅读量:66
  • 阅读量:39
  • 猜你喜欢