收藏 分享(赏)

C语言程序设计第01章-概述.ppt

上传人:j35w19 文档编号:8115009 上传时间:2019-06-09 格式:PPT 页数:35 大小:337.50KB
下载 相关 举报
C语言程序设计第01章-概述.ppt_第1页
第1页 / 共35页
C语言程序设计第01章-概述.ppt_第2页
第2页 / 共35页
C语言程序设计第01章-概述.ppt_第3页
第3页 / 共35页
C语言程序设计第01章-概述.ppt_第4页
第4页 / 共35页
C语言程序设计第01章-概述.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、2010-3-2,授课教师:夏玮,课程简介,学习数据结构、操作系统等后续课程的基础,1、课程名称:,掌握C语言的主要语法规则; 学会程序设计的基本方法; 初步具备用C程序解决实际问题的能力。,计算机专业人员必备的基本技能,平时考试(30%) 期末成绩(70%),考勤 平时测验 上机,C语言程序设计,2、课程性质:,3、学习目标:,4、考核方式:,2010-3-2,授课教师:夏玮,参考书籍,1谭浩强 C程序设计 第三版 2005年版 2谭浩强主编,C程序设计题解与上机指导(第三版),清华大学出版社 3谭浩强主编,C程序设计试题汇编,清华大学出版社 4 Brian W.Kernighan,D.M.

2、RitchieThe C Programming Language,清华大学出版社,2010-3-2,授课教师:夏玮,第1章 c语言概述 第2章 基本数据类型 第3章 表达式与操作符 第4章 程序流程控制 第5章 一级指针和一维数组 第6章 函数 第7章 模块化程序设计,第8章 字符串 第9章 结构、联合、枚举 第10章 流与文件 第11章 C综合设计实例 第12章 二维数组、指针数组和指针 第13章 高级程序设计,目 录,2010-3-2,授课教师:夏玮,第1章 C语言概述,1.1 程序设计基础 1.2 c语言的特点 1.3 c程序的开发步骤,2010-3-2,授课教师:夏玮,1.1 程序设

3、计基础,1 程序的一般概念程序 : 计算机为完成某一个任务所必须执行的一系列指令的集合。一个计算机程序主要描述两部分内容:数据结构:描述问题的每个对象之间的关系算法:对问题的处理规则经典公式: 程序=数据结构+算法,2010-3-2,授课教师:夏玮,程序设计是指:用计算机语言产生一系列的指令告诉计算机如何去做的过程。这里涉及到采用何种语言、何种设计风格、何种算法程序的逻辑结构等一系列问题。 需要注意: 程序设计编写代码,2010-3-2,授课教师:夏玮,2 程序设计语言概述,按照程序设计语言发展的过程,大概分为三类: 1)机器语言机器语言是由0和1二进制代码按一定规则组成的、能被机器直接理解和

4、执行的指令集合。机器语言中的每一条语句实际上是一条二进制形式的指令代码,指令格式如下:,操作码 要完成的操作类型或性质 操作数 操作的内容或所在的地址,2010-3-2,授课教师:夏玮,例如,计算A=15+10 的机器语言程序如下:10110000 00001111: 把15放入累加器A中00101100 00001010: 10与累加器A的值相加,结果 仍放入A中11110100 : 结束,停机编程工作量大,难学、难记、难修改,只适合专业人员使用;由于不同的计算机,其指令系统不同,机器语言随机而异,通用性差,是面向机器的语言。现在已经没有人用机器语言直接编程了。,2010-3-2,授课教师:

5、夏玮,2)汇编语言,将机器指令的代码用英文助记符来表示,代替机器语言中的指令和数据。例如用ADD表示加、SUB表示减、JMP表示程序跳转等等,这种指令助记符的语言就是汇编语言。例如,计算 A=15+10 的汇编语言程序:MOV A,15:把15放入累加器A中ADD A,10:10与累加器A相加,结果存入A中HLT :结束,停机汇编语言克服了机器语言难读等缺点,保持了其编程质量高,占存储空间少,执行速度快的优点。常用于过程控制等编程。汇编语言面向机器,使用者需要专业知识。汇编语言编写的程序,必须翻译成机器语言,才能被计算机执行。,2010-3-2,授课教师:夏玮,3)高级语言,高级语言是由表达各

