C语言程序设计
1 2015-6-8
第四章 程序流程控制
主讲: 计算机学院 朱立华
2 2015-6-8
内容提要
内容提要
算法的基本概念以及表示方法,简单介绍流程图
C程序的3种基本流程控制结构:顺序结构、选择结构
(也叫分支结构)、循环结构,每种结构的控制语句:
if、switch控制选择结构
for 、while 、do~while控制循环结构
break、continue 、goto等语句的用法
循环嵌套程序的设计及运行过程
一些常用算法的基本思想:
分段函数求解问题 掷骰子游戏的多种解法
判断一个整数是否为质数 打印规则的图形
求两个正整数的最大公约数 穷举问题的多种求解方法
各种求和问题 求阶乘
2015-6-8 3
2015-6-8 3
算法与语句
算法与语句
解决需要用分析推理、逻
算法 (Algorithm)就是为解决一个具体问题而采取的
解决求数值解的问题
辑推理才能解决的问题
有限的操作步骤,算法通过语句来实现
数据的描述和组织形式 对操作或行为的描
计算机算法分两类:数值运算算法、非数值运算算法
述,即操作步骤
程序 数据结构+算法
算法的正确性衡量标准:
有穷性:算法包含有限步操作
确定性:每一步都应确定无歧义
有效性:每一步都应能有效执行且能得到确定的结果
0或多个输入: 程序允许无输入
1或多个输出:任何程序都必须有输出,哪怕是提示信息
2015-6-8 4
2015-6-8 4
算法与语句
算法与语句
常用的算法描述方法有:自然语言、传统流程图、NS
流程图、伪代码等,这里只介绍传统流程图。
例:求n!的算法思想:
n!=1*2*3*…*n
由于计算机执行乘法时每次只能求两个数相乘,因此
上面的公式在程序中必定需要通过反复相乘来实现。
需要设定一个变量n,表明求多少的阶乘;
第二个变量,存当前累乘的结果;
第三个变量存当前将要与累乘器相乘的因子,并且该
因子的变化是从1到n每次增加1
流程图如下页所示
2015-6-8 5
2015-6-8 5
开始 3种基本结构的
输入n 特点:单入口,