完整word版《C语言程序设计》-谭浩强(第四版)教学案.doc_第1页
完整word版《C语言程序设计》-谭浩强(第四版)教学案.doc_第2页
完整word版《C语言程序设计》-谭浩强(第四版)教学案.doc_第3页
完整word版《C语言程序设计》-谭浩强(第四版)教学案.doc_第4页
完整word版《C语言程序设计》-谭浩强(第四版)教学案.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、完美 WORD 格式C语言程序设计教案课程名称C 语言程序设计教材C语言程序设计(第四版)作者:谭浩强清华大学出版社考核方式考试课程。总成绩:课堂参与占 10%;试验报告占 20%;期末考试占70%(闭卷考试) 。C 语言是近年来国内外得到迅速推广使用的一种计算机语言。C 语言程序设计课程是计算机专业和信息管理专业的核心专业基础课, 它功能丰富, 表达能力强, 使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的优点。既适用于应用软件编写,又适用于系统软件的编写。在现代的工业机器人的众多语言中,大多编程风格以C 语言非常类似,学生学好C 语言,对将来的工作

2、中,从事工教业机器人现场编程是非常有帮助的。课程的性质和任务学语言程序设计这门课是我校工业机器人、分布式发电与微电网专业的专业必修课。基本作为计算机系的数据结构、c+、单片机编程等课程的前导课程,也是一门实践性很强的目课程,既要掌握概念,又要动手编程,还要上机调试运行。对工业机器人专业来说是一的门必修的课程。和同时,这门课程也是“湖南省非计算机专业学生计算机应用能力水平考试”二级考要试的主要语种之一。求课程的教学目标本课程的教学目标是:通过理论和实践教学,使学生较好地掌握C 语言各方面的知识,掌握基本的程序设计过程和技巧,具备初步的高级语言程序设计能力,并能熟练应用VC+6.0 集成环境进行

3、C语言的编写、 编译与调试, 能应用 C 语言解决一般编程问题的水平。专业 知识分享完美 WORD 格式一、程序设计和C 语言重点:计算机程序、计算机语言、C 语言编译软件的安装、最简单的C语言程序二、算法:程序的灵魂重点:简单的算法举例、算法的特性、用流程图表示算法。三、顺序结构程序设计重点:C 语言的数据类型、C 语句的种类、赋值语句、数据的输入输出及输入输出中最常用的控制格式。四、选择结构程序设计重点:关系运算符与逻辑运算符及其组成的具有逻辑值的表达式、二条分支语句的格式及基本应用、多分支的选择语句。五、循环结构程序设计重点: C构成循环的四种方法,尤其是后三种方法、break 与 co

4、ntinue语句的基本作用。难点: while 语句; do-while 语句; for 语句;循环的嵌套;break 与 continue语句。六、数组重点:一维数组、二维数组的定义与引用;字符数组的定义与引用、常用字符串处教理函数及字符处理函数;数组的应用难点:二维数组的定义与引用;字符数组;数组的应用学重七、函数点重点:函数的定义;函数的参数和函数的值;函数的调用;函数的嵌套调用;和函数的递归调用;数组作为函数参数;变量作用域;量存储类别;难难点:函数定义、函数调用、函数声明等基本基本概念;函数的嵌套调用与递归调点用; 数组作为函数的参数、变量的存储类别与作用域。八、指针重点和难点:指针

5、与地址的基本概念、指针与变量的关系;指针与数组;指针与字符串、指针数组与二级指针;指针的应用九、建立自己的数据类型重点和难点:定义和使用结构体变量、用指针处理链表、共用体类型十、文件重点:文件的基本知识、fopen 、 fclose 函数打开与关闭文件、顺序读写数据文件、随机读写数据文件难点:用二进制方式向文件读写一组数据。十一、常见错误分析重点和难点:文件的基本概念;文件的打开、关闭、常用读写方法。十二、数组高级应用重点:不定长数组与二维数组的应用难点:不定长数组与二维数组的应用十三、综合应用重点:数组、 if 语句、循环语句、函数知识的综合应用难点:二维数组、指针专业 知识分享完美 WOR

