选择结构语句:if else,if -else if-else,switch-case

目录

1.if-else

2.1 if-else if -else if.........else if

2.1.1   if(1),if(2)...if(n)和 if-else if.....else if 的区别

2.2 if-else if -else if.........else if-else

3.switch-case

3.1 switch-case

3.2switch-case-default


1.if-else

if-else 结构只执行if 的语句或者else 的语句,必会执行其中一个。当if条件成立时,执行语句1,跳出该选择结构;否则执行else后的语句2

int a=6;

if(a>5)//满足条件,执行语句1

{

a++;//语句1

}

else

{

a=a+1;//语句2

}

2.if -else if-else

2.1 if-else if -else if.........else if
2.1.1   if(1),if(2)...if(n)和 if-else if.....else if 的区别

if(1),if(2)...if(n)每个语句是相互独立的,互不影响,即if(1)条件成不成立并不影响后面的if判断和执行,

if-else if.....else if是互斥的,该结构里面只能执行一个,一旦其中一个条件成立,则行该条件对应的语句,其他判断语句都不会执行

if-else if-else if.....else if 结构只执行if-else if中的一个语句,也就是当其中一个条件(if或者else if判断条件)满足时则执行,执行后即跳出该选择结构。当if条件成立时,执行语句1,跳出该选择结构;否则判断if后的else if条件,一旦条件满足则执行当前语句,然后跳出该选择结构。

int a; //成绩

if(a>=90)

{

printf("excellent“);//执行语句1

}

else if(80=<a<90)

{

printf("good“);//执行语句2

}

else if(70=<a<80); 

{

printf("ordnary“);//执行语句3

}

else if(60=<a<70)

{

printf("pass”); //执行语句4

}

当a=92,执行语句1;当a=72,执行语句  ;3当a=50,一句都不执行

2.2 if-else if -else if.........else if-else

if-else if-else if.....else if -else结构会执行if 的语句或者else if的语句或者else的语句,必会执行且只能其中一个。当if条件成立时,执行语句1,跳出该选择结构;不成立则接着判断if后的else if条件,一旦条件满足则执行当前语句,然后跳出该选择结构,if和else if的条件都不满足,则执行else后的语句。

int a; //成绩

if(a>=90)

{

printf("excellent“);//执行语句1

}

else if(80=<a<90)

{

printf("good“);//执行语句2

}

else if(70=<a<80); 

{

printf("ordnary“);//执行语句3

}

else if(60=<a<70)

{

printf("pass”); //执行语句4

}

else if(a<60)

{

printf("fail”); //执行语句5

}

当a=92,执行语句1; 跳出选择结构

当a=72,执行语句 3; 跳出选择结构

当a=50,执行语句5;跳出选择结构

3.switch-case
3.1 switch-case

switch-case(break)和if-else if 类似;

switch是表达式,case是多种选择,当有case 后加break时,只能执行一种使表达式成立的常量表达式

switch (表达式)
{
    case 常量表达式1:    语句1;

    //break;
    case 常量表达式2:    语句2;

     //break;
       ┇
    case 常量表达式n:    语句n;

         //break;
}

当switch后面括号内“表达式”的值与某个case后面的“常量表达式”的值相等时,就执行此case后面的语句。执行完一个case后面的语句后,流程控制转移到下一个case继续执行。如果你只想执行这一个case语句,不想执行其他case,那么就需要在这个case语句后面加上break,跳出switch语句。

3.2switch-case-default

switch-case(break)-default和if-else if-else类似;

switch (表达式)
{
    case 常量表达式1:    语句1;

        break;
    case 常量表达式2:    语句2;

        //break;
       ┇
    case 常量表达式n:    语句n;

       //break;
    default:        语句n+1;

      //break;
}

当switch后面括号内“表达式”的值与某个case后面的“常量表达式”的值相等时,就执行此case后面的语句。执行完一个case后面的语句后,流程控制转移到下一个case继续执行。如果你只想执行这一个case语句,不想执行其他case,那么就需要在这个case语句后面加上break,跳出switch语句。

若所有的 case 中的常量表达式的值都没有与 switch 后面括号内“表达式”的值相等的,就执行 default 后面的语句,如果 default 是最后一条语句的话,那么其后就可以不加 break,因为既然已经是最后一句了,则执行完后自然就退出 switch 了。

也可以不要 default 语句,就跟 if…else 最后不要 else 语句一样。但最好是加上,后面可以什么都不写,但是后面的冒号和分号千万不能省略,省略了就是语法错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值