通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

为什么C/C用顺序结构、选择结构、循环结构就能实现所有功能

其实只是说结构化语言,可以用顺序结构、选择结构、循环结构来描述全部的算法而已。顺序结构:从头到尾一句接着一句的执行下来,直到执行完最后一句。

一、为什么C/C用顺序结构、选择结构、循环结构就能实现所有功能

其实只是说结构化语言,可以用顺序结构、选择结构、循环结构来描述全部的算法而已。

顺序结构:从头到尾一句接着一句的执行下来,直到执行完最后一句;

选择结构:到某个节点后,会根据一次判断的结果来决定之后向哪一个分支方向执行;

循环结构:循环结构有一个循环体,循环体里是一段代码。对于循环结构来说,关键在于根据判断的结果,来决定循环体执行多少次;

注:在逻辑上有一种bool类型(也叫boolean类型,布尔类型),只有两个值,即真和假。C语言的判断表达式最终的值就是一个bool类型,这个判断表达式的bool值就决定了选择结构如何选择,循环结构如何循环。

需要编程解决的问题逻辑纷繁复杂,程序设计语言里面为什么只有三种基本的程序结构就够用了?

对于程序设计语言中的三种基本结构:顺序、选择、循环,大家应该都比较熟悉了,确实也只有这些。

其实,这个问题是经过严格证明过的。1966年,计算机科学家 Bohm 和 Jacopini 证明了这样的事实:任何简单或复杂的算法都可以由顺序结构、选择结构和循环结构这三种基本结构组合而成。所以,这三种结构就被称为程序设计的三种基本结构。也是 结构化程序设计 必须采用的结构。想详细了解的可以去看下论文:Bohm C., Jacopini G. “Flow diagrams, Turing machines and languages with only two formation rules.” Communications of the Association for Computing Machinery, Vol.9, pp. 366–371. 1966.

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

结构化程序规定了以下三种基本结构作为程序的基本单元: 以上三种基本结构可以派生出其它形式的结构.由这三种基本结构所构成的算法可以处理任何复杂的问题.所谓结构化程序就是由这三种基本结构所组成的程序.可以看到,三种基本结构都具有以下特点:①有一个入口.②有一个出口.③结构中每一部分都应当有被执行到的机会,也就是说,每一部分都应当有一条从入口到出口的路径通过它(至少通过一次).④没有死循环(无终止的循环).

按结构化程序设计方法设计出的程序优点是:结构良好、各模块间的关系清晰简单、每一模块内都由基本单元组成。这样设计出的程序清晰易读,可理解性好,容易设计,容易验证其正确性,也容易维护。同时,由于采用了“自顶向下、逐步细化”的实施方法,能有效地组织人们的智力,有利于软件的工程化开发。

延伸阅读:

二、goto语句

C语言提供了可以使用的goto语句和标记跳转的标号。理论上goto语句没有使用必要(容易代码逻辑错造成随意跳转),但在深层循环嵌套使用break达不到目的。而可以使用goto可以解决

语法

标号:

  语句;

if(表达式)

  goto 标号;

标号:表达需要跳转的位置

goto 标号:跳到哪个标号去

相关文章