《C语言程序设计》教案.pdf

上传人:无*** 文档编号:87821178 上传时间:2023-04-17 格式:PDF 页数:25 大小:822.48KB
返回 下载 相关 举报
《C语言程序设计》教案.pdf_第1页
第1页 / 共25页
《C语言程序设计》教案.pdf_第2页
第2页 / 共25页
点击查看更多>>
资源描述

《《C语言程序设计》教案.pdf》由会员分享,可在线阅读,更多相关《《C语言程序设计》教案.pdf(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C C 语言程序设计教案语言程序设计教案课程名称总学分:4 学分授课对象C 语言程序设计总学时:64 学时其中:讲课 44 学时实践 20 学时10 统招机电一体考核方式考查课程。总成绩:课堂参与占 30%期末考试占 70%(闭卷考试:程序编写题目)。教学基本目的和要求 C 语言是近年来国内外得到迅速推广使用的一种计算机语言。C 语言程序设计课程是计算机专业和信息管理专业的核心专业基础课,它功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的优点。既适用于应用软件编写,又适用于系统软件的编写。它是数据结构等后续专业课的基础。是程序员、

2、等级考试、一些高校研究生入学考试的必考课程,在计算机专业中是一门举足轻重的课程,因此,学好C 语言是非常重要的。课程的性质和任务课程的性质和任务C 语言程序设计这门课是我校计算机系、电信系的专业基础课、是机械工程系、建筑工程系等专业的公共必修课。作为计算机系的数据结构、c+、操作系统等课程的前导课程,也是一门实践性很强的课程,既要掌握概念,又要动手编程,还要上机调试运行。对计算机专业和理工类专业来说是一门必修的课程。同时,这门课程也是“四川省非计算机专业学生计算机应用能力水平考试”二级考试的主要语种之一。课程的教学目标课程的教学目标本课程的教学目标是:通过理论和实践教学,使学生较好地掌握C 语

3、言各方面的知识,掌握基本的程序设计过程和技巧,具备初步的高级语言程序设计能力,并能熟练应用TURBO C 集成环境进行 C 语言的编写、编译与调试,能应用C 语言解决一般编程问题的水平。教学重点和难点一、一、C C 语言概述语言概述重点:C 程序结构二、数据类型、运算符与表达式二、数据类型、运算符与表达式重点:常用数据类型、常用运算符、数学公式转化为C 语言表达式的基本能力。三、顺序结构程序设计三、顺序结构程序设计重点:C 语句的种类、赋值语句、数据的输入输出及输入输出中常用的控制格式。四、选择结构程序设计四、选择结构程序设计重点:关系运算符与逻辑运算符及其组成的具有逻辑值的表达式、二条分支语

4、句的格式及基本应用。五、循环控制五、循环控制重点:C 构成循环的四种方法,尤其是后三种方法、break 与 continue 语句的基本作用。难点:while 语句;do-while 语句;for 语句;循环的嵌套;break 与 continue 语句。六、数组六、数组重点:一维数组、二维数组的定义与引用;字符数组的定义与引用、常用字符串处理函数及字符处理函数;数组的应用难点:二维数组的定义与引用;字符数组;数组的应用七、函数七、函数重点:函数的定义;函数的参数和函数的值;函数的调用;函数的嵌套调用;函数的递归调用;数组作为函数参数;变量作用域;量存储类别;难点:函数定义、函数调用、函数声明

5、等基本基本概念;函数的嵌套调用与递归调用;数组作为函数的参数、变量的存储类别与作用域。八、编译预处理八、编译预处理重点和难点:有参宏、无参宏的定义与应用;文件包含的基本概念。九、指针九、指针重点和难点:指针与地址的基本概念、指针与变量的关系;指针与数组;指针与字符串、指针数组与二级指针;指针的应用十、结构体与共用体十、结构体与共用体重点:结构体类型的说明及结构体类型变量的定义;结构体变量的引用;结构体变量的初始化;结构体数组;指针与结构体数组;共用体;枚举类型难点:结构体的基本概念、结构类型及变量的定义、结构数组;用指针处理链表;共用体及枚举类型的基本概念、typedef 的基本概念。十一、文

6、件十一、文件重点和难点:文件的基本概念;文件的打开、关闭、常用读写方法。十二、位运算及程序调试十二、位运算及程序调试教材、参考书教材:教材:C 程序设计(第三版)谭浩强著 清华大学出版社 2005参考书:参考书:C 语言程序设计案例教程张基温等 清华大学出版社C C 语言程序设计教案语言程序设计教案授课内容了解 C 历史,名称来源、C 特点教学目的掌握 C 程序基本结构和要求了解 C 程序上机步骤重点难点1、法成分(标识符、注释)2、C 程序基本结构(C 程序由函数组成、main 主函数、C 函数基本结构)引言引言语言:人人语言交流;聋哑人手势语;人机计算机语言C 语言是一种流行的计算机高级语

7、言,C 语言适合于编写系统软件,也可以编写应用程序。讲授讲授一、语言出现的历史背景一、语言出现的历史背景(1)C 语言的发展源于人们希望用高级语言编写操作系统。(C-BCPL 第二字母)ALGOL60(高级语言)-CPL(硬件支持)-BCPC-B-C-标准 C-ANSI C-ISO C(2)语言既具有高级语言特性,又具有低级语言特性-中级语言。二、二、C C 语言的特点语言的特点C 语言是从 ALGOL60、CPL 发展而来,既具有一般高级语言特性,又具有低级语言特性。8 个特点。三、三、C C 语言基本语法成分(重点:标识符,注释)语言基本语法成分(重点:标识符,注释)(1)C 语言字符集。

8、字母、数字、特殊字符。(2)标识符(名字),C 语言标识符定义规则及注意事项。第 1 章 C 语言概述教学安排说明:教师备课笔记由学校自订式样并附后(3)(4)(5)(6)关键词(保留字)。参阅 P234 附录 V。运算符。参阅 P233 附录 IV。分隔符:逗号,空格。起分隔、间隔作用。注释符。/*.*/,编译时编译系统忽略注释。作用:注释、调试程序。四、四、C C 程序结构(程序结构(3 3 个个 C C 程序引入程序引入 C C 程序结构)程序结构)3 个 C 程序例子(最简单 C 程序、有多条语句的 C 程序、调用自定义函数的C 程序)C 程序结构:(1)C 程序由函数组成函数是 C

9、程序的基本单位。程序至少有 1 个 main()(例 1.1),也可以包含 1 个 main()和若干个用户定义的其它函数(例1.3)。C 程序通过函数的调用完成程序的功能。(例 1.1,1.2,1.3)被调用的函数可以是系统库函数(例1.1)或用户自定义函数(例1.3)。特别强调:1 个程序至少应有 1 个 main 函数,main()函数是整个程序的执行起点。main()函数的位置无关紧要。(2)函数结构(用例 1.3 max,main 分别说明)函数头:函数返回类型 函数名(函数参数类型 函数形式参数,.)函数体:包含声明+执行部分C C 语言程序设计教案语言程序设计教案授课内容第 2

10、章 基本语法基础-数据类型了解 C 语言丰富的数据类型;常量、变量的概念掌握变量定义原则和符号常量定义方法教学目的掌握常用基本数据类型(整型、实型、字符型)数据的常量表示、机内存储、变量分类以和要求及掌握正确选择数据类型了解数值型数据混合运算及类型转换规律。重点:变量定义原则常用基本数据类型(整型、实型、字符型)数据的常量表示、机内存储、变量分类,正确选择数据类型重点难点难点:整型数据的机内表示,字符数据的机内表示讲授讲授一、常量与变量一、常量与变量1、常量概念、常量类型,直接常量/符号常量。2、变量概念、变量名/变量在内存中占据的单元/变量值/变量地址。变量先定义后使用。二、整型数据(内存中

11、补码存储)二、整型数据(内存中补码存储)1、整型常数。10,8,16 进制表示2、整型变量分类:基本整型int/长/短;有符号/无符号。观察数据表达范围字节数3、整型变量定义、初始化。例2-2。4、整型数据的溢出。例 2-2A。三、实型数据三、实型数据教学安排1、实型常量表示。小数形式,指数形式e。2、实型变量分类。重要的两种float、double。观察数据表达范围字节数有效数字3、实型数据的舍入误差。例2-3A。四、字符型数据四、字符型数据1、字符常量表示。直接表示/转义表示(特殊的转义字符,一般字符也可以转义表示)。特殊转义字符对显示/打印的控制作用2、字符变量1 个字节,char 关键

12、词。3、字符数据的存储ASCII 码/二进制存储C 语言可以将字符看做很短的整数处理。例 2-7A,例 2-8A 可以看出字符数据的具有整数特性。4、字符串常量。“”括字符序列,尾部有0结束。五、数值型数据混合运算五、数值型数据混合运算(转换为同类型运算)1、自动隐式转换。规则:(1)类型不同,转换为相同类型,然后运算(2)低类型向高类型转换(图)(3)赋值转换。“=”右边类型=左边类型,然后赋值C C 语言程序设计教案语言程序设计教案授课内容第 2 章 基本语法基础-运算符与表达式了解:C 语言的丰富运算符,丰富的运算符可以构成灵活的表达式教学目的掌握算术、赋值、逗号运算符及它们构成的表达式

13、。和要求掌握运算符的优先级、结合性规律。重点难点重点:算术、赋值、自增/减运算符及它们构成的表达式运算符的优先级、结合性规律。引言引言C 语言运算符丰富,C 语言丰富的运算符构成C 语言丰富、灵活的表达式。本章主要介绍算术运算符(包括自增自减运算符)、赋值运算符、逗号运算符。讲授讲授一、算术运算符和算术表达式一、算术运算符和算术表达式1、算术运算符(+、-、*、/)P23.表 3-2。(1)整除的结果为整数,结果向0 取整,实质就是舍去小数.(2)%,要求操作数均为整型。余数的符号与被除数符号相同。例如:-8%5=-3;8%-5=32、算术表达式注意:C 语言算术表达式的书写形式数学表达式的书

14、写形式区别:(1)(4)。3、(算术)运算符的优先级与结合性(P.233 附录 IV)先按运算符的“优先级别”高低次序执行;优先级别相同,则按规定的“结合方向”处理。为了清晰起见可用圆括号“()”强制。例 1:表达式 a-b*c 等价于 a-(b*c)。例 2:a-b+c,到底是(a-b)+c 还是 a-(b+c)?(b先与 a 运算还是先与 c 参与运算?)例 3:分析 x=y=z=3+5二、赋值运算符、赋值表达式二、赋值运算符、赋值表达式1、赋值运算符、赋值表达式(1)赋值运算符(2)赋值表达式。一般形式:变量 赋值符 表达式(3)赋值表达式的求解过程:赋值整个赋值表达式的值。例如:x=1

15、0+y;说明:(1)左变量(2)不具“等”含义(3)类型转换(4)赋值表达式值2、复合赋值运算符复合赋值表达式形式:变量=表达式 等价:变量=变量表达式例如:n+=1等价于 n=n+1;x*=y+1等价于 x=x*(y+1)3、赋值运算符、赋值表达式举例。(1)a=5 (2)a=b=5 (3)a=(b=4)+(c=3)(4)假如 a=12,分析:a+=a-=a*a(答案:-264)三、自增、自减运算符三、自增、自减运算符单目运算符,使变量的值增 1 或减 1。如:+i,i+(等价 i=i+1)-i,i(等价i=i-1)注意:(1)-(4);(前置运算):先自增、减,再参与运算;(后置运算):先

16、参与运算,(整个表达式运算结束后)再自增、减。教学安排C C 语言程序设计教案语言程序设计教案授课内容第 4 章 顺序程序设计了解 C 语言语句分类:控制语句,表达式语句,复合语句掌握表达式语句,复合语句的构成掌握格式化输入/输出函数,常用其它输入/输出函数的使用。教学目的和要求重点难点重点:表达式语句,复合语句的构成格式化输入/输出函数难点:格式控制项的各种形式引言引言程序设计通常采用三种不同的程序结构:顺序,选择(分支),循环(重复)。顺序结构是最简单、最基本的程序结构。通过本章学习,可以开始简单的C 程序设计。讲授讲授一、一、C C 语句概述语句概述C 程序的总体层次结构:程序、模块,函

17、数,语句。语句:是向计算机发出的用来完成一定操作任务的指令。C 语言语句分类:1、控制语句(9 种)2、表达式语句(典型的赋值,函数调用、空语句)3、复合语句(相当一条语句,哪里有语句,哪里就可以用复合语句)二、输入二、输入/输出及其输出及其 C C 语言的实现(补充)语言的实现(补充)1、计算机由主机(CPU、内存),外围设备(输入/输出设备),接口组成2、主机向外部设备“输出”,外部设备向主机“输入”。输入/输出相对主机而言。3、C 语言本身不提供输入/输出语句,输入/输出操作由函数实现。三、格式输入三、格式输入/输出输出1、printf 函数(格式输出函数)(1)格式:printf(格式

18、控制字符串,输出表列)格式控制字符串:(格式控制项、普通字符)输出表列:一般是一个表达式,简单地,可以是变量。(2)格式控制字符 d、o、x/X、u、c、s、f、e/E、g/G 构成控制项的各种常见形式。表 3-1,3-2。注意:不要死记硬背,要总结规律。一般形式:%m n h/l 格式字符2、scanf 函数(格式输入函数)(1)格式:scanf(格式控制字符串,输入表列地址列表)格式控制字符串:含义与printf 类似输入表列地址列表:变量的地址或字符数组的首地址(2)格式控制字符、格式控制项与 printf 类似,表 3-3,4。一般使用更加简单形式。注意:数据读入结束情况:遇空格、TA

19、B、回车;遇非法输入;指定宽度结束。四、其它输入四、其它输入/输出函数输出函数1、putchar 函数一般形式:putchar(字符表达式);2、puts 函数一般形式:puts(char*str);3、gets 函数一般形式:gets(char*str);教学安排五、顺序结构程序设计举例五、顺序结构程序设计举例例 4-3:输入三角形的三边长,求三角形面积。22例 4-5:求 ax+bx+c=0 方程的根。a,b,c 由键盘输入,设 b-4ac0。六、上机演示和学生操作六、上机演示和学生操作1、各个数据输入函数的使用;2、各种数据输出格式的控制。课堂提问讨论课堂提问讨论小结,作业布置小结,作业

20、布置C 语言的格式输入/输出的规定比较繁琐,重点掌握最常用的一些规则和规律即可,其它部分可在需要时随时查阅。C C 语言程序设计教案语言程序设计教案授课内容第 5 章 选择结构程序设计一理解条件-产生逻辑值的表达式教学目的掌握关系运算符、关系表达式;逻辑运算符、逻辑表达式和要求掌握 if 语句重点难点重点:关系运算符、关系表达式逻辑运算符、关系表达式难点:嵌套 if 语句引言引言a)选择结构(分支结构):根据条件,在几个可选择分支中进行选择。C 语言的选择结构可以用(1)if 语句(2)switch 语句(3)“条件运算”表达式实现。b)举例说明:例 5-1,用 if 语句构成的选择结构(分段

21、函数)c)选择结构最重要的是“选择结构的条件”。C 语言中的条件是采用能产生逻辑值“真、假”的关系运算和逻辑运算来表示的。讲授讲授一、关系运算符和关系表达式一、关系运算符和关系表达式“关系运算”(比较运算)即,将两个值进行比较,判断是否符合或满足给定的条件。1、关系运算符及其优先次序a)C 语言提供 6 种关系运算符。表 5-1。b)关于优先次序:前 4 种高于后两种;关系低于算术;关系高于赋值例 5-2。2、关系表达式关系表达式的值是逻辑值,即“真”“假”。C 语言没有逻辑型数据,1“真”,0“假”。例 5-3。二、逻辑运算符和逻辑表达式二、逻辑运算符和逻辑表达式“关系运算”(比较运算)即,

