欢迎学习
,C语言程序设计,
主讲教师,石守东课时安排
———————————————
上课 2学时 /周星期一 1~2节 信息楼 219
上机 2学时 /周星期一 7~8节 公共机房 3信息楼 216
学习要求
——————————————————————
课前预习,课后复习。
上机前应设计好算法,编好写程序。
每次实验完上交实验报告电子稿,实验报告按实验指导内容进行。
参考教材
—————————————————
谭浩强
,C程序设计,清华大学出版社
王金汉 宋秋杰 秦佩玲
,C程序设计语言,同济大学出版社第一章 程序设计基本概念
1.1 程序和程序设计
1.1.1 C程序几个应该了解的概念计算机,按指令操作顺序自动运行的机器程 序,可以连续执行的一条条指令的集合程序 — 语言 — 程序设计语言 — C语言
1.1.1 C程序高级语言,接近自然语言的语句表示机器语言,机器指令 (二进制代码 )表示源 程 序,高级语言编写的程序 (文本 )
目标程序,二进制代码表示的程序编译程序,将源程序 (高级语言语句 )翻译成目标程序 (二进制代码 )
C语言源程序 二进制机器指令
C语言编译程序
1.1.1 C程序
C源程序?目标程序 (.OBJ)?可执行文件 (.EXE)
1.1.2 程序设计程序设计的一般步骤
1.确定数据结构
2.确定算法
3.编码
4.调试程序
5.整理并编写文档算法,为解决某个特定问题而采取的确定且有限的步骤
1.2 算法算法具有以下五个特性,
1,有穷性如,Sin x=x/1-x3/3!+x5/5!-x7/7!+… 不是算法。
N!=1× 2× 3× … × N 是算法。
2,确定性如:菜谱中说“加少许盐”不严格,不是算法。
3,可执行性
4,0个或多个输入
5,1个或多个输出
1.2 算法算法最常用的描述工具,
1,伪代码,近似高级语言的一种语言描述方法
2,流程图
⑴ 传统流程图几种基本框和流程线来表示算法
⑵ N-S流程图把矩形框按执行的次序连接起来,去掉了流程线
1.2 算法传统流程图的表示框图
1.3 结构化程序设计和模块化结构结构化程序由三种基本结构组成
1.顺序结构有两个事件,先执行一个,再执行另外一个,称为顺序结构。
2.选择结构如果事件成立,执行事件 A;否则,执行事件 B。两个事件只能执行一个。
3.循环结构对于某一部分反复执行。
1.3.1 结构化程序用流程图表示三种结构(教材 P3~5)
1.3.1 结构化程序用流程图表示三种结构(教材 P3~5)
1.3.1 结构化程序
注意:在三种结构中,只有一个入口和一个出口。
1.3.2 模块化结构
模块化结构设计方法在程序设计中,将一个复杂的算法(或程序)分解成若干个相对独立、功能单一的模块,利用这些模块即可适当地组合成所需要的全局算法(或)程序。
自顶向下结构设计方法从总体出发,居高临下,逐层分解和逐步细化。
逐步求精结构设计方法实质上也是一种自顶向下的设计方法。
首先抛开细节设计出抽象算法,然后把抽象数据和操作逐步具体化,直到可以由计算机具体实现为止。
1.3.2 模块化结构进行程序设计时,首先应当集中考虑主程序中的算法,写出主程序后再逐步完成子程序的调用。
对于这些“子”程序也可用调试主程序的同样方法逐步完成其下一层子程序的调用。这就是自顶向下、
逐步细化、模块化的程序设计。