C语言:if、if...else、if...else if ...else、if...if...if 语句的区别

1.只有if的语句

    结构:

if(条件)
{
   语句1; //若符合条件,则执行语句1。然后顺序执行if之后的语句。
}

语句2;   //若不符合条件,则跳出if判断,顺序直接执行接下来的语句。
……………;
 

  举例:

   老王老婆对老王说:你去超市看看有没有陈醋(判断条件),有的话买一瓶(语句1),然后回来(语句2)

  使用场景:

   当满足某个条件时,执行某个操作,而不满足该条件时则不做任何操作,顺序执行if之后的语句。

   相关习题:两个数比大小

2.if...else 语句

    结构:

if(条件)
{
   语句1;  //若符合条件,则执行语句1,然后顺序执行if之外的(语句3·····)
}
else
{
   语句2; //若符合条件,则执行语句2,然后顺序执行if之外的(语句3·····)
}

语句3;
......

   举例:

    老王老婆对老王说:你去超市看看有没有陈醋(判断条件),有的话买一瓶陈醋(语句1),没有的话买一瓶米醋(语句2),然后回来(语句3)

   使用场景:

    当满足给定条件时,执行某个操作,当不满足给定条件时,执行另一个操作;然后顺序执行后边的语句。(和只有if的区别: 如果不满足条件一个是执行另一个操作然后往下执行,而一个是什么都不做,直接往下执行。)

   相关习题:两个数比大小

3. if...else if ...else 多分支if语句

      结构

if(条件1)
	语句1;     //若满足条件1,则执行语句1。

else if(条件2) //若不满足条件1,则判断是否满足条件2,满足则执行语句2。
	语句2;
	.
	.
	.
else if(条件n) //若条件1~n-1 均不满足,则判断是否满足条件n,满足则执行语句n
    语句n;      

else
	语句n+1;    //若所有条件都不满足,则执行语句n+1。

    多分支if执行流程:

     ①依次判断条件1~n是否满足,满足则执行后边的语句;

     ②若所有的条件均不满足,则执行语句n+1;

     ③只要一个条件满足,并执行了与它相对应的语句,则其他语句都不会被执行。(即多分支if语句最终只有一个出口)

        相关文章:C语言:多种方法实现分段函数求值

多分支if语句和前两个语句的区别在于:它对多种情况进行分析,

并给出相应的语句,而之前的两个只有一种情况的分析,但都给出了对应的语句。

 4. if...if...if 多个if语句

     结构

if(条件1)
	语句1;

if(条件2)
	语句2;

if(条件3)
	语句3;

与多分支if的区别在于,无论条件1是否满足,接下来的条件都会被逐个判断,

只要满足,对应的语句就会被执行,也就是说不只有一个出口。 

而多分支if只要有一个条件被满足,则只会执行与之对应的语句,然后跳出整个判断。

   相关文章:C语言:多种方法实现分段函数求值 

  举例演示

多个if语句:

int i=0;
if(i==0)
{
	i++;
	printf("aaa");  //第一个if运行完,i=1 ,并输出aaa
}      

if(i==1)           
	printf("bbb");  //满足条件,并输出bbb

if(i==2)
	printf("ccc");   

最终输出:aaabbb
即在多个if语句中, 所有的if都会进行判断,
所以在满足a==0时, 执行i++,并输出aaa,
当进行a==1判断时,也符合,故因此输出bbb
而i==2 不满足,因此没有执行语句 printf("ccc"); 

if...else if ...else多分支if语句:

int i=0;
if(i=0)
{
	i++;             //满足条件i==0;因此输出 aaa 
	printf("aaa");
}   
   
else if(i==1)
	printf("bbb");

else
	printf("ccc");   


最终输出:aaa
在多分支if语句中,只要有一个条件满足,则执行对应语句,
其余条件不再判断,直接跳出整个if语句,继续执行之后的语句


 如有不足,欢迎指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值