22、两个逻辑值的运算。1、逻辑运算符。3 种,表 5-2。(1)&逻辑与,(2)|逻辑或,(3)!逻辑非2、逻辑运算符的优先顺序:(1)!-&-|,“!”为三者中最高。(2)&|低于关系运算符,!高于算术运算符。例 5-4。3、逻辑表达式(1)逻辑值只能是 0/1,但判断量是否为“真”时,以 0-“假”,非 0-“真”。例 5-5,6。(2)逻辑运算的短路现象。例:a&b&c,a|b|c(3)可以用一个逻辑表达式来表示一个复杂的条件。例:闰年标准。三、三、ifif 语句语句if 语句用来判定所给定的条件是否满足,即结果(真或假)决定执行给出的两种操作之一。1、if 语句三种形式(1)if(表达式)

23、语句。(2)if(表达式)语句 1 else 语句 2(3)if(表达式 1)语句 1 else if(表达式m)语句 m else 语句 m+1if 语句使用说明。(1)(2)(3)if 语句使用例子:例 5-1:两数交换;例 5-2:三数排序。2、if 语句的嵌套:if 语句的嵌套:if 语句的 if 块或 else 块中,又包含一个 if 语句。(1)if 语句嵌套一般形式。(2)else 语句匹配问题例 5-3:分段函数课堂提问讨论课堂提问讨论小结、作业布置小结、作业布置教学安排C C 语言程序设计教案语言程序设计教案授课内容第 5 章 选择结构程序设计二教学目的掌握条件运算符、条件表