6、种意义的词和数学公式按照一定的语法规则来编写程序的语言。高级语言使程序员可以完全不用与计算机的硬件打交道,可以不必了解机器的指令系统,是面向过程的语言。这样,程序员就可以集中精力来解决问题本身而不必受机器制约,编程效率高;由于与具体机器无关,因此程序的通用性强。例如,C语言程序如下: #include /*文件包含*/ void main( ) /*主函数 */ /*函数体开始*/ printf (“This is a C program.n“); /*输出语句*/ ,2010-3-2,授课教师:夏玮,2 算法基础,广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。 对同一个问题,可

7、有不同的解题方法和步骤 例: 求方法1:1+2,+3,+4,一直加到100 加99次 方法2:100+(1+99)+(2+98)+(49 +51)+50 = 100 + 49100 +50 加51次,2010-3-2,授课教师:夏玮,算法的表示,自然语言用人们使用的语言描述算法 流程图法用一些图框、线条以及文字说明来形象地、直观地描述算法。N-S流程图法-去掉了传统流程图中带箭头的流向线,全部算法以一个大的矩形框表示,框内还可以包含一些从属于它的小矩形框,适于结构化程序设计。,2010-3-2,授课教师:夏玮,算法的表示,伪代码法:是一种假的代码不能被计算机所理解,但接近于某种语言编写的程序,

8、便于转换成编程语言。根据编程语言的不同,有对应的类Pascal、类C等类-xxx语言。在数据结构教材中,经常用类-xxx语言来描述算法。,2010-3-2,授课教师:夏玮,流程图:用图形表示算法, 传统的流程图有以下几种基本框组成:,起止框:算法的开始和结束 一般处理框:表示赋值、加减等操作 判断框:根据给定的条件决定执行几条路径中的某一条路径 输入输出框:表示输入输出操作 流程线:表明程序流程的方向,2010-3-2,授课教师:夏玮,流程图举例: 1、从键盘上接收数据,打印出正数。,2010-3-2,授课教师:夏玮,2、已知一个圆柱体的半径和高,求它的面积和体积,2010-3-2,授课教师:

9、夏玮,程序的三种基本结构: (1)顺序结构:是最常用,也是最简单的一种程序结构,它的特点是:程序按语句从上到 下的排列顺序依次执行,每条语句必须执行且只能执行一次,没有执行不到或执行多次的语句。,2010-3-2,授课教师:夏玮,根据表达式的值是真或假来选择是执行语句还是直接跳出,(2)选择结构:又称分支结构 特点:程序的流程是由多条支路构成的,在程序的一次执行过程中,根据不同的情况,只有一条支路被选中执行,而其他支路上的语句被直接跳过。,2010-3-2,授课教师:夏玮,此种形式是根据表达式的值,如果为真则执行语句A,如果为假则执行语句B。,2010-3-2,授课教师:夏玮,功能是:当表达式

10、的值为真时,执行循环体语句,然后再判断条件是否成立,如果仍成立,再执行循环体,如此反复执行,直到某一次表达式的值为假时,不再执行循环体,跳出循环结构。,、循环结构:又称重复结构,即反复执行某一部分的操作。 ()当型循环结构:(while循环),2010-3-2,授课教师:夏玮,功能:先执行循环体,然后判断循环条件是否成立,如够条件不成立,则继续执行循环体,然后再判断,反复执行直到给定的循环条件成立,跳出循环。,()直到型循环: (Until型) 特点是:执行循环体直到指定的条件满足,就不再执行循环。,2010-3-2,授课教师:夏玮,顺序结构 选择结构 循环结构,2010-3-2,授课教师:夏

11、玮,由以上三种基本结构顺序组成的算法结构,可以解决任何复杂的问题。 由基本结构所构成的算法属于“结构化”的算法 基本结构的特点: ()只有一个入口; ()只有一个出口; ()没有永远执行不到的语句; ()没有死循环。,2010-3-2,授课教师:夏玮,常用算法,两个变量的值交换,Void main() int x,y,t;t=x;x=y;y=t;printf(“%d”,y); ,计数器和累加器,N=N+1 计数器,N为计数器变量,Sum=Sum+x 累加器,Sum为累加器变量,2010-3-2,授课教师:夏玮,C语言的出现早期的操作系统软件主要是由汇编语言编写的(包括UNIX操作系统)。由于汇

