- 271.50 KB
- 2022-04-29 14:05:47 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'教师姓名吴斌授课班级计应041/042授课形式讲授授课日期2005年2月28日第1周授课时数2授课章节名称第1章C语言概述教学,目的1、了解C历史,名称来源、C特点2、掌握C基本语法成分3、掌握C程序基本结构4、了解C程序上机步骤教学重点1、C语言语法成分(标识符、注释)2、C程序基本结构(C程序由函数组成、main主函数、C函数基本结构)教学难点无更新、补充、删节内容补充:源程序、目标程序、可执行程序概念更改:教材P7,1.4节,图1-1,增加判断“连接时有无错误”使用教具程序1.1,1.2,1.3;关键词、运算符表;C程序实现图课外作业(作业,实验准备)1、阅读:《讲义》2、《教材》P8,1-6。《实验与练习》自测题。3、实验准备:实验1课后体会授课主要内容或板书设计40
授课主要内容或板书设计引言语言:人-人语言交流;聋哑人-手势语;人机-计算机语言C语言是一种流行的计算机高级语言,C语言适合于编写系统软件,也可以编写应用程序。讲授一、语言出现的历史背景(1)C语言的发展源于人们希望用高级语言编写操作系统。(C-BCPL第二字母)ALGOL60(高级语言)->CPL(硬件支持)-BCPC->B->C->标准C->ANSIC->ISOC(2)语言既具有高级语言特性,又具有低级语言特性-中级语言。二、C语言的特点C语言是从ALGOL60、CPL发展而来,既具有一般高级语言特性,又具有低级语言特性。8个特点。三、C语言基本语法成分(重点:标识符,注释)(1)C语言字符集。字母、数字、特殊字符。(2)标识符(名字),C语言标识符定义规则及注意事项。说明:教师备课笔记由学校自订式样并附后(3)关键词(保留字)。参阅P234附录V。(4)运算符。参阅P233附录IV。(5)分隔符:逗号,空格。起分隔、间隔作用。(6)注释符。/*...*/,编译时编译系统忽略注释。作用:注释、调试程序。四、C程序结构(3个C程序引入C程序结构)3个C程序例子(最简单C程序、有多条语句的C程序、调用自定义函数的C程序)C程序结构:(1)C程序由函数组成l函数是C程序的基本单位。程序至少有1个main()(例1.1),也可以包含1个main()和若干个用户定义的其它函数(例1.3)。lC程序通过函数的调用完成程序的功能。(例1.1,1.2,1.3)l被调用的函数可以是系统库函数(例1.1)或用户自定义函数(例1.3)。特别强调:1个程序至少应有1个main函数,main()函数是整个程序的执行起点。main()函数的位置无关紧要。(2)函数结构(用例1.3max,main分别说明)函数头:函数返回类型函数名(函数参数类型函数形式参数,...)函数体:包含声明+执行部分五、C程序的实现(1)源程序、目标程序、可执行程序的概念(补充)(2)C语言程序的实现:编辑、编译、连接、运行。点名、课堂提问讨论小结、作业布置40
教师姓名吴斌授课班级计应041/042授课形式讲授授课日期2005年3月3日第1周授课时数2授课章节名称第2章基本数据类型教学,目的1、了解C语言丰富的数据类型;常量、变量的概念2、掌握变量定义原则和符号常量定义方法3、掌握常用基本数据类型(整型、实型、字符型)数据的常量表示、机内存储、变量分类以及掌握正确选择数据类型4、了解数值型数据混合运算及类型转换规律。教学重点1、变量定义原则2、常用基本数据类型(整型、实型、字符型)数据的常量表示、机内存储、变量分类,正确选择数据类型教学难点整型数据的机内表示,字符数据的机内表示更新、补充、删节内容补充:(自学)1、整型数据数制转换(10<->2,2<->8,2<->16)2、整型数据机内表示(补码表示)。使用教具C数据分类图、整型、实型数据分类表,转义字符表,字符ASCII码表课外作业(作业,实验准备)1、阅读:《讲义》2、《讲义》补充习题3、实验准备:实验2课后体会授课主要内容或板书设计40
授课主要内容或板书设计引言程序=数据结构+算法(流程)。C数据具有类型-数据类型,本章讨论常用基本数据类型。C数据分类图(取值范围、允许操作、出现的问题特点不同)讲授一、常量与变量1、常量概念、常量类型,直接常量/符号常量。2、变量概念、变量名/变量在内存中占据的单元/变量值/变量地址。变量先定义后使用。二、整型数据(内存中补码存储)1、整型常数。10,8,16进制表示2、整型变量分类:基本整型int/长/短;有符号/无符号。观察数据表达范围+字节数3、整型变量定义、初始化。例2-2。4、整型数据的溢出。例2-2A。三、实型数据1、实型常量表示。小数形式,指数形式e。2、实型变量分类。重要的两种float、double。观察数据表达范围+字节数+有效数字3、实型数据的舍入误差。例2-3A。四、字符型数据1、字符常量表示。直接表示/转义表示(特殊的转义字符,一般字符也可以转义表示)。特殊转义字符对显示/打印的控制作用2、字符变量-1个字节,char关键词。3、字符数据的存储-ASCII码/二进制存储-C语言可以将字符看做很短的整数处理。例2-7A,例2-8A可以看出字符数据的具有整数特性。4、字符串常量。“”括字符序列,尾部有‘ ’结束。五、数值型数据混合运算(转换为同类型运算)1、自动隐式转换。规则:(1)类型不同,转换为相同类型,然后运算(2)低类型向高类型转换(图)(3)赋值转换。“=”右边类型=>左边类型,然后赋值例:表达式:10+’a’+1.5-8765.1234*’b’;floata=3.14;inti=a;2、强制类型转换。(类型)表达式。例2-9。点名、课堂提问讨论整型数据溢出例子,浮点数据舍入误差例子,给我们编程序的提示什么?小结、作业布置40
教师姓名吴斌授课班级计应041/042授课形式讲授授课日期2005年3月9日第2周授课时数2授课章节名称第3章运算符与表达式教学,目的1、了解:C语言的丰富运算符,丰富的运算符可以构成灵活的表达式2、掌握算术、赋值、逗号运算符及它们构成的表达式。3、掌握运算符的优先级、结合性规律。教学重点1、算术、赋值、自增/减运算符及它们构成的表达式2、运算符的优先级、结合性规律。教学难点1、运算符的优先级、结合性2、自增/减运算符的运算规律更新、补充、删节内容无使用教具1、C语言运算符总表P22.表3-12、运算符的优先级与结合性(P.233附录IV)课外作业(作业,实验准备)1、阅读:《讲义》2、《教材》:P27.1、2、3、4,《实验与练习》自测题3、实验准备:实验3课后体会授课主要内容或板书设计40
授课主要内容或板书设计引言1、运算符:狭义的运算符-运算,广义的运算符-运算、操作。2、表达式:使用运算符将常量、变量、函数连接起来,构成表达式。3、C的运算符有以下几类:P22.表3-1。14类。C语言运算符丰富,C语言丰富的运算符构成C语言丰富、灵活的表达式。本章主要介绍算术运算符(包括自增自减运算符)、赋值运算符、逗号运算符。讲授一、算术运算符和算术表达式1、算术运算符(+、-、*、/)P23.表3-2。(1)整除的结果为整数,结果向0取整,实质就是舍去小数.(2)%,要求操作数均为整型。余数的符号与被除数符号相同。例如:-8%5=-3;8%-5=32、算术表达式注意:C语言算术表达式的书写形式-数学表达式的书写形式区别:(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=10+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);(前置运算):先自增、减,再参与运算;(后置运算):先参与运算,(整个表达式运算结束后)再自增、减。四、逗号运算符、逗号表达式1、逗号运算符(顺序求值运算符).逗号表达式的一般形式:表达式1,…表达式n点名、课堂提问讨论a=3*5,a*4<=>?答:(a=3*5),(a*4)小结、作业布置40
仔细阅读附录4及其说明,掌握优先级规律。(经常查阅)40
教师姓名吴斌授课班级计应041/042授课形式讲授授课日期2005年3月14日第3周授课时数2授课章节名称第4章顺序程序设计(1/2)教学,目的1、了解C语言语句分类:控制语句,表达式语句,复合语句2、掌握表达式语句,复合语句的构成3、掌握格式化输入/输出函数,常用其它输入/输出函数的使用。教学重点1、表达式语句,复合语句的构成2、格式化输入/输出函数教学难点格式控制项的各种形式更新、补充、删节内容无使用教具控制语句,表3-1,3-2,3-3,3-4(printf/scanf格式字符)课外作业(作业,实验准备)1、阅读:《讲义》2、《教材》:P46.1-6,7-9,《实验与练习》自测题3、实验准备:实验4课后体会授课主要内容或板书设计40
授课主要内容或板书设计引言程序设计通常采用三种不同的程序结构:顺序,选择(分支),循环(重复)。顺序结构是最简单、最基本的程序结构。通过本章学习,可以开始简单的C程序设计。讲授一、C语句概述C程序的总体层次结构:程序、模块,函数,语句。语句:是向计算机发出的用来完成一定操作任务的指令。C语言语句分类:1、控制语句(9种)2、表达式语句(典型的赋值,函数调用、空语句)3、复合语句(相当一条语句,哪里有语句,哪里就可以用复合语句)二、输入/输出及其C语言的实现(补充)1、计算机由主机(CPU、内存),外围设备(输入/输出设备),接口组成2、主机向外部设备-“输出”,外部设备向主机-“输入”。输入/输出相对主机而言。3、C语言本身不提供输入/输出语句,输入/输出操作由函数实现。三、格式输入/输出1、printf函数(格式输出函数)(1)格式:printf(格式控制字符串,输出表列)格式控制字符串:(格式控制项、普通字符)输出表列:一般是一个表达式,简单地,可以是变量。(2)格式控制字符d、o、x/X、u、c、s、f、e/E、g/G构成控制项的各种常见形式。表3-1,3-2。注意:不要死记硬背,要总结规律。一般形式:%±mnh/l格式字符2、scanf函数(格式输入函数)(1)格式:scanf(格式控制字符串,输入表列-地址列表)格式控制字符串:含义与printf类似输入表列-地址列表:变量的地址或字符数组的首地址(2)格式控制字符、格式控制项与printf类似,表3-3,4。一般使用更加简单形式。注意:数据读入结束情况:遇空格、TAB、回车;遇非法输入;指定宽度结束。四、其它输入/输出函数1、putchar函数一般形式:putchar(字符表达式);2、puts函数一般形式:puts(char*str);3、gets函数一般形式:gets(char*str);点名,课堂提问讨论小结,作业布置C语言的格式输入/输出的规定比较繁琐,重点掌握最常用的一些规则和规律即可,其它部分可在需要时随时查阅。40
教师姓名吴斌授课班级计应041/042授课形式讲授授课日期2005年3月14日第3周授课时数2授课章节名称第4章顺序程序设计(2/2)教学,目的1、了解算法概念、算法特性、算法表示、结构化程序设计概念2、了解结构化流程图、N-S流程图3、掌握顺序结构程序设计教学重点1、结构化流程图、N-S流程图绘制方法2、顺序结构程序设计教学难点结构化流程图、N-S流程图绘制方法更新、补充、删节内容无使用教具1、流程图符号图,基本结构的改进流程图,基本结构的N-S图2、例4-1,2,3,5流程图课外作业(作业,实验准备)1、阅读:《讲义》2、《教材》:P46.1-6,7-9,《实验与练习》自测题3、实验准备:实验4课后体会授课主要内容或板书设计40
授课主要内容或板书设计引言程序设计通常采用三种不同的程序结构:顺序,选择(分支),循环(重复)。顺序结构是最简单、最基本的程序结构。通过本章学习,可以开始简单的C程序设计。讲授一、算法及其表示方法1、算法:解决问题的方法、步骤2、算法的5大特性:有穷性,确定性,有0个或多个输入,有1个或多个输出,有效性。3、算法的表示方法a)用自然语言表示算法b)用流程图表示算法(传统流程图、改进的流程图)c)用N-S流程图表示算法(盒图)d)用伪代码表示算法(常常用于算法设计)e)用计算机语言表示算法二、结构化程序设计1、结构化算法或程序由三种基本结构顺序组成:顺序结构,选择结构,循环结构;在基本结构之间不存在向前或向后的跳转,流程的转移只存在于一个基本结构中。2、可以用改进的流程图或N-S图表示。三、算法设计举例1、例4-1:计算1x2x3x4x5。(即5!)2、例4-2:素数判断。素数,是指除了1和该数本身之外,不能被其它任何整数整除的数。反过来理解:任何≥3的正整数n,如果能够被2-(n-1)的任何一个正整数整除,那么它一定不是素数。四、顺序结构程序设计举例1、例4-3:输入三角形的三边长,求三角形面积。2、例4-5:求ax2+bx+c=0方程的根。a,b,c由键盘输入,设b2-4ac>0。点名、课堂提问讨论小结、作业布置结构化流程图、N-S流程图绘制关键是记住各种基本结构的绘制方法。40
教师姓名吴斌授课班级计应041/042授课形式讲授授课日期2005年3月21日第4周授课时数2授课章节名称第5章选择结构程序设计(1/2)教学,目的1、理解条件-产生逻辑值的表达式2、掌握关系运算符、关系表达式;逻辑运算符、关系表达式3、掌握if语句教学重点1、关系运算符、关系表达式2、逻辑运算符、关系表达式教学难点嵌套if语句更新、补充、删节内容无使用教具无课外作业(作业,实验准备)1、阅读:《讲义》2、《教材》:P58.1-14,《实验与练习》自测题课后体会授课主要内容或板书设计40
授课主要内容或板书设计引言a)选择结构(分支结构):根据条件,在几个可选择分支中进行选择。C语言的选择结构可以用(1)if语句(2)switch语句(3)“条件运算”表达式实现。b)举例说明:例5-1,用if语句构成的选择结构(分段函数)c)选择结构最重要的是“选择结构的条件”。C语言中的条件是采用能产生逻辑值“真、假”的关系运算和逻辑运算来表示的。讲授一、关系运算符和关系表达式“关系运算”(比较运算)即,将两个值进行比较,判断是否符合或满足给定的条件。1、关系运算符及其优先次序a)C语言提供6种关系运算符。表5-1。b)关于优先次序:前4种高于后两种;关系低于算术;关系高于赋值例5-2。2、关系表达式关系表达式的值是逻辑值,即“真”“假”。C语言没有逻辑型数据,1-“真”,0-“假”。例5-3。二、逻辑运算符和逻辑表达式“关系运算”(比较运算)即,两个逻辑值的运算。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)可以用一个逻辑表达式来表示一个复杂的条件。例:闰年标准。三、if语句if语句用来判定所给定的条件是否满足,即结果(真或假)决定执行给出的两种操作之一。1、if语句三种形式(1)if(表达式)语句。(2)if(表达式)语句1else语句2(3)if(表达式1)语句1…elseif(表达式m)语句melse语句m+1if语句使用说明。(1)(2)(3)if语句使用例子:例5-1:两数交换;例5-2:三数排序。2、if语句的嵌套:if语句的嵌套:if语句的if块或else块中,又包含一个if语句。(1)if语句嵌套一般形式。(2)else语句匹配问题例5-3:分段函数点名、课堂提问讨论40
小结、作业布置40
教师姓名吴斌授课班级计应041/042授课形式讲授授课日期2005年3月23日第4周授课时数2授课章节名称第5章选择结构程序设计(1/2)教学,目的1、掌握条件运算符、条件表达式2、掌握switch-case语句教学重点switch-case语句教学难点无更新、补充、删节内容无使用教具无课外作业(作业,实验准备)1、阅读:《讲义》2、《教材》:P58.1-14,《实验与练习》自测题3、实验准备:实验5课后体会授课主要内容或板书设计40
授课主要内容或板书设计引言a)复习关系运算、逻辑运算、if语句b)引入简单的条件运算符及表达式、以及开关语句讲授一、条件运算符、条件表达式在if语句中,在表达式为“真”和“假”时,都只执行一个赋值语句给同一个变量赋值时,可以使用简单的条件运算符来处理。例如:if(a>b)max=a;elsemax=b;<=>max=a>b?a:b;(1)条件表达式的一般形式:表达式1?表达式2:表达式3(2)条件表达式说明(5点)例5-4.二、switch-case语句(多分支选择语句/开关语句)1、switch一般形式2、switch语句说明。(1)-(7)三、分支程序例子例5.5写程序,判断某一年是否是闰年。例5.6求一元二次方程ax2+bx+c=0的根。例5.7运输公司对用户计算运费。点名、课堂提问讨论小结、作业布置40
教师姓名吴斌授课班级计应041/042授课形式讲授授课日期2005年3月28日第5周授课时数2授课章节名称第6章循环结构程序设计(1/2)教学,目的掌握while当型循环、dowhile直到型循环、for循环教学重点while当型循环、dowhile直到型循环、for循环的形式、执行过程、使用注意问题教学难点更新、补充、删节内容无使用教具无课外作业(作业,实验准备)1、阅读:《讲义》2、《教材》:P81.1-12,《实验与练习》自测题课后体会授课主要内容或板书设计40
授课主要内容或板书设计引言a)重复执行就是循环。重复工作是计算机特别擅长工作之一。b)重复执行不是简单地重复,每次重复,操作的数据(状态、条件)都可能发生变化。c)重复的动作是受控制的,C语言提供三种循环控制语句,构成了三种基本的循环结构。讲授一、while语句(当型循环)1、while语句的一般形式是:2、执行过程是:(流程图、N-S图)3、使用while注意的问题。例6-1:利用while语句,编写程序计算1+2+3+…+100。结论:编制循环程序要注意的几个问题。二、do-while语句(直到型循环)1、do-while语句的一般形式2、do-while执行过程(流程图)3、do-while说明:例6-4:利用do-while语句计算机1+1/2+1/4+…+1/50。三、for语句(当型循环)1、for语句的一般形式(给出while循环的对应结构)2、for循环执行过程(流程图)例6-6:写一个程序,计算半径为0.5,1.5,2.5,3.5,4.5,5.5mm时圆的半径。例6-7:求正整数n的阶乘n!,其中n由用户输入。3、for语句最容易理解、最常用的形式4、for语句说明(6点)。C语言的for语句功能强大,使用灵活。点名、课堂提问讨论小结、作业布置40
教师姓名吴斌授课班级计应041/042授课形式讲授授课日期2005年3月30日第5周授课时数2授课章节名称第6章循环结构程序设计(2/2)教学,目的1、三种循环结构的比较。2、掌握break;continue;3、通过应用例子进一步掌握循环结构教学重点1、break;continue;功能,区别。2、通过应用例子进一步掌握循环结构教学难点无更新、补充、删节内容无使用教具无课外作业(作业,实验准备)1、阅读:《讲义》2、实验准备:实验6、7课后体会授课主要内容或板书设计40
授课主要内容或板书设计引言复习3种循环结构、引入3种循环的比较、进一步加深学生对3种循环结构的理解。讲授四、几种循环的比较1、循环结构的基本组成部分(4部分)2、几种循环的比较。一般相互可以替代,但具体形式有些差异。例6-9:将50-100之间的不能被3整除的数输出(用三种循环结构实现)五、break和continue语句1、break语句(1)break语句的功能(2)break语句说明例6-10:从键盘上连续输入字符,并统计其中大写字母的个数,直到输入“换行”字符。2、continue语句(翻译为“继续”(循环))(1)continue语句的功能(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整除,一定不是素数)。小结、作业布置40
教师姓名吴斌授课班级计应041/042授课形式讲授授课日期2005年4月7日第6周授课时数2授课章节名称第7章数组(1/2)教学,目的1、数组的基本概念2、一维数组定义、初始化、引用;最大值、冒泡排序、选择排序算法。3、二维数组定义、初始化、引用;多维数组教学重点1、一维数组定义、初始化、引用2、求最大值、冒泡排序、选择排序算法3、矩阵操作教学难点冒泡排序、选择排序算法更新、补充、删节内容无使用教具无课外作业(作业,实验准备)1、阅读:《讲义》2、《教材》:P101.1-10,《实验与练习》自测题课后体会授课主要内容或板书设计40
授课主要内容或板书设计引言基本数据类型-构造类型的数据-数组数组、数组元素、数组的下标、数组的维数例如:inta[10];一维数组可以看作一个数列,向量。例如:floatb[3][3];二维数组可以看作一个矩阵。讲授一、一维数组1、一维数组的定义类型说明数组名[整型常量表达式]一维数组定义说明。(1)-(5)2、一维数组的初始化的几种形式(1)(2)(3)3、数组元素的引用。数组元素的引用说明:(1)(2)(3)例7-1:数组元素的引用例子。4、一维数组的应用例子例7-2:从键盘输入10个整型数据,找出其中的最小值并显示出来。例7-3:采用“冒泡法”对任意输入的10个整数按由小到大的顺序排序。例7-4:采用“选择法”对任意输入的10个整数按由大到小的顺序排序。二、二维数组(注意:类比一维数组)1、二维数组的定义2、二维数组的初始化的几种形式(1)-(5)3、二维数组元素的引用例7-5:二维数组元素的引用的例子(自学)-构造、打印单位矩阵。思考:下标是从1开始使用的,哪些元素在此例子中未使用?它们的值是多少?(随机值)4、二维数组应用举例例7-6:分别计算矩阵的两条对角线(主、辅对角线)上的元素之和。例7-7:找出矩阵所有元素中的最大值。点名、课堂提问讨论小结、作业布置40
教师姓名吴斌授课班级计应041/042授课形式讲授授课日期2005年4月11日第7周授课时数2授课章节名称第7章数组(2/2)教学,目的1、字符数组定义、初始化、引用2、字符串与字符数组3、字符串处理函数4、字符数组应用教学重点字符串与字符数组;字符串处理函数教学难点无更新、补充、删节内容无使用教具无课外作业(作业,实验准备)1、阅读:《讲义》2、实验准备:实验8、9课后体会授课主要内容或板书设计40
授课主要内容或板书设计引言复习数组概念,数组定义、初始化、元素引用方法。引入字符数组(元素为字符)。讲授三、字符数组字符数组,字符数组的每个元素是一个字符;一维字符数组可以存放字符串;二维字符数组可以存放多个字符串。字符数组可以逐个元素处理,若存放的是字符串,那么还可以直接调用字符串处理函数处理。1、字符数组的定义、初始化及引用-与一般数组类似。2、字符串与字符数组(1)字符串与字符数组。存放的内容。(2)字符数组的初始化(除了一般数组的初始化方法外,增加了一些方法)例7-8.两种字符数组初始化方法的区别-有无串结束标志。参阅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:由键盘任意输入一个字符串和一个字符,要求从该字符串中删除所指定的字符。例7-17:由键盘输入三个字符串,找出其中的最大串。(字符串库函数的应用)点名、课堂提问讨论例7-16,讲义和教材程序对比、思考。小结、作业布置40
教师姓名吴斌授课班级计应041/042授课形式讲授授课日期2005年4月18日第8周授课时数2授课章节名称第8章函数(1/2)教学,目的1、掌握函数定义、调用、声明;函数参数传递方式2、了解函数递归调用教学重点1、函数定义、调用、声明2、函数参数传递方式教学难点函数参数传递方式-传址(尚未学习指针,用数组举例)更新、补充、删节内容无使用教具无课外作业(作业,实验准备)1、阅读:《讲义》2、《教材》:P101.1-10,《实验与练习》自测题课后体会授课主要内容或板书设计40
授课主要内容或板书设计引言讲授一、函数概述1、C语言的函数。C语言的函数是子程序的总称,包括函数和过程。C语言函数可以分为库函数、用户自定义函数2、C语言的程序由函数组成,函数是C语言程序的基本单位,程序的总体功能通过函数的调用来实现。其中,main起点(图)3、使用函数的意义(补充)(1)-(4)4、函数的一些概念:主函数、其它函数;主调函数、被调函数;库函数、用户自定义函数;无参函数、有参函数;无返回值函数、有返回值函数二、函数的一般形式-函数应当先定义,后调用。函数定义的一般形式及说明(1)(2)例8-1:输入三个整数,求三个整数中的最大值,打印。思考问题。三、函数的参数和返回值1、形式参数2、实际参数3、参数的传递。实参传递给形参(1)传值(2)传址。注意问题:(1)-(4),图示。由于尚未学习指针,所以传址用数组举例例8-2.参数单向传递。P107.4、函数返回值。return语句及说明。四、函数的调用1、函数调用的一般形式及说明(单独语句/表达式中、参数相容)例8-3:以表达式的形式进行函数的调用。(自学)2、函数调用时数据的传递-参数传递、函数的返回值、全局变量例8-4:求学生平均成绩。P110.(注意参数传递的是数组的地址)3、函数的声明例8-5:函数声明例子。P112.五、函数的嵌套调用和递归调用函数允许嵌套调用和递归调用。递归调用是嵌套调用的特例。a)函数的嵌套调用例8-6:计算两整数的最小公倍数。P113.b)函数的递归调用(1)函数的递归调用(2)使用递归调用解决问题的方法(3)递归调用过程(递推/回归两个阶段)例8-7:用递归法求n!(P.114)点名、课堂提问讨论小结、作业布置40
教师姓名吴斌授课班级计应041/042授课形式讲授授课日期2005年4月20日第8周授课时数2授课章节名称第8章函数(2/2)教学,目的1、掌握变量作用域、生命期2、掌握插入排序教学重点1、变量作用域、生命期2、插入排序教学难点1、变量作用域、生命期2、插入排序更新、补充、删节内容删节“内部/外部函数”使用教具无课外作业(作业,实验准备)1、阅读:《讲义》2、预习实验10,11课后体会授课主要内容或板书设计40
授课主要内容或板书设计引言复习函数定义、调用、参数传递方式,提出各个函数同名变量问题,进而引入变量作用域概念。讲授六、变量的作用域(有效范围、可见性)变量的作用域:变量的有效范围或者变量的可见性。变量定义的位置决定了变量的作用域。变量从作用域(变量的有效范围,可见性)的角度可以分为:局部变量,全局变量。(图)1、局部变量(函数体内变量、形参变量、复合语句内变量)-互不干预、动态分配例8-8:各函数局部变量同名的应用示例。P116-117.2、全局变量(所有函数之外-文件作用域、程序作用域)全局变量可以和局部变量同名-坐井观天例8-9:全局变量、局部变量同名的应用示例。P118。例8-10:全局变量、局部变量的应用示例。P118。七、变量的存储类别(生存期、生命期)变量从空间上分为局部变量、全局变量。从变量存在的时间的长短(即变量生存期)来划分,变量还可以分为:动态存储变量、静态存储变量。变量的存储方式决定了变量的生存期。C语言变量的存储方式可以分为:动态存储方式、静态存储方式。(图)全局变量全部是静态的;局部变量可以是静态,也可以是动态(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.点名、课堂提问讨论小结、作业布置40
教师姓名吴斌授课班级计应041/042授课形式讲授授课日期2005年4月28日第9周授课时数2授课章节名称第9章编译预处理教学,目的1、了解编译过程和编译预处理2、掌握宏定义、文件包含教学重点宏定义、文件包含教学难点带参数宏定义更新、补充、删节内容无使用教具无课外作业(作业,实验准备)1、阅读:《讲义》2、《教材》:P133.1、2,《实验与练习》自测题3、预习:实验12课后体会授课主要内容或板书设计40
授课主要内容或板书设计引言复习程序实现过程,引入实际编译两个阶段:编译预处理,编译,更广义的编译还包括连接。编译预处理,编译指令讲授一、宏定义宏定义宏定义分为不带参数的宏定义和带参数宏定义。1、不带参数的宏定义(1)不带参数宏定义格式(2)宏调用(3)宏展开举例宏使用说明:(1)-(9)2、带参数宏定义(1)带参数宏定义的格式(2)带参数宏定义展开规则举例带参数宏使用说明:(1)-(5)二、文件包含1、文件包含图示2、文件包含说明:(1)-(4)点名、课堂提问讨论小结、作业布置40
教师姓名吴斌授课班级计应041/042授课形式讲授授课日期2005年5月11日第10周授课时数2授课章节名称第10章指针(1/2)-指针基础教学,目的1、指针的基本概念,变量访问方式;指针变量定义、赋值、引用。2、指针作为函数参数。教学重点1、指针的基本概念;指针变量定义、赋值、引用2、指针作为函数参数教学难点指针的基本概念更新、补充、删节内容补充:内存、外存、内存地址使用教具无课外作业(作业,实验准备)1、阅读:《讲义》2、《教材》:P168.1-3,《实验与练习》自测题课后体会授课主要内容或板书设计40
授课主要内容或板书设计引言内存空间或变量的地址-指针存放地址的变量(地址变量)-指针变量讲授-指针基础一、地址(指针)、地址变量(指针变量)概念及变量的存取方式1、内存、内存地址-物理存储器的概念(补充)2、变量、变量名、变量的地址、变量值-高级语言的存储器概念3、指针、变量的指针、指针变量4、系统访问变量的两种方式(1)直接访问-按变量名、按地址(本质按地址)(2)间接访问二、指针变量的定义(变量先定义后使用)1、定义格式:2、说明:(1)指针变量基类型-指针变量指向数据的类型(2)指针变量存放地址值,本身占用空间2字节三、指针变量的赋值(使用未赋值指针等同于向一个随机的内存中写入数据)1、将地址直接赋值给指针变量。例如,float*f=malloc(4);2、将变量地址赋值给指针变量。例如:floata,*p;p=&a;四、指针变量的引用1、&运算符(取地址运算符)2、*运算符(指针运算符、间接访问运算符)例10-1,P137.指针变量定义、赋值、引用例子。其它指针使用方面的说明:(1)指针(指针变量)+1(2)地址表达式都可以使用“*”运算。(3)a=*&a,pa=&*pa。五、指针变量作为函数的参数变量可以作为函数参数,指针变量同样可以作为函数参数。使用指针作为函数参数,可以在函数中对指针所指向变量的值进行处理(修改)。指针作为函数参数,本质上同样是单向传值,但是由于传递的是地址值,所以可以通过地址值间接修改形参、实参共同指向的变量。例10-2:输入a,b两个数交换后输出。在swap函数中使用两个指针作为函数参数,对两个指针所指向变量值进行交换。结论:1、要在被调用函数中,修改主调函数的变量值应当:(1)将主调函数变量的地址传递给被调用函数,就是说函数应当传递的是变量的地址。(2)被调用函数的形参应当使用指针变量接受主调函数的地址值。(3)在被调用函数中通过形参指针变量间接访问,修改实参、形参地址所共同指向的变量。本例的操作是交换两个指针变量所指向的变量。2、函数使用指针作为参数,可以增加主调函数与被调函数之间数据沟通的渠道。点名、课堂提问讨论小结、作业布置40
教师姓名吴斌授课班级计应041/042授课形式讲授授课日期2005年5月12日第10周授课时数2授课章节名称第10章指针应用(2/2)-数组的指针和指向数组的指针变量教学,目的1、数组的指针及指向数组(或数组元素)指针变量2、指向数组的指针作为函数参数教学重点1、数组的指针及指向数组(或数组元素)指针变量2、指向数组的指针作为函数参数教学难点无更新、补充、删节内容删节:10.2.4指向多维数组的指针10.3,10.4,10.6字符串指针、函数指针、指针数组和指针的指针10.5返回指针值的函数使用教具无课外作业(作业,实验准备)1、阅读:《讲义》2、预习:实验13课后体会授课主要内容或板书设计40
授课主要内容或板书设计引言复习指针基本概念,指针变量定义、初始化、引用。本节介绍指针变量的应用-数组的指针。l数组:相同类型元素构成的有限、有序的序列。l数组元素的指针-数组元素的地址l数组的指针-数组的地址,数组的起始地址,第一个元素的地址(首地址)。C语言用数组名代表数组的起始地址(首地址)。例如:inta[10];数组的指针-a或&a[0],讲授-指针应用(数组的指针、指向数组的指针变量)一、指向数组的指针变量1、指向数组的指针变量:就是指向数组元素的指针变量,也就是指向基类型的指针变量并将其初始化指向数组。例如:数组inta[10];其中每个元素为整型变量。可以定义一个指向整型变量的指针变量int*p;并将p初始化为&a[0]或a。此时可以将p称为指向数组的指针变量。2、数组的指针变量的定义和初始化数组基类型*p;p=数组名;/*p=&数组名[0]*/或:数组基类型*p=数组名;二、通过指针引用数组元素(假设inta[100];int*p=a;即指针p指向数组)1、指针a+i、指针变量p+i的含义。存在a[i]、是否有p[i]?-C允许p[i]!2、指针与数组的关系。数组元素可以用下标访问,也可以用指针访问。3、通过指针引用数组元素。(1)数组元素的地址表示:&a[i],p+i,a+i。(2)数组元素的访问:a[i],*(p+i),*(a+i)。(3)指向数组的指针变量,数组名在许多场合可以交换使用。a[i]甚至可以表示为p[i]。注意:(1)引用数组元素可以采用下标法和指针法。(假设p=a)下标法:a[i],p[i];指针法:*(a+i),*(p+i)(2)数组名是常量指针,指向数组的指针变量是变量。例10-3.P141-P142。(3)注意:使用数组的指针变量,如果改变了其值,那么应当关注其当前指向的位置。必要时可以重置指针。参阅P143例子。(详细分析见教材p143)三、数组名作为函数参数(基本等价于用指向数组的指针作函数参数)1、复习例8-4(P.110)形参数组的数组名b接受了实参数组a的首地址-不严格。接受地址的变量是指针变量。C编译系统将形参数组名作为数组的指针变量来处理。所以形参floatb[]即:float*b。思考:本例如何用指针改写。2、例10-4.(P.144)来源于例7-4选择法排序。(使用函数、形参使用指针)同样,本例也可以将形参改写为用形参数组表示。思考:如何改写?3、数组作为函数参数,使用指针更加灵活。例10-5.P145。将数组前n个元素逆序存放。注意:指针在移动。点名、课堂提问讨论40
小结、作业布置40
教师姓名吴斌授课班级计应041/042授课形式讲授授课日期2005年5月19日第11周授课时数2授课章节名称第11章结构体、位运算教学,目的1、结构体类型、变量的定义及初始化,结构体变量的引用2、结构体数组,结构体指针。3、位运算教学重点1、结构体类型、变量的定义及初始化,结构体变量的引用2、结构体数组,结构体指针。教学难点无更新、补充、删节内容删节:11.4,11.5,11.6,11.7即:链表、联合体、枚举、typedef使用教具无课外作业(作业,实验准备)1、阅读:《讲义》2、《教材》:P200.1-3,《实验与练习》自测题3、预习:实验14课后体会授课主要内容或板书设计40
授课主要内容或板书设计引言例子:新生入学登记表讲授一、结构体类型1、结构体类型和结构体变量(1)结构体类型定义的一般形式例如:定义关于学生信息的结构体类型。(2)结构体变量的定义(三种方法)l先定义结构体类型,再定义结构体变量(概念、含义相当清晰)l定义结构体类型的同时定义结构体变量l直接定义结构体变量(不给出结构体类型名,匿名的结构体类型)2、结构体变量的引用(1)引用结构体变量中的一个成员。结构体变量名.成员名(2)成员本身又是结构体类型时的子成员的访问-使用成员运算符逐级访问(3)同一种类型的结构体变量之间可以直接赋值(4)不允许将一个结构体变量整体输入/输出3、结构体变量的初始化二、结构体数组结构体数组-数组元素的类型为结构体类型的数组1、结构体数组的定义类似结构体变量定义,只是将“变量名”用“数组名[长度]”代替),也有3种方式。2、结构体数组的初始化三、结构体指针变量1、结构体指针变量(1)结构体指针变量的定义(2)通过结构体指针变量访问结构体变量的成员:(*结构体指针变量名).成员名结构体指针变量名->成员名2、结构体变量、结构体指针变量作函数参数四、位运算位运算就是针对二进制位的运算。位运算的操作对象一般是整型或字符型。1、左移“<<”运算符2、右移“>>”运算符3、按位取反“~”运算符4、按位位与“&”运算符5、按位位或“|”运算符6、按位异或“^”运算符点名、课堂提问讨论小结、作业布置40
教师姓名吴斌授课班级计应041/042授课形式讲授授课日期2005年5月25日第12周授课时数2授课章节名称第12章文件教学,目的1、文件基本术语2、文件指针3、文件打开/关闭4、文件读写,文件定位教学重点1、文件打开/关闭(函数)2、文件读写,文件定位(函数)教学难点无更新、补充、删节内容删节:12.6,出错检测使用教具无课外作业(作业,实验准备)1、阅读:《讲义》2、《教材》:P218.3-8,《实验与练习》自测题3、预习:实验15,16课后体会授课主要内容或板书设计40
授课主要内容或板书设计引言数据的永久保存、中间数据、数据的传递(需求)讲授一、文件概述1、文件2、文件名3、磁盘文件,设备文件4、ASCII文件、二进制文件二、文件类型指针1、文件类型(结构体)-FILE类型2、文件指针变量(文件指针)三、文件打开/关闭对文件的操作的步骤:先打开,后读写,最后关闭。1、文件的打开(fopen函数)。关于打开方式,可以参看p204,表12-1,p205,表12-2。2、文件的关闭(fclose函数)四、文件读写一般用文本方式打开文件常用的文件读写函数:1、字符读写函数:fgetc,fputc一般用二进制方式打开文件2、字符串读写函数:fgets,fputs3、格式化读写函数:fscanf,fprintf4、数据块读写函数:fread,fwrite五、文件定位1、文件顺序读写2、文件随机读写3、文件位置指针4、文件位置指针函数(1)rewind重返文件头函数(2)fseek位置指针移动函数(3)ftell获取当前位置指针函数可以通过文件位置指针函数,实现文件的定位读写。点名、课堂提问讨论小结、作业布置40
40'
您可能关注的文档
- 时尚珠宝首饰行业企业三年发展战略规划(2010-2012)
- 2014-2020年中国珠宝首饰行业监测与发展战略研究报告
- 中国珠宝首饰行业移动电商商业模式及营销策略专项分析报告2018年版.docx
- 2015-2020年中国珠宝首饰行业分析与发展策略咨询报告
- 2014-2020年中国金银珠宝首饰行业调研与投资战略分析报告
- 珠宝首饰行业现状及发展趋势分析
- 2014-2020年中国珠宝首饰行业市场分析与投资趋势研究报告
- 2015-2020年中国珠宝首饰行业监测及投资战略研究报告
- 2014-2019年中国珠宝首饰行业调研与投资前景预测报告
- 珠宝首饰行业培训--形象标准之货品摆设标准
- 论深圳市黄金珠宝首饰行业协会2011年工作总结
- 高端消费品的春天--快速成长的珠宝首饰行业
- 2017年中国珠宝首饰行业现状及发展趋势分析.docx
- 2018-2012年4年中国黄金珠宝首饰行业市场需求预测研究报告.doc
- 2013-2017年中国金银珠宝首饰行业全景调研及投资前景分析
- 2014-2018年中国珠宝首饰行业产业态势与发展趋势预测报告
- 2014-2019年中国珠宝首饰行业市场评估报告
- 2014-2020年中国珠宝首饰行业分析与投资战略咨询报告