24、达式和要求掌握 switch-case 语句重点难点switch-case 语句引言引言d)复习关系运算、逻辑运算、if 语句e)引入简单的条件运算符及表达式、以及开关语句讲授讲授一、条件运算符、条件表达式一、条件运算符、条件表达式在 if 语句中,在表达式为“真”和“假”时,都只执行一个赋值语句给同一个变量赋值时,可以使用简单的条件运算符来处理。例如:if(ab)max=a;else max=b;max=ab?a:b;(1)条件表达式的一般形式:表达式1?表达式 2:表达式 3(2)条件表达式说明(5 点)例 5-4.二、二、switch-caseswitch-case 语句(多分支选择语句

25、语句(多分支选择语句/开关语句)开关语句)3、switch 一般形式4、switch 语句说明。(1)-(7)三、分支程序例子三、分支程序例子例 5.5 写程序,判断某一年是否是闰年。例 5.6 求一元二次方程 ax2+bx+c=0 的根。例 5.7 运输公司对用户计算运费。课堂提问讨论课堂提问讨论小结、作业布置小结、作业布置教学安排思考题、课后作业主要参考资料课后自我总结分析备注教材:P58.1-14实验一:编写求一元二次方程的根。四川省二级考试题库(对本章节的课堂教学需补充说明的内容)C C 语言程序设计教案语言程序设计教案授课内容第 6 章 循环结构程序设计一教学目的掌握 while 当

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

