《《C语言程序设计》教案(清华谭浩强)》由会员分享,可在线阅读,更多相关《《C语言程序设计》教案(清华谭浩强)(85页珍藏版)》请在金锄头文库上搜索。
1、第一章语言及程序设计概述本章要求: 了解C语言的特点、C语言与其它高级语言相比有什么异同; 了解C程序在PC机上的建立、编译和运行过程; 了解C语言程序设计思想的基本篇;重点:C语言的主要特点; C语言在PC机上的运行过程及上机操作过程; 常用算法的应用难点:无一、C语言概述 C语言是目前国际上在各种计算机运行较为广泛流行的一种高级语言。 主要表现为: C语言:适合于作为系统描述语言可用来写系统软件。 具有高级语言的特点,又有低级语言(汇编语言)的特点。 C语言:是AT&T贝尔实验室的Dennis Ritchie在1972年发明的。 C语言:是在B语言的基础上发展起来的。(ALGOL 60)
2、C语言:最早开始是用于UNIX操作系统。(C语言和UNIX是相辅相成的) DBASE 、Microsoft Exel 、 Microsoft Word、PC-DOS等,则是用C语言加上若干汇编子程序编写的。 1983年:制定的新标准,称为(美国国家标准化协会)ANSI C 1987年:Turbo C1.0 (Borland) 1988年:TC 1.5(图形和文本窗口) 1989年:Turbo C2.0 (DOS操作系统、查错、Tiny模式生成com文件) 1991年:Turbo C+(3.0) 支持windows 3.X 说明:Turbo C语言可以在程序的任何地方嵌入汇编代码,提高速度,可以
3、直接使用存储器和寄存器。二C语言的特点 1语言简洁、紧凑、使用方便、灵活 C语言:共有32个关键字,9种控制语句; 程序书写自由,主要用小写字母表示; 2运算符丰富 C语言的运算符包含的范围很广泛,共有34种运算符; 即:把括号、赋值、强制类型转换都作为运算符处理 3有丰富的数据类型 整型、实型、字符型、数据类型、指针类型、结构体类型、共用体(联合)类型等。实现复杂的数据结构(链表、树、栈、图)的运算。 4具有结构化的功能,用函数作为程序模块,实现程序的模块化 5语法限制不太严格,程序设计自由度大。(放宽了语法检查) 例:1)对数组下标越界不作检查,由程序编写者自己保证程序的正确; 2)整型数
4、据、字符型数据、逻辑型数据可以通用。 6能直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。 7生成目标代码质量高,程序执行效率高。 8用C语言编写的程序,移植性较好。 说明: C语言比其它高级语言难掌握,对编程人员要求较高 程序员使用C语言编写程序会感到限制少、灵活性大,功能强,可以编写出任何类型的程序。三C程序的构成例: main( ) /*主函数*/ int a,b,sum; /*定义变量*/ a=123;b=456; sum=a+b; printf(“sum is %dn”,sum); /*输出变量*/ 说明: 1)程序一般用小写字母书写;
5、2)每个程序必须要有一个main ( ) (只能一个),称主函数; 注:C程序是由函数构成的,函数是C程序的基本单位。 函数:系统提供的库函数;用户设计的函数。 3)程序体必须在 之间; 4)每个语句的结尾,必须要有“;”作为终止符。 5)用/*. */ 作注释四、C程序的上机过程1演示 书:P5 程序2上机步骤 书:P7 注:C语言是一种编译语言,编译语言的特点:连接编译目标程序 *.OBJ执行程序 *.EXE源程序 *.C C编译程序 Link程序 3windows下C语言的运行 目前DOS下运行C语言软件为:visual C+ 6.0 的特点: 是一个把 编辑 编译 连接 运行 等全部操
6、作集中在一个界面上。 (2) visual C+ 6.0的操作及运行 书:P8五、算法的概念 1算法的概念 书:P13 算法:程序的操作步骤。 程序中的数据 在程序设计中: 操作步骤 有: 程序 = 数据结构 + 算法 沃思 Nikiklaus Wirth 程序=算法+数据结构+程序设计方法+语言工具和环境 2 计算机算法分为两大类: 数值运算算法非数值运算算法 (1)数值运算算法:求数值解;通过运算得出一个具体值,如求方程的根等 注:数值运算一般有现成的模型,算法较成熟。 (2)非数值运算算法:用于事务管理,如图书检索、人事管理等。 3、常用简单算法 (1)累乘 即:12345100 12
7、S(结果) S3 S(结果) S4 S(结果) S100 S(结果) (2)累加 即:1+2+3+4+5+100 1+2 S(结果) S+3 S(结果) S+4 S(结果) S+100 S(结果) (3)找最大值 5,2,4,12,9 5 max (max 放最大值,后面的数都和它比较) 2 max 不成立 4 max 不成立 12 max 成立:12 max 9 max 不成立注:该算法可扩展为在一批数据中,找某一个数 (4)其它算法 P15 例 2.2 例 2.3 例 2.4 例 2.5 课余自学(必须) 4、算法的表示 常用的有:自然语言传统流程图结构化流程图伪代码PAD图(1)传统流程
8、图 起止框 输入输出框 判断框 处理框 流程线 连接点表示方法:P19 例注:传统流程图对流程线的使用没有严格限制,难以实现结构化程序设计为了限制流程线的滥用,提出三种基本结构: 顺序结构 选择结构 循环结构 顺序结构 选择结构 f t . f 语句 表达式 表达式 t 语句 语 句 语 句1 语 句2 循环结构 表达式 语 句 语 句 表达式 a) “当型”结构 b) “直到型”结构(2)N-S流程图 特点:去掉了带箭头的流程线,全部算法写在一个矩形框内。 称N-S结构化流程图 P A 成立 不成立 当P1成立 A B A B A 直到P1成立 顺序结构 选择结构 循环结构作业:p37 2.
9、4上机:熟悉visual C+ 6.0的操作及运行第三章 数据类型、运算符与表达式本章要求: 本章是C语言的基本概念开篇,所介绍的概念是学习C语言的基础; 要求熟练掌握数据类型、运算符与表达式。重点:C语言数据类型定义的方法和分类。 C语言运算符、表达式的使用以及它们的主要特点。难点:自增、自减运算符、赋值运算符、逗号运算符及它们的混合使用一数据类型概念:算法处理的对象是数据,而数据是以某种特定的形式出现。在C语言中,数据有:常量、变量;一般它们都有一定的数据类型。 (C语言的数据结构是以数据类型形式出现的)1数据类型分类: 整型 int 基本类型 字符型 单精度型 float 实型(浮点型)
10、 枚举类型 双精度型 double 数据类型 数组类型 构造类型 结构体类型 struct 共用体(联合)类型 union 指针类型 * 空类型 void 说明:在程序中对用到的所有数据都必须指定其数据类型。 2C语言中的常量和变量常量:在程序运行过程中,其值不能被改变的量。变量:在程序运行过程中,其值可以改变的量。 说明:1)常量和变量,都要有一个名字表示它; 习惯上,符号常量(别名)名用大写,变量用小写。 符号常量的定义为: #define P 30 其它常量:直接用数据表示 例: 23 45.5 e 3e+2 2)在C语言中,对变量要先定义,后使用。 3)如果一个变量被指定为一确定类型后,在C语言编译时,就能为其分配相应的存储单元。 a 变量名 存储地址)2000 3 变量值 存储单元 地址的概念 3常用的基本数据类型(1)整型 1)整型常量:十进制整数 123,-11,0