c 语言程序设计流程图详解

介绍常见的流程图符号及流程图的例子。

本章例 1 - 1 的算法的流程图如图 1 - 2 所示。本章例 1 - 2 的算法的流程图如图 1 - 3 所示。

在流程图中, 判断框左边的流程线表示判断条件为真时的流程, 右边的流程线表示条件为假

时的流程,有时就在其左、右流程线的上方分别标注 真“ ”、 假“ ”或 “T、” “F或” “Y、” “N”

注 “真 ”、 “假 ”或 “T、” “F或” “Y、” “N”

另外还规定,流程线是从下往上或从右向左时,必须带箭头,除此以外,都不画箭头,流程

线的走向总是从上向下或从左向右。

2. 算法的结构化描述

早期的非结构化语言中都有 go to 语句,它允许 程序 从一个地方直接跳转到另一个地方去。

执行这样做的好处是 程序 设计十分方便灵活, 减少了人工复杂度, 但其缺点也是十分突出的,

一大堆跳转语句使得 程序 的流程十分复杂紊乱, 难以看懂也难以验证 程序 的正确性, 如果有

错,排起错来更是十分困难。 这种转来转去的流程图所表达的混乱与复杂, 正是软件危机中

程序 人员处境的一个生动写照。而结构化 程序 设计,就是要把这团乱麻理清。

经过研究,人们发现,任何复杂的算法,都可以由顺序结构、选择(分支)结构和循环结构

这三种基本结构组成,因此,我们构造一个算法的时候,也仅以这三种基本结构作为 建筑“

单元 ”,遵守三种基本结构的规范, 基本结构之间可以并列、 可以相互包含, 但不允许交叉,

不允许从一个结构直接转到另一个结构的内部去。 正因为整个算法都是由三种基本结构组成

的,就像用模块构建的一样,所以结构清晰,易于正确性验证,易于纠错,这种方法,就是

结构化方法。遵循这种方法的 程序 设计,就是结构化 程序 设计。

相应地,只要规定好三种基本结构的 流程图的画法 ,就可以画出任何算法的流程图。

(1) 顺序结构

顺序结构是简单的线性结构,各框按顺序执行。其流程图的基本形态如图 1 - 4 所示,语句

的执行顺序为: A→B→C 。

(2) 选择(分支)结构

这种结构是对某个给定条件进行判断, 条件为真或假时分别执行不同的框的内容。 其基本形

状有两种,如图 1-5 a )、b )所示。图 1-5 a )的执行序列为:当条件为真时执行 A ,否则执

行 B ;图 1 - 5 b )的执行序列为:当条件为真时执行 A ,否则什么也不做。

(3) 循环结构

循环结构有两种基本形态: while 型循环和 do - while 型循环。

a. while 型循环

如图 1 - 6 所示。

其执行序列为:当条件为真时,反复执行 A ,一旦条件为假,跳出循环,执行循环紧后的语

句。

b. do-while 型循环

如图 1 - 7 所示。

执行序列为:首先执行 A ,再判断条件,条件为真时,一直循环执行 A ,一旦条件为假,结

束循环,执行循环紧后的下一条语句。

在图 1 - 6 、图 1 - 7 中, A 被称为循环体,条件被称为循环控制条件。要注意的是:

1) 在循环体中,必然对条件要判断的值进行修改,使得经过有限次循环后,循环一定能

结束,如图 1 - 3 中的 i = i - 1 。

2) 当型循环中循环体可能一次都不执行,而直到型循环则至少执行一次循环体。

3) 直到型循环可以很方便地转化为当型循环,而当型循环不一定能转化为直到型循环。

例如,图 1 - 7 可以转化为图 1 - 8 。

七,用 N-S