27、2+3+100。结论:编制循环程序要注意的几个问题。二、二、do-whiledo-while 语句(直到型循环)语句(直到型循环)1、do-while 语句的一般形式2、do-while 执行过程(流程图)3、do-while 说明:例 6-4:利用 do-while 语句计算机 1+1/2+1/4+1/50。三、三、forfor 语句(当型循环)语句(当型循环)1、for 语句的一般形式(给出while 循环的对应结构)2、for 循环执行过程(流程图)例 6-6:写一个程序,计算半径为0.5,1.5,2.5,3.5,4.5,5.5mm时圆的半径。例 6-7:求正整数 n 的阶乘 n!,其中

28、 n 由用户输入。3、for 语句最容易理解、最常用的形式4、for 语句说明(6 点)。C 语言的 for 语句功能强大,使用灵活。课堂提问讨论课堂提问讨论小结、作业布置小结、作业布置教学安排思考题、课后作业主要参考资料课后自我总结分析备注教材:P81.1-12实验二:准备。四川省二级考试题库(对本章节的课堂教学需补充说明的内容)C C 语言程序设计教案语言程序设计教案授课内容第 6 章 循环结构程序设计二三种循环结构的比较。教学目的掌握 break;continue;和要求通过应用例子进一步掌握循环结构重点难点break;continue;功能,区别。通过应用例子进一步掌握循环结构引言引言

