博客
关于我
程序结构和分支语句介绍
阅读量:732 次
发布时间:2019-03-22

本文共 2607 字,大约阅读时间需要 8 分钟。

程序的结构及分类

程序的结构化是一个设计思想,规定了一套方法,是程序具有合理的结构,以保证和验证程序的正确性。这种方法要求程序设计者不随心所欲地编写程序,而要按照一定的结构形式来设计和编写程序。其重要目的是使程序具有良好的结构,使程序易于设计、易于理解、易于调试修改,从而提高设计和维护程序工作的效率。

程序的结构化可以划分为三种主要结构:顺序结构、选择结构和循环结构。

顺序结构表示程序中的各操作是按照它们出现的先后顺序执行的。

选择结构表示程序的处理步骤出现了分支,它需要根据某一特定的条件选择执行其中的一个分支。C语言中的选择结构主要包括if语句和switch语句。

循环结构表示程序反复执行某个或某些操作,直到某条件为假(或为真)时才可终止循环。在循环结构中最主要的问题是:什么情况下执行循环?哪些操作需要循环执行?循环结构的基本形式有两种:当型循环和直到型循环。

当型循环:表示先判断条件,当满足给定的条件时执行循环体,并且在循环终端处流程自动返回到循环入口;如果条件不满足,则退出循环体直接到达流程出口处。因为是"当条件满足时执行循环",即先判断后执行,所以称为当型循环。

直到型循环:表示从结构入口处直接执行循环体,在循环终端处判断条件,如果条件不满足,返回入口处继续执行循环体,直到条件为真时再退出循环到达流程出口处。因为是"直到条件为真时为止",所以称为直到型循环。

选择结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。分支结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。

if语句介绍

形式一(if):如果表达式为真,则执行语句块1,否则不执行。

形式二(if...else...):如果表达式为真则执行语句块1,否则执行语句块2。

形式三(if...else if...else...):从表达式1开始往下判断,当表达式为真就执行该表达式对应的语句块,例如从表达式1开始判断一直到表达式n才出现表达式的值为真,那么就执行语句块n中的内容。当语句块执行结束后跳出整个if语句。如果表达式1到表达式n的值都为假则执行else后面的语句块n+1。

形式四(if 语句的嵌套):if语句中根据需要还可以嵌套if语句。