6、D 格式教材、教材:C 程序设计(第四版) 谭浩强著 清华大学出版社 2010 年 6 月参考书参考书: C 程序设计语言 Kernighan&Ritchie机械工业出版社C语言程序设计教案第 1-2 课时授课内容第1章C语言概述教学目的了解 C 历史,名称来源、C 特点,掌握C 程序基本结构;C 语言的版本、C 语言的关键字;和要求重点难点教学安排C 语言的关键字;引言语言:人人语言交流;聋哑人手势语;人机计算机语言C 语言是一种流行的计算机高级语言,C 语言适合于编写系统软件,也可以编写应用程序。讲授一、语言出现的历史背景( 1) C 语言的发展源于人们希望用高级语言编写操作系统。 ( C

7、-BCPL第二字母)ALGOL60(高级语言) -CPL(硬件支持) - BCPC-B-C- 标准 C- ANSI C - ISO C( 2) 语言既具有高级语言特性,又具有低级语言特性 - 中级语言。二、 C 语言的特点C 语言既具有一般高级语言特性,又具有低级语言特性。8 个特点。1、 C 语言简洁、紧凑。2、运算符丰富。3、数据结构类型丰富。4、具有结构化的控制语句。5、语法限制不太严格,程序设计自由度大。6、C 语言允许直接访问物理地址,能实现汇编语言的大部分功能,可以直接对硬件进行操作。7、生成目标代码质量高,程序执行效率高。8、与汇编语言相比,用C语言写的程序可移植性好。三、 C

8、语言的关键字附录 C(书本 378 页)四、 C 语言的版本和关键字auto 、 inline、 restrict、_bool 、 _Complex、_Imaginary是后来扩充的,有些编译器也扩充了关键词。五、 Turbo C 编译器的安装与使用专业 知识分享完美 WORD 格式课后自我总结分析备注C语言程序设计教案第 3-4课时授课内容第 1 章 VC+6.0、 VS2015的安装和使用教学目的了解 C 语言常用的编译器;掌握VC+6.0、 VS2015的下载与安装;和要求掌握 VC+6.0、VS2015的使用重点重点: VC+6.0、 VS2015的使用难点难点: VC+6.0、 VS

9、2015的使用讲授一、 C 语言常用的编译器( 1) 32 位的 WINDOWS操作系统与 64 位的 WINDOWS操作系统( 2) VC+6.0 ( 2) VS2015二、文件夹与压缩包1、文件夹2、文件的压缩与解压3、软件的下载教4、软件安装的一般流程学5、产品 id 号、序列号与破解补丁安三、 VC+6.0、 VS2015的下载与安装排7、生成目标代码质量高,程序执行效率高。8、与汇编语言相比,用 C语言写的程序可移植性好。四、 VC+6.0、 VS2015的使用VC+6.0、 VS2015的使用五、 c4droid编译器的使用1、基于安卓手机操作系统的C 语言编译器2、 c4droi

10、d编译器的安装3、c4droid 编译器的使用六、上机演示及实践操作在 win7 电脑上示范VC+6.0、VS2015的编译器的安装和使用专业 知识分享完美 WORD 格式课后自我同学们对计算机基础知识比较缺乏,安装VC+6.0 时,不知道如何解压,也不知道如何下总结分析载和计算机操作系统版本匹配的VC+6.0 或 VS2015备注C语言程序设计教案第 5-6 课时授课内容第 2 章 算法的基本概念和简单算法举例教学目的了解算法的基本概念、程序设计的一般流程、掌握书写简单的算法流程、了解算法的特性和要求重点掌握书写简单的算法流程。难点专业 知识分享完美 WORD 格式引言(5 分钟)什么是算法

