C语言图文并茂讲解分支语句用法

 更新时间:2022年04月20日 17:00:33   作者:清风自在 流水潺潺  
分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。分支结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的分支语句

一、if 语句分析

  • if 语句用于根据条件选择执行语句
  • else 不能独立存在且总是与它最近的 if 相匹配
  • else 语句后可以接连其他 if 语句

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;
}

下面为输出结果:

下面反过来,调换 if 和 switch,实现相同功能:

#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 语句对于多分支判断的情形更加简洁

到此这篇关于C语言图文并茂讲解分支语句用法的文章就介绍到这了,更多相关C语言 分支语句内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C语言中冒泡排序算法详解

    C语言中冒泡排序算法详解

    大家好,本篇文章主要讲的是C语言中冒泡排序算法详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • C++ vector数组用法及解析

    C++ vector数组用法及解析

    这篇文章主要给大家分享的是C++ vector数组用法及解析,什么是什么是vector数组呢?下面文章将对打家做详细介绍,感兴趣的小伙伴可以参考一下
    2021-10-10
  • C语言运算符及其优先级汇总表口诀

    C语言运算符及其优先级汇总表口诀

    由于C语言的运算符优先级与C++的不完全一样(主要是增加了几个运算符),所以这个口诀不能完全实用于C++.但是应该能够兼容,大家可以比较一下他们的区别应该就能够很快掌握C++的优先级的
    2013-07-07
  • Visual Studio2022+QT6创建桌面应用实现

    Visual Studio2022+QT6创建桌面应用实现

    本文主要介绍了Visual Studio2022+QT6创建桌面应用实现,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02
  • 使用VS2022开发在线远程编译部署的C++程序(图文详解)

    使用VS2022开发在线远程编译部署的C++程序(图文详解)

    这篇文章主要介绍了使用VS2022开发可以在线远程编译部署的C++程序,本文分步骤通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • QT使用QComBox和QLineEdit实现模糊查询功能

    QT使用QComBox和QLineEdit实现模糊查询功能

    模糊查询是指根据用户输入的文本,在下拉框的选项中进行模糊匹配,并动态地显示匹配的选项,本文将使用QComBox和QLineEdit实现模糊查询功能,需要的可以参考下
    2023-11-11
  • C++实现图形界面双人五子棋游戏

    C++实现图形界面双人五子棋游戏

    这篇文章主要为大家详细介绍了C++实现图形界面双人五子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • 基于Qt实现简易GIF播放器的示例代码

    基于Qt实现简易GIF播放器的示例代码

    这篇文章主要介绍了如何利用Qt设计一个简易GIF播放器,可以播放GIF动画。其基本功能有载入文件、播放、暂停、停止、快进和快退,感兴趣的可以了解一下
    2022-06-06
  • 用c语言实现一个电话薄(附完整代码)

    用c语言实现一个电话薄(附完整代码)

    大家好,本篇文章主要讲的是用c语言实现一个电话薄(附完整代码),感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2022-01-01
  • Linux系统下C语言gets函数出现警告问题的解决方法

    Linux系统下C语言gets函数出现警告问题的解决方法

    这篇文章主要给大家介绍了关于在Linux系统下C语言gets函数出现警告问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12

最新评论