第1章程序设计与C语言概述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
步,否则执行第4步 步骤3:输出a的值 步骤4:输出b的值 步骤5:算法结束。
1.1.2 算法
【例1-3】求1+2+3+…+100。 步骤1:使p=1 步骤2:使q=2 步 骤 3 : 使 p+q, 和 仍 放 在 p 中 , 可 表 示 为
p+q→p 步骤4:使q的值加1,即q+1→q。 步骤5:如果q不大于100,返回重新执行步骤
C 语言程序设计
第1章 程序设计与 C语言概述
本章主要内容
1.1 程序与程序设计 1.2 程序设计语言 1.3 C语言概述 1.4 程序开发环境与程序调试
1.1 程序与程序设计
1.1.1 程序 1.1.2 算法 1.1.3 程序设计方法和风格
返回
1.1.1 程序
程序是指存储在计算机内部存储器中可 以连续执行的一条条指令的集合。著名计 算机科学家沃思(Nikiklaus Wirth)提 出一个公式:程序=数据结构+算法。即一 个程序应该包括两方面的内容:数据结构 和算法。
计算机算法可分为两大类:数值运算算法和非 数值运算算法。
数值运算算法主要用于求解数值问题,如求函 数值、求方程的根等。一般数值运算有现成的模型, 可以运用数值分析方法,因此对数值运算的算法的 研究比较深入,各种数值运算都有比较成熟的算法 可供选用。非数值运算算法常用于事务管理领域, 如人事管理、行车调度管理等。由于非数值运算要 求各异,很难规范化,因此一般只对一些典型的非 数值运算算法作比较深入的研究。
1.1.1 程序
数据结构(data structure)是对数 据的描述,在程序中要指定数据的类型和 数据的组织形式。
算法(algorithm)是对操作的描述, 即操作步骤。是用来解决做什么和怎么做 的问题。计算机算法可分为两大类:数值 运算算法和非数值运算算法。
1.1.1 程序
设计一个程序时,除了考虑数据结构和算 法这两个因素之外,还应当采用程序设计方法 进行程序设计,并且考虑用一种语言来表示。 因此,一个程序应该表示为:
1.1.2 算法
❖ 有零个或多个输入:这些输入取自于某个 特定的对象的集合。
❖ 有一个或多个输出:这些输出是同输入有 着某些特定关系的量,在一个完整的算法 中至少会有一个输出。
1.1.2 算法
3.算法的描述方法 1966年,Bohra和jacopini证明了任何单
入口单出口没有死循环的程序都可以由三 种基本的控制结构构造出来。这三种基本 结构就是顺序结构、选择结构和循环结构, 它们作为表示一个良好算法的基本单元。
1.1.2 算法
图1-5表示顺序结构 构
图1-6表示选择结
图1-5
图1-6
1.1.2 算法
图1-7表示当型循环结构 图1-8表示直到型循环结 构
图1-7
图1-8
1.1.2 算法
已知a的值是7,b的值 是
10,将a、b的值互换,
互换后a的值为10、b的
值为7,然后输出交换 后
a、b的值。用N-S流程
1.1.2 算法
2.算法的特性 ❖ 有穷性:一个算法应包含有限的操作步骤,
且每一步都可在有穷的时间内完成。
❖ 确定性:算法中每一个步骤必须有确切的 含义,并且在任何条件下,算法只有惟一的 一条执行路径,即对于相同的输入只能得出 相同的输出。
❖ 可行性:一个算法是能行的,即算法中描 述的操作都是可以通过已经实现的基本运算 执行有限次来实现的。
1.1.2 算法
【 例 1 - 6】 求 1+2+3+…
+100。算法用流程图 表示。流程图如图 1-4所示。
图1-4
1.1.2 算法
用流程图表示算法直观形象,易于理 解,不会产生“歧义性”。 三种基本结构的共同特点: ❖ 只有一个入口 ❖ 只有一个出口 ❖ 结构内的每一部分都有机会被执行到 ❖ 结构内不存在“死循环”
1.1.2 算法
算法的表示方法很多,常用的有自然 语言、传统流程图、N-S流程图、伪代码、 计算机语言等。
1.1.2 算法
(1)用自然语言表示算法 自然语言就是人们日常使用的语言,
可以是汉语、英语或其他语言。 下面通过实例来说明用自然语言来描
述三种基本结构的算法。
1.1.2 算法
【例1-1】 已知a的值是7,b的值是10,将a、b的值互换, 互换后a的值为10、b的值为7,然后输出交换后a、b 的值。
3、步骤4和步骤5。否则,算法结束。最后 得到p的值就是1+2+3+…+100的和。
1.1.2 算法
(2)用流程图表示算法
流程图是用一些图框 表示各种操作。美国国 家标准化协会ANSI规定 了一些常用的流程图符 号,已为世界各国程序 工作者普遍采用。流程 图符号如图1-1所示。
图1-1
1.1.2 算法
【例1-4】已知a的值是
7 , b 的 值 是 1 0 , 将 a、
b的值互换,互换后a
的值为10、b的值为7,
然后输出交换后a、b
的值。用流程图表示
算法。流程图如图1-
2所示。
图1-2
1.1.2 算法
【例1-5】输出a、b两 个不同数中的大数。 用流程图表示算法。 流程图如图1-3所示。
图1-3
程序=数据结构+算法+程序设计方法+语言工具和环境
百度文库
1.1.2 算法
1.算法概述 算法是指为解决某个问题而采用的方
法和步骤。这些步骤是按一定的顺序进行 的,每个步骤不能缺少,它们之间的次序 也不能颠倒。算法体现了人们解决某一类 问题时的思维方法和过程,描述了人类解 决某类问题所依据的规则和操作。
1.1.2 算法
步骤1:把7赋给变量a 步骤2:把10赋给变量b 步骤3:将变量a的值赋给变量c 步骤4:将变量b的值赋给变量a 步骤5:将变量c的值赋给变量b 步骤6:输出变量a和变量b的值 步骤7:算法结束。
1.1.2 算法
【例1-2】 输出a、b两个不同数中的较大数。 步骤1:输入a和b的值 步骤2:判断a大于b否,如果a大于b,执行第3
1.1.2 算法
(3)用N-S流程图表示算法 N-S流程图是美国学者I.Nassi和
B.Shneiderman于1973年提出的一种新的流 程图。N-S流程图的主要特点是取消了带 箭头的流程线,全部算法写在一个矩形框 内,在该框内还可以包含其他的从属于它 的框。
N-S流程图如同一个多层的盒子,又 称盒图。
1.1.2 算法
【例1-3】求1+2+3+…+100。 步骤1:使p=1 步骤2:使q=2 步 骤 3 : 使 p+q, 和 仍 放 在 p 中 , 可 表 示 为
p+q→p 步骤4:使q的值加1,即q+1→q。 步骤5:如果q不大于100,返回重新执行步骤
C 语言程序设计
第1章 程序设计与 C语言概述
本章主要内容
1.1 程序与程序设计 1.2 程序设计语言 1.3 C语言概述 1.4 程序开发环境与程序调试
1.1 程序与程序设计
1.1.1 程序 1.1.2 算法 1.1.3 程序设计方法和风格
返回
1.1.1 程序
程序是指存储在计算机内部存储器中可 以连续执行的一条条指令的集合。著名计 算机科学家沃思(Nikiklaus Wirth)提 出一个公式:程序=数据结构+算法。即一 个程序应该包括两方面的内容:数据结构 和算法。
计算机算法可分为两大类:数值运算算法和非 数值运算算法。
数值运算算法主要用于求解数值问题,如求函 数值、求方程的根等。一般数值运算有现成的模型, 可以运用数值分析方法,因此对数值运算的算法的 研究比较深入,各种数值运算都有比较成熟的算法 可供选用。非数值运算算法常用于事务管理领域, 如人事管理、行车调度管理等。由于非数值运算要 求各异,很难规范化,因此一般只对一些典型的非 数值运算算法作比较深入的研究。
1.1.1 程序
数据结构(data structure)是对数 据的描述,在程序中要指定数据的类型和 数据的组织形式。
算法(algorithm)是对操作的描述, 即操作步骤。是用来解决做什么和怎么做 的问题。计算机算法可分为两大类:数值 运算算法和非数值运算算法。
1.1.1 程序
设计一个程序时,除了考虑数据结构和算 法这两个因素之外,还应当采用程序设计方法 进行程序设计,并且考虑用一种语言来表示。 因此,一个程序应该表示为:
1.1.2 算法
❖ 有零个或多个输入:这些输入取自于某个 特定的对象的集合。
❖ 有一个或多个输出:这些输出是同输入有 着某些特定关系的量,在一个完整的算法 中至少会有一个输出。
1.1.2 算法
3.算法的描述方法 1966年,Bohra和jacopini证明了任何单
入口单出口没有死循环的程序都可以由三 种基本的控制结构构造出来。这三种基本 结构就是顺序结构、选择结构和循环结构, 它们作为表示一个良好算法的基本单元。
1.1.2 算法
图1-5表示顺序结构 构
图1-6表示选择结
图1-5
图1-6
1.1.2 算法
图1-7表示当型循环结构 图1-8表示直到型循环结 构
图1-7
图1-8
1.1.2 算法
已知a的值是7,b的值 是
10,将a、b的值互换,
互换后a的值为10、b的
值为7,然后输出交换 后
a、b的值。用N-S流程
1.1.2 算法
2.算法的特性 ❖ 有穷性:一个算法应包含有限的操作步骤,
且每一步都可在有穷的时间内完成。
❖ 确定性:算法中每一个步骤必须有确切的 含义,并且在任何条件下,算法只有惟一的 一条执行路径,即对于相同的输入只能得出 相同的输出。
❖ 可行性:一个算法是能行的,即算法中描 述的操作都是可以通过已经实现的基本运算 执行有限次来实现的。
1.1.2 算法
【 例 1 - 6】 求 1+2+3+…
+100。算法用流程图 表示。流程图如图 1-4所示。
图1-4
1.1.2 算法
用流程图表示算法直观形象,易于理 解,不会产生“歧义性”。 三种基本结构的共同特点: ❖ 只有一个入口 ❖ 只有一个出口 ❖ 结构内的每一部分都有机会被执行到 ❖ 结构内不存在“死循环”
1.1.2 算法
算法的表示方法很多,常用的有自然 语言、传统流程图、N-S流程图、伪代码、 计算机语言等。
1.1.2 算法
(1)用自然语言表示算法 自然语言就是人们日常使用的语言,
可以是汉语、英语或其他语言。 下面通过实例来说明用自然语言来描
述三种基本结构的算法。
1.1.2 算法
【例1-1】 已知a的值是7,b的值是10,将a、b的值互换, 互换后a的值为10、b的值为7,然后输出交换后a、b 的值。
3、步骤4和步骤5。否则,算法结束。最后 得到p的值就是1+2+3+…+100的和。
1.1.2 算法
(2)用流程图表示算法
流程图是用一些图框 表示各种操作。美国国 家标准化协会ANSI规定 了一些常用的流程图符 号,已为世界各国程序 工作者普遍采用。流程 图符号如图1-1所示。
图1-1
1.1.2 算法
【例1-4】已知a的值是
7 , b 的 值 是 1 0 , 将 a、
b的值互换,互换后a
的值为10、b的值为7,
然后输出交换后a、b
的值。用流程图表示
算法。流程图如图1-
2所示。
图1-2
1.1.2 算法
【例1-5】输出a、b两 个不同数中的大数。 用流程图表示算法。 流程图如图1-3所示。
图1-3
程序=数据结构+算法+程序设计方法+语言工具和环境
百度文库
1.1.2 算法
1.算法概述 算法是指为解决某个问题而采用的方
法和步骤。这些步骤是按一定的顺序进行 的,每个步骤不能缺少,它们之间的次序 也不能颠倒。算法体现了人们解决某一类 问题时的思维方法和过程,描述了人类解 决某类问题所依据的规则和操作。
1.1.2 算法
步骤1:把7赋给变量a 步骤2:把10赋给变量b 步骤3:将变量a的值赋给变量c 步骤4:将变量b的值赋给变量a 步骤5:将变量c的值赋给变量b 步骤6:输出变量a和变量b的值 步骤7:算法结束。
1.1.2 算法
【例1-2】 输出a、b两个不同数中的较大数。 步骤1:输入a和b的值 步骤2:判断a大于b否,如果a大于b,执行第3
1.1.2 算法
(3)用N-S流程图表示算法 N-S流程图是美国学者I.Nassi和
B.Shneiderman于1973年提出的一种新的流 程图。N-S流程图的主要特点是取消了带 箭头的流程线,全部算法写在一个矩形框 内,在该框内还可以包含其他的从属于它 的框。
N-S流程图如同一个多层的盒子,又 称盒图。