11、?菜谱、拳谱、歌谱都是广义的算法。以湘潭去北京开会为例解释算法的优劣。1+2+3+100 的常规算法和高斯的首尾相加快递算法讲授一、简单算法举例( 37 分钟)( 1)求 5!( 10 分钟)常规求解方式的烦琐引出用循环方式求解的方法。分析用循环方式求 5!的 C 语言代码( 2)求 1 3 45 79 11( 10 分钟)询问同学此题与 5! 的异同,引每项是2n-1的通项,在上题的基础上改动少量代码可实现本教题的 C 语言编程。学( 3)求 2000-2500 年间的闰年( 10分钟)安图示方式给学生解说闰年要满足的条件,引出要做多次判断的较复杂流程排提问:能被4 整除,也能被 100 整

12、除,是不是等同能被400 整除这一认识误区再次提问:2000 年是不是闰年,为什么?2060 年是不是闰年,为什么?检测学生是否了解闰年判断流程。(4) 素数的求法( 7 分钟)根据素数的定义来循环判断是否能被一系列数整除,最后判断是不是素数,请学生尝试写出求解流程。二、算法的特性( 3 分钟)1、有穷性。 2、确定性。 3、 0 个或多少输入。4、 1 个或多个输出。5、有效性。三、上机演示及实践操作在讲课的同时切换软件界面调试代码课后自我通过提问可以了解同学们对知识的掌握程序,互动性的教学设计更有益于教学总结分析备注C语言程序设计教案第 7-8 课时授课内容第 2 章 算法的表示教学目的掌

13、握用流程图表示算法;了解传统流程图的弊端;掌握N-S 流程图表示方法。和要求重点重点:掌握用流程图表示算法;掌握N-S 流程图表示方法难点难点:掌握用流程图表示算法;掌握N-S 流程图表示方法专业 知识分享完美 WORD 格式讲授一、用流程图表示算法 (15 分钟)1、介绍流程图的图框及含义起止框、输入输出框、判断框、处理框、流程线、连接点、注释框2、示范用流程图表示两个分支的if语句3、将例 2.1的算法用流程图表示并分析4、将例 2.2的算法用流程图表示并分析5、将例 2.3的算法用流程图表示并分析总结:流程图表示算法比较直观2、将例 2.4多项式求和用流程图表示教( 1)、书本求解本题算

14、法的流程图表示( 2)、其它算法的流程图表示学安二、三种基本结构和改进的流程图( 15 分钟)排1、统流程图的弊端2、三种基本结构( 1)顺序( 2)选择( 3)循环 分当型和直到型两种二、用 N S 流程图表示算法( 15 分钟)1、 N-S 流程图的符号2、将例 2.1 的算法用N-S 流程图表示并分析3、将例 2.2 的算法用N-S 流程图表示并分析4、将例 2.3 的算法用N-S 流程图表示并分析三、实践环节对“分时问候”的算法绘制N-S 流程图课后自我总结分析备注C语言程序设计教案第 9-10 课时授课内容第 3 章 最简单的 C程序设计顺序程序设计教学目的举例说明顺序程序调序的基本

15、流程、整型数据类型、整型数据的溢出。和要求重点重点:整型数据类型;整型数据的溢出难点难点:整型数据类型;整型数据的溢出专业 知识分享完美 WORD 格式讲授一、顺序程序设计举例(10分钟 )1、绘制例3.1 算法的 N-S 流程图2、根据 N-S 流程图编写代码并调试二、常量与变量(15 分钟 )1、常量概念。(1)整型常量、整型常量、字符常量、字符串常量(2)ASCII 字符(3)转义字符教2、变量概念、变量名(1)先定义,后使用学安(2) 变量名与变量值概念的异同排三、数据类型概述(5 分钟 )1、不同类型的数据在内存中占用的存储单位长度是不同的VC+6.0 为字符型数据分配一个字节长度;

16、为int型(基本型)分配4 个字节的长度。2、存储不同数据类型的方法也是不同的。四、整型数据(15 分钟 )1、整型数据的分类:(1) 基本整型 (int型 ) (2)短整型 (short int); (3) 长整型 (long int)2、整型变量的符号属性(1) 有符号型和无符号型 (2) 整型数据常见的存储空间和值的范围3、整型数据的溢出五、上机演示及实践操作在讲课的同时切换编译界面调试整型数据溢出课后自我总结分析备注C语言程序设计教案第 11-12 课时授课内容第 3 章 最简单的 C程序设计顺序程序设计教学目的举例说明顺序程序调序的基本流程、数据的表现形式及运算、不同数据类型的混合运

