C语言程序设计门学习课件
N 读入n n<0 Y 打印出错信息 fact=1,i=1 fact=fact*i i=i+1 直到i>n为止 输出fact 计算N!的N-S流程图 * 思 考: 1.求1+2+3+…+n 2.求1!+2!+3!+…+n! 3.求1+2-3+4-5+…+n 4.求1+1/2+1/3+…+1/n 5.求1+1/2-1/3+…+1/n 6.求1+22+32+42+…+n2 …… * 1.4 程序设计方法简介 1.结构化程序设计 一个比较流行的定义是: 结构化程序设计是一种进行程序设计的原则和方法,按照这种原则和方法设计出的程序的特点是结构清晰,容易阅读,容易修改,容易验证。 按照结构化程序设计方法的要求,结构化的程序由三种基本控制结构组成: 顺序结构、选择结构和循环结构。 * 2.结构化程序设计的基本思想 (1)采用三种基本结构作为程序设计的基本单元,避免无限制地使用goto语句而使流程任意转向。 (2)三种基本结构就具有如下良好特性: ①只有一个入口; ②只有一个出口; ③无死语句,即不存在永远都执行不到的语句; ④无死循环,即不存在永远都执行不完的循环。 (3)程序设计采用“自顶向下,逐步求精,模块化设计,结构化编码”的方法。 * 3.设计程序的过程 下面举例说明用结构化程序设计方法设计程序的过程。 【 例1.6 】 求三个数中的最大数。 (1)首先很容易给出程序的总体设计算法: s1: 给定或输入三个数a,b,c; s2: 在a,b,c中找出大数赋给max; s3: 输出max。 s1,s2,s3表示第1步,第2步,第3步。 (2) 对s2需进一步细化,即求出最大数的方法,算法设计: s21: 从a,b中取大数赋给max中; s22: 再用max与c进行比较,取大的赋给max。 将(1)、(2)用流程图描述如教材图1.6所示。 (3)用计算机语言实现算法。 main() { int a,b,c,max; a=3;b=7;c=5; /*s1,也可以使用scanf() 对a,b,c赋值 */ if(a>b) /*s21 */ max=a; else max=b; if(max