码迷,mamicode.com
首页 > 其他好文 > 详细

第6课 - 分支语句

时间:2019-11-10 21:05:22      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:多分支   pre   bre   class   排列   int   ret   独立   efault   

if语句分析

·if语句用于根据条件选择执行语句

·else不能独立存在且总是与它最近的if相匹配

·else语句后可以连接其它if语句

  if( condition )

  {

    //statement 1

  }

  else

  {

     //statement 2

  }

 

if语句中零值比较的注意点

  bool型变量应该直接出现于条件中,不要进行比较;

  变量和0比较时,0值应该出现在比较符号的左边;

  float型变量不能直接进行0值比较,需要定义精度。

 

switch语句分析

  switch语句对应单个条件多个分值的情形;

  case语句的分支必须要有break,否则会导致分支重叠;

  default语句有必要加上,以处理特殊情况。

case语句中的值只能是整型或字符型,并且只能是常量。

case语句的排列顺序

  按字母或者数字顺序排列各条语句;

  正常情况放在前面,异常情况放在后面;

  default语句只用于处理真正的默认情况。

if和switch使用示例:

 

#include <stdio.h>

void f1(int i)
{
    if( i < 6 )
    {
        printf("Failed!\n");
    }
    else if( (6 <= i) && (i <= 8) )
    {
        printf("Good!\n");
    }
    else
    {
        printf("Perfect!\n");
    }
}

void f2(char i)
{
    switch(i)
    {
        case c:
            printf("Compile\n");
            break;
        
        case d:
            printf("Debug\n");
            break;
        
        case o:
            printf("Object\n");
            break;
            
        case r:
            printf("Run\n");
            break;
        
        default:
            printf("Unknown\n");
            break;
            
    }
}

int main()
{
    f1(5);
    f1(9);
    f1(7);
    
    f2(o);
    f2(d);
    f2(e);

    return 0;
}

switch语句和if语句相互替换后的示例

#include <stdio.h>

void f1(int i)
{
    switch( i < 6 )
    {
        case 1:
            printf("Failed!\n");
            break;
        default:
            switch( (6 <= i) && (i <= 8) )
            {
                case 1:
                    printf("Good!\n");
                    break;
                default:
                    printf("Perfect!\n");
                    break;
            }
            break;
    }
}

void f2(char i)
{
    if(c == i)
    {
        printf("Compile\n");
    }
    else if(d == i)
    {
        printf("Debug\n");
    }
    else if(o == i)
    {
        printf("Object\n");
    }
    else if(r == i)
    {
        printf("Run\n");
    }
    else
    {
        printf("Unknown\n"); 
    }
}

int main()
{
    f1(5);
    f1(9);
    f1(7);
    
    f2(o);
    f2(d);
    f2(e);

    return 0;
}

 

小结:

  ·if语句适用于复杂逻辑进行判断的情形中

  ·switch语句适用于对离散值进行判断的情形中

  ·if和switch语句在功能上可以相互替换

  ·if语句对于“按片”分支判断的情形更加简洁

  ·switch语句对于多分支判断的情形更加简洁

 

 

 

 

 

 

 

 

 

 

第6课 - 分支语句

标签:多分支   pre   bre   class   排列   int   ret   独立   efault   

原文地址:https://www.cnblogs.com/kojull/p/11831746.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!