17、算。和要求专业 知识分享完美 WORD 格式重点整型数据类型long int和 short int数据类型、运算符的优级先级、不同数据类型的混合难点运算讲授一、浮点型数据1、浮点型数据的存储方式2、浮点型数据的表现形式浮点数据的指数形式3、浮点型数据的类型( 1)单精度 ( 2)双精度 ( 3)长双精度二、字符型数据1、 字符常量表示。直接表示 / 转义表示(特殊的转义字符,一般字符也可以转义表示) 。特殊转义字符对显示 / 打印的控制作用2、 字符变量 1 个字节, char 关键词。教3、 字符数据的存储 ASCII 码 / 二进制存储 C 语言可以将字符看做很短的整数处理。学例 2-7A

18、 ,例 2-8A 可以看出字符数据的具有整数特性。安三、怎样确定常量的类型排1、从常量的表示形式,如精度2、只要看到单撇号括起来的单个字符或转义字符即字符常量四、运算符与表达式1、基本的算术运算符2 、自增、自减运算符3、算术表达式和运算符的优先级与结合性五、数值型数据混合运算1、自动隐式转换。 2、强制类型转换。六、 C语句1、控制语句2 、函数调用语句3、表达式语句4、空语句5、复合语句七、上机演示及实践操作在讲课的同时切换编译界面调试整型数据溢出课后自我总结分析备注C语言程序设计教案第 13-14 课时授课内容第 4 章(1) 选择结构程序设计专业 知识分享教学目的和要求重点难点完美 W

19、ORD 格式理解条件 - 产生逻辑值的表达式 ; 熟练绘制选择语句算术的流程图掌握关系运算符、关系表达式;逻辑运算符、逻辑表达式重点:关系运算符、关系表达式;逻辑运算符、关系表达式难点:熟练绘制选择语句算术的流程图讲授一、选择结构的条件判断1、理解条件 - 产生逻辑值的表达式教学安排课后自我总结分析备注2、选择结构的流程图绘制3、二元二次方程求根的算法及程序编写二、关系运算符与关系表达式“关系运算” (比较运算)即,将两个值进行比较,判断是否符合或满足给定的条件。1、 关系运算符及其优先次序a) C 语言提供 6 种关系运算符。表 5-1 。b) 关于优先次序:前 4 种高于后两种;关系低于算

20、术;关系高于赋值例 5-2。2、 关系表达式关系表达式的值是逻辑值,即“真”“假”。 C 语言没有逻辑型数据,1“真”, 0“假”。例 5-3。三、逻辑运算符和逻辑表达式“关系运算” (比较运算)即,两个逻辑值的运算。1、 逻辑运算符。 ( 1)&逻辑与 , ( 2)|逻辑或 , ( 3)!逻辑非2、 逻辑运算符的优先顺序:3、 逻辑表达式四、条件运算符与条件表达式1、单目运算符、双目运算符、三目运算符的概念2、 C 语言唯一的三目运算符构成的条件表达式 C语言程序设计教案第 15-16 课时专业 知识分享完美 WORD 格式授课内容第 4 章(2) 选择结构程序设计教学目的选择结构的嵌套;s

21、witch语句实现多分支选择结构和要求重点难点重点:选择结构的嵌套; switch 语句实现多分支选择结构难点:选择结构的嵌套; switch 语句实现多分支选择结构讲授一、 if语句的嵌套1、在 if语句中又包含一个或多个if语句称为if语句的嵌套。2、如果if与 else的数目不一致,为了体现程序设计者的思想,可加花括号来确定配对的关系。3、利用代码缩进增强代码的可读性,养成良好的编程风格4、例 4.5 阶跃函数用if语句的嵌套实现(1) 绘制流程图 (2) 将流程图编写成程序教二、用 switch 语句实现多分支选择结构学如果条件分支较多, 利用 if语句显得程序冗长,且可读性降低。 因