12、编语言依赖于计算机硬件,程序的可读性和可移植性都比较差。为了提高系统软件的可读性和可移植性,希望采用高级语言进行编写。但是一般的高级语言难以实现汇编语言的某些功能:不能直接对硬件进行操作。例如对于内存地址的操作、位操作等。因此,一种兼具高级语言和汇编语言优点的语言-C语言出现了。,2010-3-2,授课教师:夏玮,1.2 C语言的特点,1、语言简练 仅有 32 个关键字 9 个控制语句 程序书写形式自由,主要用小写字母表示,压缩了一切不必要的成分。比其他许多高级语言简练,源程序短,因此输入程序是工作量少。,2、运算符丰富共有34种运算符,运算类型丰富、表达式多样化,可以实现其他高级语言无法实现

13、的运算。,3、数据类型丰富既有整型、实型、字符型、数组等常见数据类型,也有指针、结构体、共用体等数据类型。利用这些数据类型,可以描述实际应用中的各种数据结构。,2010-3-2,授课教师:夏玮,4、C语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。 C语言既具有高级语言的功能又具有低级语言的许多功能,可以用来编写系统软件,同时又是通用的程序设计语言,5、语法限制不太严格,程序设计自由度大。 一般的高级语言语法检查比较严格,能检查出所有的错误,但是C语言给程序的编写者很大的自由度,放宽了语法的检查。,6、C程序执行效率高、可移植性好生成的目标代码执行效

14、率高,略低于汇编程序生成的目标代码,但可移植性远好于汇编语言。,2010-3-2,授课教师:夏玮,C程序示例,int max(int x,int y) int z;if(xy)z=x; /*求x、y中较大者*/else z=y;return z; void main(void) int a,b;scanf(“%d%d”, , 任何C程序是由一个主函数和若干其他函数构成的。 main是主函数 void表示此函数是一个空类型,及执行此函数后不产生一个函数值。每个C语言程序都必须有一个main函数。 每个函数是一个功能模块函数是C程序的基本单位。,2010-3-2,授课教师:夏玮, 一个函数由函数的

15、首部和函数体两部分构成。 函数体中包括为实现模块的功能需定义的变量和语句。每条语句是向CPU发出的一条命令。,max的函数体,int max(int x,int y) int z;if(xy)z=x /*求x、y中较大者*/else z=y;return z; void main(void) int a,b;scanf(“%d%d”, ,max函数的首部,2010-3-2,授课教师:夏玮,每个语句必须以分号结尾,分号必不可少。 C程序书写格式自由,既可以一行内写多个语句,也可以把一个语句写在多行上。 可以对程序加以注释,以提高程序的可读性.,int max(int x,int y) int z

16、;if(xy)z=x; /*求x、y中较大者*/else z=y;return z; void main(void) int a,b;scanf(“%d%d”, ,注释,2010-3-2,授课教师:夏玮, 函数A可以调用函数B来使用函数B所实现的功能。 被调用的函数既可以是TC提供的库函数,也可以是用户自编的函数。 一个C程序总是从main函数开始执行的,不论它出现在程序的什么位置。,调用max,调用库函数printf,int max(int x,int y) int z;if(xy)z=x; /*求x、y中较大者*/else z=y;return z; void main(void) int

17、 a,b;scanf(“%d%d”, ,2010-3-2,授课教师:夏玮,1.3 C程序的开发步骤,所谓程序,就是一组计算机能识别和执行 的指令。每一条指令使计算机执行特定的操作。用高级语言编写的程序称为“源程序 (source program)”。 实际上,计算机只能识别和执行由0和1组成的二进制的指令,而不 能识别和执行用高级语言写的指令。为了使计算机能执行高级语言源程序,必须先用一 种称为“编译程序“的软件,把源程序翻译成二进制形式的“目标程序(object program)“ , 然后再将该目标程序与系统的函数库以及其他目标程序连接起来,形成可执行的目标程序。,2010-3-2,授课教师:夏玮,编辑源程序,得到源程序文件f.c,编译源程序文件,得到目标文件f.obj,链接目标文件和函数库文件,得到可执行文件f.exe,运行可执行文件,得到结果,开始,2010-3-2,授课教师:夏玮,开始,编辑,有错?,连接,执行,结果正确?,结束,可执行目标程序 f. exe,库函数和其他目标程序,目标程序 f.obj,源程序 f.c,编译,有,不正确,无,正确,2010-3-2,授课教师:夏玮,编译环境,为了编译、连接和运行C程序,必须要有相应的C编译系统。可使用不同的编译系统对C程序进行操作,常用 的有Turbo C 2.0、Turbo C 3.0、 Visual C 6.0 等。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报