c语言程序设计考试流程图,c语言程序设计流程图详解.pdf相关推荐

  1. R语言基于forestplot包可视化森林图实战详解:美化的森林图:自定义字体设置、置信区间、坐标轴(刻度、标签、范围)、无效线去除、水平线、辅助线、box形状、色彩等

    R语言基于forestplot包可视化森林图实战详解:美化的森林图:自定义字体设置.置信区间.坐标轴(刻度.标签.范围).无效线去除.水平线.辅助线.box形状.色彩等 目录

  2. R语言中如何计算C-Statistics?几种计算方法详解

    R语言中如何计算C-Statistics?几种计算方法详解 目录 R语言中如何计算C-Statistics? #包导入 #数据加载编码

  3. java注解式开发_JAVA语言之Spring MVC注解式开发使用详解[Java代码]

    本文主要向大家介绍了JAVA语言的Spring MVC注解式开发使用详解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. MVC注解式开发即处理器基于注解的类开发, 对于每一个定义的处 ...

  4. time库是python中处理时间的标准库_python语言time库和datetime库基本使用详解

    今天是边复习边创作博客的第三天,我今年大二,我们专业开的有这门课程,因为喜欢所以更加认真学习,本以为没人看呢,看了后台浏览量让我更加认真创作,这篇博客花了2个半小时的时间,结合自己所学,所思,所想写作 ...

  5. C语言中的字符串转数字函数常见问题详解

    目录 C语言中的字符串转数字函数常见问题详解 字符串转整形 atoi函数 字符串转长整形 strtol函数, C语言中的字符串转数字函数常见问题详解 字符串转整形 atoi函数 函数原型: int a ...

  6. 区块链用哪种语言 Java_区块链开发用什么语言呢?区块链与编程语言的关系详解...

    原标题:区块链开发用什么语言呢?区块链与编程语言的关系详解 区块链的概念就随着比特币的大热开始逐渐进入公众视野,比特币的拥有者为了使其创造更高的财富,开始疯狂炒作,因而引发购买比特币大浪潮.然而等到比 ...

  7. C语言0长度数组(可变数组/柔性数组)详解

    CSDN GitHub C语言0长度数组(可变数组/柔性数组)详解 AderXCoding/language/c/zero_length_array 本作品采用知识共享署名-非商业性使用-相同方式共享 ...

  8. c语言中getenv的作用,C语言putenv()函数和getenv()函数的使用详解

    C语言putenv()函数和getenv()函数的使用详解 C语言putenv()函数:改变或增加环境变量头文件: #include4 定义函数: int putenv(const char * st ...

  9. ★核心关注点_《信息系统项目管理师考试考点分析与真题详解》

    ★核心关注点_<信息系统项目管理师考试考点分析与真题详解> 真诚感谢你选用<信息系统项目管理师考试考点分析与真题详解>作为高级项管的辅导用书.对于使用该书的读者们,在备考201 ...

  10. 勘误表《网络规划设计师考试考点分析与真题详解》

    <网络规划设计师考试考点分析与真题详解>勘误表 首先,对本书在编写.校对.排版.印刷环节中的错漏,而给各位读者带来不便之处,深表最诚挚的歉意!也恳请各位专家.读者在使用过程中多提宝贵意见及 ...

最新文章

  1. 怎样的视频监控的管理与运营才算高效
  2. centos下查看网卡,主板,CPU,显卡,硬盘型号等硬件信息
  3. 如何使用Spring管理Filter和Servlet
  4. python测量血压_python距离测量的方法
  5. C++编程基础二 13-函数与string对象
  6. Linux下清除DNS缓存
  7. hihocoder234周 计算不包含黑点的矩形个数
  8. 解决tomcat 的端口被占用问题
  9. Struts2 校验框架学习笔记
  10. 走火入魔.NET从C/S单点登录到B/S系统的例子,SUID(System Unique Identification)
  11. Spring Tool Suite4安装和配置
  12. 三通道HART / Modbus网关HTM-631
  13. pta 计算圆周率(C语言实现)
  14. 台达伺服调试软件_万能机智能伺服油源调试说明
  15. PR2019 (五)几种视频转场特效
  16. js 单击、双击、连续多次点击
  17. JAVA ik es_Elasticsearch入门和查询语法分析(ik中文分词)
  18. 计算机usb无法使用,Win7系统电脑USB接口无法使用解决方案
  19. 【VUE项目】VUE+ElementUI电商后台管理系统
  20. 怎么连接云服务器共享文件夹,如何设置局域网共享文件夹

热门文章

  1. PhotoShop大师之路视频
  2. echarts初次使用,自定义china-map省份默认颜色
  3. 射频电子电路设计图集---研读
  4. 回顾2020的爷青结:有哪些记忆里的应用正在消逝!
  5. 【原创】CentOS8最小化安装中系统命令,看你能认识几个
  6. 烟花散尽漫说无(参考资料)
  7. 从零开始系类——电子元器件识别与检测技术
  8. XcodeGhost作者声明:源于实验,无任何威胁
  9. 数据库mysql菜鸟教程_MySQL数据库菜鸟教程(一)
  10. python语言常用语法汇总