22、此, C 语言设计了 switch安语句。排1、 switch语句的一般形式2、例 4.6输出考试成绩的ABCD段等级(1) 绘制流程图 (2) 将流程图编写成程序3、例 4.7用 switch语句处理菜单命令三、选择结构程序设计综合举例例 4.8 判断某一年是否是闰年例 4.9 求二元二次方程的实根四、上机演示及实践操作在讲课的同时切换软件界面调试代码课后自我总结分析备注 C语言程序设计教案第 17-18 课时专业 知识分享完美 WORD 格式授课内容教学目的和要求重点难点第 5 章(1) 循环结构程序设计掌握 while 当型循环、 do while直到型循环、 for 循环while 当

23、型循环、 do while 直到型循环、 for 循环的形式、执行过程、使用注意问题引言重复执行就是循环。重复工作是计算机特别擅长工作之一。重复执行不是简单地重复,每次重复,操作的数据(状态、条件)都可能发生变化。重复的动作是受控制的,C 语言提供三种循环控制语句,构成了三种基本的循环结构。讲授一、 while语句(当型循环)1、 while语句的一般形式是:2、执行过程是: (流程图、 N-S 图)3、使用 while注意的问题。例 5-1 :利用 while 语句,编写程序计算 1+2+3+ +100。教二、 do-while语句(直到型循环)学安1、 do-while 语句的一般形式排2

24、、 do-while 执行过程(流程图)3、 do-while 说明:例 5-4 :利用 do-while 语句计算机 1+1/2+1/4+ +1/50 。三、 for语句(当型循环)1、 for语句的一般形式(给出while 循环的对应结构)2、 for循环执行过程(流程图)例 5-6:写一个程序,计算半径为0.5,1.5,2.5,3.5,4.5,5.5mm时圆的半径。例 5-7:求正整数 n 的阶乘 n!,其中 n 由用户输入。3、 for语句最容易理解、最常用的形式4、 for语句说明( 6 点)。 C 语言的 for 语句功能强大,使用灵活。四、上机演示及实践操作在讲课的同时切换软件界

25、面调试代码课后自我总结分析备注C语言程序设计教案专业 知识分享完美 WORD 格式第 19-20 课时授课内容第 5 章(2) 循环结构程序设计教学目的掌握条件运算符、条件表达式和要求掌握 switch-case语句重点难点switch-case语句引言a) 复习关系运算、逻辑运算、 if 语句b) 引入简单的条件运算符及表达式、以及开关语句讲授一、条件运算符、条件表达式在 if 语句中,在表达式为“真”和“假”时,都只执行一个赋值语句给同一个变量赋值时,可以使用简单的条件运算符来处理。例如: if(ab)max=a;else max=b; max=ab?a:b;(1) 条件表达式的一般形式:

26、表达式1?表达式 2:表达式 3(2) 条件表达式说明( 5 点)教例 5-4.学二、 switch-case语句(多分支选择语句/ 开关语句)安排3、 switch 一般形式4、 switch 语句说明。 (1)-(7)三、分支程序例子例 5.5 写程序,判断某一年是否是闰年。例 5.6 求一元二次方程 ax2+bx+c=0 的根。例 5.7 运输公司对用户计算运费。六、应用举例例 6-14 :从键盘输入一个大于 2 的整数 n,判断是不是素数。例 6-15 :求 100-200 之间的所有素数。例 6-16 :输出下三角 99 乘法表七、上机演示及学生操作在讲课的同时切换软件界面调试代码课

