C语言程序设计(2)幻灯片PPT
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
求1×3×5×7×9×11
求∑An
1 求 1/4 + 1/9 + 1/16 + 1/25 + … + 1/n2 (n=2…10) 2 求 ∏/4 = 1 - 1/3 + 1/5 - 1/7 … (计算50项) 3 求∑An, 其中a1=1,a2=1, An=An-1+An-2 (n=3…10)
An organized list of instructions that, when executed, causes the computer to behave in a predetermined manner. Without programs, computers are useless.
程序和算法
算法
为解决一个问题而采取的方法 。
计算机算法:计算机能够执行的算法。 计算机算法可分为两大类:
数值运算算法:求解数值; 非数值运算算法:事务管理领域。
计算机程序 =数据结构+算法
一个程序应包括
对数据的描述。在程序中要指定数据的类型和数 据的组织形式,即数据结构(data structure)。
2.5 结构化程序设计方法
程序和算法
程序
为了达到某一目标而进行的具体步骤。
计算机程序(软件\程序)
是指一组指示计算机每一步动作的指令,通常用某种程序 设计语言编写,运行于某种目标体系结构上。
打个比方,一个程序就像一个用汉语(程序设计语言)写 下的红烧肉菜谱(程序),用于指导懂汉语的人(体系结 构)来做这个菜。
这门课的两个目标: C的语法,程序设计方法。 在学校中,学习程序设计课程的目的是掌握设计程序的思路,学会用计算机语 言编写程序,以实现所需处理的任务。
算法是灵魂:(文以载道) 不能设想今后一辈子只使用在学校里学过的某一种语言。但是,无论用哪一种 语言进行程序设计,其基本规律是一样的。
程序是调试出来的: 程序设计是一门实践性很强的课程,既要掌握概念,又要动手编程,还要上 机调试运行,希望读者一定要重视实践环节,包括编程和上机。
棱两可的。 有零个或多个输入。 有一个或多个输出。 有效性:算法中每一个步骤应当能有效地执行,并得到确定的结
果。
怎样表示一个算法
用自然语言表示算法 用流程图表示算法
用N-S流程图表示算法(改进的流出图) 用伪代码表示算法 用计算机语言表示算法
用流程图表示算法
流程图表示算法,直观形象,易于理解。
【例2.1】求1×2×3×4×5。
最原始方法: 步骤1:先求1×2,得到结果2。 步骤2:将步骤1得到的乘积2乘以3,得到结果6。 步骤3:将6再乘以4,得24。 步骤4:将24再乘以5,得120。
简单算法举例
【例2.1】求1×2×3×4×5。
引入变量
改进的算法: S1: 使t=1 S2: 使i=2
怎样将一个实际问题抽象为计算机可解问题
【例2.2】有50个学生,要求将他们之中成绩在80分以上者打 印出来
如表示果学,生n表成示绩学,生gi学表号示,第ni个i表学示生第成i个绩学;生学号;g 则算法可表示如下:
S1: 1→i(处理第1个学生) S理2第: 如i个果学g生i≥)80,则打印ni和gi,否则不打印(处 S3: i+1→i(下一个) S4:若i≤50, 返回S2,否则,结束。
t:部分积 i:每次要乘的数
S3: 计算t×i, 乘积仍然放在在变量t中,可表 示为 t×i→t
S4: 使i的值+1,即i+1→i
S5: 如果i≤5, 返回重新执行步骤S3以及其后 的S4和S5;否则,算法结束。
算法的特性
有穷性:一个算法应包含有限的操作步骤而不能是无限的。 确定性:算法中每一个步骤应当是确定的,而不能是含糊的、模
求1×2×3×4×5的算法
【例2.1】求1×2×3×4×5。
S1: 使t=1 S2: 使i=2 S3: 计算t×i, 乘积仍然 放在在变量t中,可表 示为 t×i→t S4: 使 i 的 值 + 1 , 即 i+1→i S5: 如果i≤5, 返回重 新 执 行 步 骤 S3 以 及 其 后 的 S4 和 S5; 否 则 , 算法结束。
C语言程序设计
第3 版
课程关键词
C语言(C程序设计语言)
• 用途 • 适用范围 • 语法规定
程序设计
• 基本设计方法 • 算法概念 • 程序调试
课程目标
掌握C语言的基本语法 掌握面向过程程序设计的基本方法 掌握程序调试的基本方法
一些观点
正确看待C: 近年来,有一些面向对象的计算机语言陆续问世,受到欢迎。有些人认为面向 过程的C语言已经过时了,不必学了。这是一种误解。
熟悉两种IDE: 使用哪一种编译系统并不是原则问题,重要的是编程能力的培养。程序编好 以后,用哪一种编译系统进行编译都可以。
本次课的主要内容
程序设计概述 C程序设计语言概述
第二章 程序的灵魂—算法
怎样进行程序设计的最基本概念和方法 不仅仅适用于c语言 第二章只是一个开始,后面将贯穿整个课程。
面向过程
器
编
级
语
语
语
言
言
言
面向对象
C如P:U指1100令面0001系向00用如00统机00助00,器A记D由的D程符加减0语、序号A客对对言1,设描序观象象B计述列世是间关的构界数通键指成可据过是令的以和发定系指分方送义统令类法和类码,的接,组对封受并成象装消由是息类类发派的生生实联对例系象
简单算法举例
对操作的描述。即操作步骤,也就是算法 (algorห้องสมุดไป่ตู้thm)。
程序=算法+数据结构+程序设计方法+语言工具和环境
程序设计方法和程序设计语言的种类
结构化程序设计(面向过程) 汇编、c、pascal
面向对象程序设计 C++、 Java 、VB
程序设计语言的发展
程序设计是数据被加工的过程
机
汇
高
第二章 程序的灵魂—算法
2.1 算法的概念
2.2 简单算法举例(重点)
2.3 算法的特性
2.4 怎样表示一个算法
2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6
用自然语言表示算法 用流程图表示算法 三种基本结构和改进的流程图 用N-S流程图表示算法 用伪代码表示算法 用计算机语言表示算法