29、复习 3 种循环结构、引入3 种循环的比较、进一步加深学生对3 种循环结构的理解。讲授讲授四、几种循环的比较四、几种循环的比较1、循环结构的基本组成部分(4 部分)2、几种循环的比较。一般相互可以替代,但具体形式有些差异。例 6-9:将 50-100 之间的不能被 3 整除的数输出(用三种循环结构实现)五、五、breakbreak 和和 continuecontinue 语句语句1、break 语句(1)break 语句的功能(2)break 语句说明例 6-10:从键盘上连续输入字符,并统计其中大写字母的个数,直到输入“换行”字符。2、continue 语句(翻译为“继续”(循环)(1)co

30、ntinue 语句的功能(2)continue/break 区别例 6-12:从键盘输入 30 个字符,并统计其中数字字符的个数六、应用举例六、应用举例例 6-14:从键盘输入一个大于2 的整数 n,判断是不是素数。例 6-15:求 100-200 之间的所有素数。例 6-16:输出下三角 99 乘法表例 6-17:求 Fibonacci 数列的前 50 项。(最好在数组,函数递归部分介绍)课堂提问讨论课堂提问讨论注意到例 6-15:外层 n 的循环,循环变量的修正是:“n=n+2”(即就是每次加 2),为什么?(因为只要检查奇数,偶数能被2 整除,一定不是素数)。小结、作业布置小结、作业布置

31、教学安排思考题、课后作业主要参考资料课后自我总结分析备注注:此页针对具体授课内容填写实验二:编写 100 以内的所有素数。四川省二级考试题库(对本章节的课堂教学需补充说明的内容)C C 语言程序设计教案语言程序设计教案授课内容第 7 章 数组一数组的基本概念教学目的一维数组定义、初始化、引用;最大值、冒泡排序、选择排序算法。和要求二维数组定义、初始化、引用;多维数组重点:一维数组定义、初始化、引用求最大值、冒泡排序、选择排序算法矩阵操作难点:冒泡排序、选择排序算法引言引言基本数据类型构造类型的数据数组数组、数组元素、数组的下标、数组的维数例如:int a10;一维数组可以看作一个数列,向量。例

32、如:float b33;二维数组可以看作一个矩阵。讲授讲授一、一维数组一、一维数组1、一维数组的定义类型说明 数组名整型常量表达式一维数组定义说明。(1)(5)2、一维数组的初始化的几种形式(1)(2)(3)3、数组元素的引用。数组元素的引用说明:(1)(2)(3)例 7-1:数组元素的引用例子。4、一维数组的应用例子例 7-2:从键盘输入 10 个整型数据,找出其中的最小值并显示出来。例 7-3:采用“冒泡法”对任意输入的10 个整数按由小到大的顺序排序。例 7-4:采用“选择法”对任意输入的 10 个整数按由大到小的顺序排序。二、二维数组二、二维数组(注意:类比一维数组注意:类比一维数组)

33、1、二维数组的定义2、二维数组的初始化的几种形式(1)-(5)3、二维数组元素的引用例 7-5:二维数组元素的引用的例子(自学)-构造、打印单位矩阵。思考:下标是从 1 开始使用的,哪些元素在此例子中未使用?它们的值是多少?(随机值)4、二维数组应用举例例 7-6:分别计算矩阵的两条对角线(主、辅对角线)上的元素之和。例 7-7:找出矩阵所有元素中的最大值。课堂提问讨论课堂提问讨论重点难点教学安排思考题、课后作业教材:P101.1-10实验三:冒泡排序。C C 语言程序设计教案语言程序设计教案授课内容字符数组定义、初始化、引用教学目的字符串与字符数组和要求字符串处理函数字符数组应用重点:重点难

34、点第 7 章 数组二字符串与字符数组;字符串处理函数难点:字符串与字符数组;字符串处理函数引言引言复习数组概念,数组定义、初始化、元素引用方法。引入字符数组(元素为字符)。讲授讲授三、字符数组三、字符数组字符数组,字符数组的每个元素是一个字符;一维字符数组可以存放字符串;二维字符数组可以存放多个字符串。字符数组可以逐个元素处理,若存放的是字符串,那么还可以直接调用字符串处理函数处理。1、字符数组的定义、初始化及引用与一般数组类似。2、字符串与字符数组(1)字符串与字符数组。存放的内容。(2)字符数组的初始化(除了一般数组的初始化方法外,增加了一些方法)例 7-8两种字符数组初始化方法的区别-有

35、无串结束标志。参阅p94。(3)字符数组的输入输出(两种形式:逐个字符输入/输出,整串输入/输出)例 7-9:逐个字符输入/输出。参阅 p94。例 7-10:整串输入/输出。P95.3、字符串(字符数组)处理函数(1)字符串输入,输出函数:gets、puts(2)字符串处理函数:strlen、strcat、strcpy、strcmp、例 7-11:字符串输入/输出应用举例(P.96)例 7-12:求字符串长度示例(P97)例 7-13:字符串连接示例(P97)例 7-14:字符串复制示例(P98)例 7-15:字符串比较示例(P99)4、字符数组应用举例例 7-16:由键盘任意输入一个字符串和

36、一个字符,要求从该字符串中删除所指定的字符。例 7-17:由键盘输入三个字符串,找出其中的最大串。(字符串库函数的应用)课堂提问讨论课堂提问讨论小结、作业布置小结、作业布置教学安排思考题、课后作业C C 语言程序设计教案语言程序设计教案授课内容第 8 章 函数一教学目的掌握函数定义、调用、声明;函数参数传递方式和要求重点:二级考试的重点函数定义、调用、声明函数参数传递方式难点:重点难点函数参数传递方式传址(尚未学习指针,用数组举例)引言引言一、函数概述一、函数概述1、C 语言的函数。C 语言的函数是子程序的总称,包括函数和过程。C 语言函数可以分为库函数、用户自定义函数2、C 语言的程序由函数

37、组成,函数是C 语言程序的基本单位,程序的总体功能通过函数的调用来实现。其中,main 起点(图)3、使用函数的意义(补充)(1)-(4)4、函数的一些概念:主函数、其它函数;主调函数、被调函数;库函数、用户自定义函数;无参函数、有参函数;无返回值函数、有返回值函数二、函数的一般形式二、函数的一般形式函数应当先定义,后调用。函数定义的一般形式及说明(1)(2)例 8-1:输入三个整数,求三个整数中的最大值,打印。思考问题。三、函数的参数和返回值三、函数的参数和返回值1、形式参数2、实际参数3、参数的传递。实参传递给形参(1)传值(2)传址。注意问题:(1)-(4),图示。由于尚未学习指针,所以

38、传址用数组举例4、函数返回值。return 语句及说明。四、函数的调用四、函数的调用1、函数调用的一般形式及说明(单独语句/表达式中、参数相容)例 8-3:以表达式的形式进行函数的调用。(自学)2、函数调用时数据的传递-参数传递、函数的返回值、全局变量例 8-4:求学生平均成绩。P110.(注意参数传递的是数组的地址)3、函数的声明例 8-5:函数声明例子。P112.五、函数的嵌套调用和递归调用五、函数的嵌套调用和递归调用函数允许嵌套调用和递归调用。递归调用是嵌套调用的特例。f)函数的嵌套调用例 8-6:计算两整数的最小公倍数。P113.g)函数的递归调用(1)函数的递归调用(2)使用递归调用