27、后自我总结分析备注C语言程序设计教案专业 知识分享授课内容教学目的和要求重点难点教学安排课后自我总结分析备注完美 WORD 格式第 21-22 课时第 6 章(1)一维组的应用数组的基本概念;一维数组定义、初始化、引用;最大值、冒泡排序、选择排序算法。重点:一维数组定义、初始化、引用;求最大值、冒泡排序、选择排序算法;矩阵操作难点:冒泡排序、选择排序算法引言基本数据类型构造类型的数据数组数组、数组元素、数组的下标、数组的维数例如: int a10;一维数组可以看作一个数列,向量。例如: float b33;二维数组可以看作一个矩阵。讲授一、定义和引用一维数组1、一维数组的定义类型说明数组名 整

28、型常量表达式2、一维数组定义说明下标从 0 开始3、数组元素的引用例 6.1 利用数组输出 1-10(1) 循环语句(2)数组下标越界4、一维数组的初始化的几种形式( 1)定义时赋初值( 2)部分赋初值( 3)数组元素全部置0( 4)数组元素如全部赋值可不指定长度5、给数组元素赋初值和给数组集合赋初值的异同(1)给数组元素赋初值int temp1=9;(2)给数组集合赋初值int temp10=(1,2,3);二、一维数组的应用例子例 6-2:用数组来处理斐波那契数列例 6-3:采用“冒泡法”对任意输入的10 个整数按由小到大的顺序排序。例 6-4 :采用“选择法” 对任意输入的 10 个整数

29、按由大到小的顺序排序。三、动态内存分配法实现不定长一维数组某些情境需要定义一个数组,但数组的长度不定,因为这个长度是根据某些其他条件确定的,这时我们需要定义一个长度不定的数组。如读取不同声音的语音数据序列。C语言程序设计教案专业 知识分享完美 WORD 格式第 23-24 课时授课内容第 6 章(2)二维数组和多维数组的应用教学目的二维数组定义、初始化、引用;多维数组和要求重点重点:二维数组定义、初始化、;双重 for循环读取二维数组;二维数组1 维和 2 维的分辨;难点难点:双重for循环读取二维数组、二维数组 1 维和 2 维的分辨二、二维数组( 注意:类比一维数组)1、二维数组的应用场景

30、2、二维数组的定义3、二维数组元素的内存分布二、二维数组元素的引用例 6-5 :二维数组元素的引用的例子(自学)- 构造、打印单位矩阵。思考:下标是从1 开始使用的,哪些元素在此例子中未使用?它们的值是多少?(随机值)三、二维数组的初始化的几种形式( 1)分行给二维数组赋值( 2)将所有数组写在一个花括号内( 3)对部分元素赋值教( 4)对全部元素赋初值,二维数组的1 维长度可以省略,2 维长度不能省略四、双重 for 循环法读取二维数组学安比较抽象,图解较直观排五、二维数组应用举例例 6-4 :将二维数组的行和列互换,存到另一个数组里。例 6-5 :找出矩阵所有元素中的最大值。例 6- 附加

31、 分别计算矩阵的两条对角线(主、辅对角线)上的元素之和。六、多维数组的应用1、多维数组的定义2、多维数组元素的引用3、多维数组的初始化七、不定长二维数组的实现某些情境需要定义一个二维数组,但二维数组的长度不定,因为这个长度是根据某些其他条件确定的,这时我们需要定义一个长度不定的二维数组。如读取不同尺寸图像点的像素值。八、上机演示及学生操作在讲课的同时切换软件界面调试代码课后自我总结分析备注C语言程序设计教案专业 知识分享完美 WORD 格式第 25-26 课时授课内容第 6 章(3)字符数组教学目的字符数组定义、初始化、引用;字符串与字符数组;字符串处理函数;字符数组应用和要求重点重点: 字符

32、串与字符数组;字符串处理函数难点难点: 字符串与字符数组;字符串处理函数引言复习数组概念,数组定义、初始化、元素引用方法。引入字符数组(元素为字符)。讲授一、字符数组1、字符数组的定义2、字符数组的初始化3、字符数组的引用4、二维字符数组的应用举例二、字符和字符串结束标志1、字符串与字符数组的区别2、字符串结束标记志系统对字符串常量也自动加一个0作为结束符。例如 C Program ”共有9 个字符,但在内教存中占 10 个字节,最后一个字节0是系统自动加上的。 (通过 sizeof()函数可验证)学三、字符数组的输入和输出安( 1)逐个字符输入输出排( 2)将整个字符串输出( 3)利用字符串