使用if语句时需要注意以下几点:

  • if(表达式);如果后面跟空语句,表示如果表达式的值为真则什么也不干。

  • if(表达式) return 0;函数不会往下执行了,直接退出。一个函数可以有多个return,但只有一个起作用。

  • if(非零常量) 表示永真,如果(0) 表示永假,没有实际意义。

  • 遇到省略大括号的if语句,从下往上依次匹配else。

  • switch语句介绍

    又称开关语句。switch语句的执行流程是计算表达式的值,并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。

    switch语句的形式是:

    switch(表达式) { case 常量表达式1: 语句1; case 常量表达式2: 语句2; ... default: 语句n+1; }

    switch语句的值得注意的地方:

  • 表达式的类型(case语句后的值)的必须是整型或可以转变为整型的值(byte、short、char和int类型)。

  • 功能代码部分可以写任意多句。

  • case语句可以有任意多句,可以不用加括号“{}”。

  • break关键字的意思是中断,指结束switch语句,break语句为可选。

  • case值得注意的地方:

    a. case的值必须是常数或常量,不能为变量。

    b. case的值必须是整数,不能为浮点数。

    c. case后面不可以直接定义变量。

    d. case后面定义的变量必须加上大括号。

    e. default语句可以写在switch语句中的任意位置,功能类似于if语句中的else,但写在最上面会重新一次往下执行,default语句执行后不会跳出switch语句,需要使用break语句才会跳出。default语句写在最后省略break语句不影响。

  • switch语句的执行流程是:

    在执行的过程中,如果遇到break语句,则跳出switch语句。如果没有遇到break语句,则一直执行到switch语句的结束。

    循环语句介绍

    在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。循环语句是由循环体及循环的终止条件两部分组成的。

    while循环

    while结构循环为当型循环(when type loop),一般用于不知道循环次数的情况。维持循环的是一个条件表达式,条件成立执行循环体,条件不成立退出循环。

    一般形式:

    while (表达式) { 循环体; }

    do...while循环

    do…while语句结构为直到型循环(until type loop),也用于不知道循环次数的情况。do…while和while的区别在于do…while结构是执行完一遍循环体再判断条件。

    一般形式:

    do { 循环体; } while (表达式); (注意最后的分号)

    for循环

    for为当型循环语句,它很好地体现了正确表达循环结构应注意的三个问题:控制变量的初始化、循环的条件、循环控制变量的更新。

    for表达式包括:

    表达式1:一般为赋值表达式,给控制变量赋初值; 表达式2:关系表达式或逻辑表达式,循环控制条件; 表达式3:一般为赋值表达式,给控制变量增量或减量。

    for语句格式为:

    for (表达式1;表达式2;表达式3) { 循环体; }

    for语句执行过程如下:

    ①先对表达式1赋初值; ②判别表达式2是否满足给定条件,若其值为真,满足循环条件,则执行循环体内语句,然后执行表达式3,进入第二次循环,再判别表达式2……;否则判断表达式2的值为假,不满足条件,就终止for循环,执行循环体外语句。

    转载地址:http://bruwk.baihongyu.com/

    你可能感兴趣的文章
    NIFI分页获取Mysql数据_导入到Hbase中_并可通过phoenix客户端查询_含金量很高的一篇_搞了好久_实际操作05---大数据之Nifi工作笔记0045
    查看>>
    NIFI分页获取Postgresql数据到Hbase中_实际操作---大数据之Nifi工作笔记0049
    查看>>
    NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
    查看>>
    NIFI同步MySql数据源数据_到原始库hbase_同时对数据进行实时分析处理_同步到清洗库_实际操作06---大数据之Nifi工作笔记0046
    查看>>
    Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
    查看>>
    NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
    查看>>
    NIFI大数据进阶_FlowFile生成器_GenerateFlowFile处理器_ReplaceText处理器_处理器介绍_处理过程说明---大数据之Nifi工作笔记0019
    查看>>
    NIFI大数据进阶_FlowFile生成器_GenerateFlowFile处理器_ReplaceText处理器_实际操作---大数据之Nifi工作笔记0020
    查看>>
    NIFI大数据进阶_Json内容转换为Hive支持的文本格式_实际操作_02---大数据之Nifi工作笔记0032
    查看>>
    NIFI大数据进阶_Json内容转换为Hive支持的文本格式_操作方法说明_01_EvaluteJsonPath处理器---大数据之Nifi工作笔记0031
    查看>>
    NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka消费者处理器_来消费kafka数据---大数据之Nifi工作笔记0037
    查看>>
    NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka生产者---大数据之Nifi工作笔记0036
    查看>>
    NIFI大数据进阶_NIFI的模板和组的使用-介绍和实际操作_创建组_嵌套组_模板创建下载_导入---大数据之Nifi工作笔记0022
    查看>>
    NIFI大数据进阶_NIFI监控功能实际操作_Summary查看系统和处理器运行情况_viewDataProvenance查看_---大数据之Nifi工作笔记0026
    查看>>
    NIFI大数据进阶_NIFI监控的强大功能介绍_处理器面板_进程组面板_summary监控_data_provenance事件源---大数据之Nifi工作笔记0025
    查看>>
    NIFI大数据进阶_NIFI集群知识点_认识NIFI集群以及集群的组成部分---大数据之Nifi工作笔记0014
    查看>>
    NIFI大数据进阶_NIFI集群知识点_集群的断开_重连_退役_卸载_总结---大数据之Nifi工作笔记0018
    查看>>
    NIFI大数据进阶_内嵌ZK模式集群1_搭建过程说明---大数据之Nifi工作笔记0015
    查看>>
    NIFI大数据进阶_外部ZK模式集群1_实际操作搭建NIFI外部ZK模式集群---大数据之Nifi工作笔记0017
    查看>>
    NIFI大数据进阶_实时同步MySql的数据到Hive中去_可增量同步_实时监控MySql数据库变化_操作方法说明_01---大数据之Nifi工作笔记0033
    查看>>