39、解决问题的方法(3)递归调用过程(递推/回归两个阶段)教学安排C C 语言程序设计教案语言程序设计教案授课内容教学目的掌握变量作用域、生命期和要求掌握插入排序重点:变量作用域、生命期插入排序难点:变量作用域、生命期插入排序引言引言复习函数定义、调用、参数传递方式,提出各个函数同名变量问题,进而引入变量作用域概念。讲授讲授六、变量的作用域(有效范围、可见性)六、变量的作用域(有效范围、可见性)变量的作用域:变量的有效范围或者变量的可见性。变量定义的位置决定了变量的作用域。变量从作用域(变量的有效范围,可见性)的角度可以分为:局部变量,全局变量。(图)1、局部变量(函数体内变量、形参变量、复合语句

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

41、局部变量可以是静态,也可以是动态(auto,register)。例 8-11:寄存器局部变量的应用.P120.(完成 n+(n-1)+(n-2)+.+1)例 8-12:静态局部变量的应用示例。P121.八、内部函数和外部函数八、内部函数和外部函数默认是外部函数九、函数应用举例九、函数应用举例例 8-14:字符串逆序。P124.例 8-15:求矩阵最大元素。P124-125.例 8-16:利用插入法将 10 个字符从小到大进行排序。P125-126.课堂提问讨论课堂提问讨论小结、作业布置小结、作业布置第 8 章 函数二重点难点教学安排C C 语言程序设计教案语言程序设计教案授课内容教学目的了解编

42、译过程和编译预处理和要求掌握宏定义、文件包含重点:重点难点宏定义、文件包含难点:带参数宏定义引言引言复习程序实现过程,引入实际编译两个阶段:编译预处理,编译,更广义的编译还包括连接。编译预处理,编译指令讲授讲授一、宏定义一、宏定义宏定义宏定义分为不带参数的宏定义和带参数宏定义。1、不带参数的宏定义(1)不带参数宏定义格式(2)宏调用(3)宏展开举例宏使用说明:(1)-(9)2、带参数宏定义(1)带参数宏定义的格式(2)带参数宏定义展开规则举例带参数宏使用说明:(1)-(5)二、文件包含二、文件包含1、文件包含图示2、文件包含说明:(1)-(4)课堂提问讨论课堂提问讨论小结、作业布置小结、作业布

43、置第 9 章 编译预处理教学安排思考题、课后作业主要参考资料课后自我总结分析教材:P133.1、2C C 语言程序设计教案语言程序设计教案授课内容第 10 章 指针-指针基础理教学目的指针的基本概念,变量访问方式;指针变量定义、赋值、引用。和要求指针作为函数参数。重点难点重点:指针的基本概念;指针变量定义、赋值、引用引言引言一、地址(指针)一、地址(指针)、地址变量(指针变量)概念及变量的存取方式、地址变量(指针变量)概念及变量的存取方式1、内存、内存地址-物理存储器的概念(补充)2、变量、变量名、变量的地址、变量值-高级语言的存储器概念3、指针、变量的指针、指针变量4、系统访问变量的两种方式

44、(1)直接访问-按变量名、按地址(本质按地址)(2)间接访问二、指针变量的定义二、指针变量的定义(变量先定义后使用)1、定义格式:2、说明:(1)指针变量基类型-指针变量指向数据的类型(2)指针变量存放地址值,本身占用空间2 字节三、指针变量的赋值三、指针变量的赋值(使用未赋值指针等同于向一个随机的内存中写入数据)1、将地址直接赋值给指针变量。例如,float*f=malloc(4);2、将变量地址赋值给指针变量。例如:float a,*p;p=&a;四、指针变量的引用四、指针变量的引用1、&运算符(取地址运算符)2、*运算符(指针运算符、间接访问运算符)例 10-1,P137.指针变量定义、

45、赋值、引用例子。五、指针变量作为函数的参数五、指针变量作为函数的参数变量可以作为函数参数,指针变量同样可以作为函数参数。使用指针作为函数参数,可以在函数中对指针所指向变量的值进行处理(修改)。指针作为函数参数,本质上同样是单向传值,但是由于传递的是地址值,所以可以通过地址值间接修改形参、实参共同指向的变量。例 10-2:输入 a,b 两个数交换后输出。在 swap 函数中使用两个指针作为函数参数,对两个指针所指向变量值进行交换。结论:1、要在被调用函数中,修改主调函数的变量值应当:(1)将主调函数变量的地址传递给被调用函数,就是说函数应当传递的是变量的地址。(2)被调用函数的形参应当使用指针变

46、量接受主调函数的地址值。(3)在被调用函数中通过形参指针变量间接访问,修改实参、形参地址所共同指向的变量。本例的操作是交换两个指针变量所指向的变量。2、函数使用指针作为参数,可以增加主调函数与被调函数之间数据沟通的渠道。教学安排C C 语言程序设计教案语言程序设计教案授课内容第 10 章 指针-数组的指针和指向数组的指针变量数组的指针及指向数组(或数组元素)指针变量指向数组的指针作为函数参数教学目的指向多维数组的指针和要求字符串指针、函数指针、指针数组和指针的指针返回指针值的函数数组的指针及指向数组(或数组元素)指针变量指向数组的指针作为函数参数重点难点指向多维数组的指针字符串指针、函数指针、

47、指针数组和指针的指针返回指针值的函数引言引言复习指针基本概念,指针变量定义、初始化、引用。本节介绍指针变量的应用数组的指针。数组:相同类型元素构成的有限、有序的序列;数组元素的指针-数组元素的地址;数组的指针-数组的地址,数组的起始地址,第一个元素的地址(首地址)。C 语言用数组名代表数组的起始地址(首地址)。例如:int a10;数组的指针-a 或&a0,讲授指针应用(讲授指针应用(数组的指针、指向数组的指针变量)一、指向数组的指针变量一、指向数组的指针变量1、指向数组的指针变量:就是指向数组元素的指针变量,也就是指向基类型的指针变量并将其初始化指向数组。例如:数组 int a10;其中每个

48、元素为整型变量。可以定义一个指向整型变量的指针变量 int*p;并将 p 初始化为&a0或 a。此时可以将 p 称为指向数组的指针变量。2、数组的指针变量的定义和初始化数组基类型*p;p=数组名;/*p=&数组名0*/或:数组基类型*p=数组名;二、通过指针引用数组元素二、通过指针引用数组元素(假设 int a100;int*p=a;即指针 p 指向数组)1、指针 a+i、指针变量 p+i 的含义。存在 ai、是否有 pi?-C 允许 pi!2、指针与数组的关系。数组元素可以用下标访问,也可以用指针访问。3、通过指针引用数组元素。(1)数组元素的地址表示:&ai,p+i,a+i。(2)数组元素

49、的访问:ai,*(p+i),*(a+i)。(3)指向数组的指针变量,数组名在许多场合可以交换使用。ai甚至可以表示为pi。注意:(1)引用数组元素可以采用下标法和指针法。(假设 p=a)下标法:ai,pi;指针法:*(a+i),*(p+i)(2)数组名是常量指针,指向数组的指针变量是变量。例10-3P141-P142。(3)注意:使用数组的指针变量,如果改变了其值,那么应当关注其当前指向的位置。必要时可以重置指针。参阅P143 例子。(详细分析见教材 p143)教学安排C C 语言程序设计教案语言程序设计教案授课内容第 11 章 结构体,共同体教学目的结构体类型、变量的定义及初始化,结构体变量

50、的引用和要求结构体数组,结构体指针,联合体、枚举、typedef重点难点结构体类型、变量的定义及初始化,结构体变量的引用结构体数组,结构体指针,联合体。引言引言例子:学生信息管理系统讲授讲授一、结构体类型一、结构体类型1、结构体类型和结构体变量(1)结构体类型定义的一般形式例如:定义关于学生信息的结构体类型。(2)结构体变量的定义(三种方法)先定义结构体类型,再定义结构体变量(概念、含义相当清晰)定义结构体类型的同时定义结构体变量直接定义结构体变量(不给出结构体类型名,匿名的结构体类型)2、结构体变量的引用(1)引用结构体变量中的一个成员。结构体变量名.成员名(2)成员本身又是结构体类型时的子

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