33、的结束符批量输出四、字符串概述1、字符串的输出(1) “ %s”格式符(2)print语句的输出项参数用字符数组名,而非数组元素名2、字符串的引用五、由字符数组来构造字符串根据定义,可由字符数组添加一个0符形成字符串。六、二维字符数组1、二维字符数组的定义2、二维字符数组的初始化3、二维字符数组的引用课后自我总结分析备注C语言程序设计教案专业 知识分享完美 WORD 格式第 27-28 课时授课内容第 6 章 (4)字符串函数的应用教学目的字符数组定义、初始化、引用;字符串与字符数组;字符串处理函数;字符数组应用和要求重点重点: 字符串与字符数组;字符串处理函数难点难点: 字符串与字符数组;字

34、符串处理函数讲授一、使用字符串处理函数1、 puts函数2、 gets函数3、 strcat函数:字符串截取函数4、 strcopy和 strncopy 函数:字符串复制函数5、 strcmp函数:字符串比较函数6、 strlen测试字符串长度函数7、 strlwr函数:转换为小写的函数8、 strupr函数:转换为大写的函数二、字符数组应用举例教例 6.8:由键盘任意输入一个字符串和一个字符,要求从该字符串中删除所指定的字符。学例 6.9:由键盘输入三个字符串,找出其中的最大串。(字符串库函数的应用)安三、学会阅读C 标准函数手册排附录 FC库函数1、引用预编译头文件include(包含头文

35、件)2、学会阅读函数库函数的函数类型和参数四、字符数组函数的综合练习1、打印杨辉三角形2、有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。3、魔方阵,要求输出1n24、找出二维数组的鞍点,即该位置上的元素在该行上最在、在该列上最小,也可能没有鞍点。5、编一程序,将两个字符串连接起来,不要用strcat函数。四、上机演示及学实践操作在讲课的同时切换软件界面调试代码课后自我总结分析备注 C语言程序设计教案第 29-30 课时专业 知识分享完美 WORD 格式授课内容第 7 章 (1)函数及函数的调用教学目的掌握函数定义、调用、声明;函数参数传递方式;了解函数递归调用和要求重

36、点重点:函数定义、调用、声明;函数参数传递方式难点难点: 函数参数传递方式传址(尚未学习指针,用数组举例)讲授一、函数概述1、 C 语言的函数。 C 语言的函数是子程序的总称,包括函数和过程。C 语言函数可以分为库函数、用户自定义函数2、C 语言的程序由函数组成,函数是 C 语言程序的基本单位,程序的总体功能通过函数的调用来实现。其中, main 起点(图)3、函数的一些概念:主函数、其它函数;主调函数、被调函数;库函数、用户自定义函数;无参函数、有参函数;无返回值函数、有返回值函数二、函数的一般形式函数应当先定义,后调用。函数定义的一般形式及说明(1)(2)例 7-1 :输入三个整数,求三个

37、整数中的最大值,打印。思考问题。教三、函数的参数和返回值学1、 形式参数 2 、实际参数 3 、参数的传递。安2、 函数返回值。 return 语句及说明。排四、函数的调用1、 函数调用的一般形式及说明( 单独语句 / 表达式中、参数相容)例 7-3 :以表达式的形式进行函数的调用。(自学)2、 函数调用时数据的传递- 参数传递、函数的返回值、全局变量例 7-4 :求学生平均成绩。P110. (注意参数传递的是数组的地址)3、 函数的声明例 7-5 :函数声明例子。 P112.五、函数的嵌套调用和递归调用函数允许嵌套调用和递归调用。递归调用是嵌套调用的特例。(1) 函数的嵌套调用例 7-6 :

38、计算两整数的最小公倍数。 P113.(2) 函数的递归调用例 7-7 :用递归法求n! (P.114 )课后自我总结分析备注 C语言程序设计教案第 31-32 课时专业 知识分享完美 WORD 格式授课内容第 7 章 (2)函数变量的作用域和生命周期教学目的掌握变量作用域、生命期和要求掌握插入排序重点重点:变量作用域、生命期;插入排序难点难点:变量作用域、生命期;插入排序讲授六、变量的作用域(有效范围、可见性)变量的作用域:变量的有效范围或者变量的可见性。变量定义的位置决定了变量的作用域。变量从作用域(变量的有效范围,可见性)的角度可以分为:局部变量,全局变量。1、局部变量(函数体内变量、形参

39、变量、复合语句内变量)互不干预、动态分配例 7-8 :各函数局部变量同名的应用示例。P116-117.2、全局变量(所有函数之外文件作用域、程序作用域)全局变量可以和局部变量同名坐井观天例 7-9 :全局变量、局部变量同名的应用示例。P118。例 7-10:全局变量、局部变量的应用示例。P118。教七、变量的存储类别(生存期、生命期)学变量从空间上分为局部变量、全局变量。安从变量存在的时间的长短(即变量生存期)来划分,变量还可以分为:动态存储变量、静态排存储变量。变量的存储方式决定了变量的生存期。C 语言变量的存储方式可以分为:动态存储方式、静态存储方式。全局变量全部是静态的;局部变量可以是静

40、态,也可以是动态(auto,register )。例 7-11:寄存器局部变量的应用 .P120. (完成 n+(n-1)+(n-2)+.+1)例 7-12:静态局部变量的应用示例。 P121.八、内部函数和外部函数默认是外部函数九、函数应用举例例 7-14 :字符串逆序。 P124.例 7-15 :求矩阵最大元素。 P124-125.例 7-16 :利用插入法将10 个字符从小到大进行排序。P125-126.课后自我总结分析备注C语言程序设计教案专业 知识分享完美 WORD 格式第 33-34 课时授课内容第 8 章 (1)指针概述及指针作为函数参数教学目的指针的基本概念,变量访问方式;指针

41、变量定义、赋值、引用。和要求指针作为函数参数。重点重点:指针的基本概念;指针变量定义、赋值、引用;指针作为函数参数难点难点:指针的基本概念讲授指针基础一、指针变量的定义(变量先定义后使用)1、定义格式:2、说明:(1)指针变量基类型- 指针变量指向数据的类型(2) 指针变量存放地址值,本身占用空间2 字节二、指针变量的赋值 (使用未赋值指针等同于向一个随机的内存中写入数据)1、将地址直接赋值给指针变量。例如,float *f=malloc(4);2、将变量地址赋值给指针变量。例如:float a,*p; p=&a;三、指针变量的引用1、 &运算符(取地址运算符)2 、 * 运算符(指针运算符、

42、间接访问运算符)教例 9-1 ,P137. 指针变量定义、赋值、引用例子。学四、指针变量作为函数的参数安变量可以作为函数参数,指针变量同样可以作为函数参数。使用指针作为函数参数,可排以在函数中对指针所指向变量的值进行处理(修改)。指针作为函数参数,本质上同样是单向传值,但是由于传递的是地址值,所以可以通过地址值间接修改形参、实参共同指向的变量。例 9-2 :输入 a,b 两个数交换后输出。在 swap 函数中使用两个指针作为函数参数,对两个指针所指向变量值进行交换。结论:1、要在被调用函数中,修改主调函数的变量值应当:( 1)将主调函数变量的地址传递给被调用函数,就是说函数应当传递的是变量的地址。( 2)被调用函数的形参应当使用指针变量接受主调函数的地址值。( 3)在被调用函数中通过形参指针变量间接访问,修改实参、形参地址所共同指向的变量。本例的操作是交换两个指针变量所指向的变量。2、函数使用指针作为参数,可以增加主调函数与被调函数之间数据沟通的渠道。课后自我总结分析备注专业 知识分享完美 WORD 格式C语言程序设计教案第 35-36 课时授课内容第 8 章 (2)通过指针引用数组教学目的 通过指针引用数组元素;数组的指针

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论