




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C程序设计教案王克刚C程序设计教案第1讲教师姓名王克刚授课班级授课形式讲授授课日期年 月 日 第 周授课时数2授课章节第1章 C语言概述、第2章 算法1.1 C语言出现的历史背景1.2 C语言的特点1.3 简单C程序介绍1.4 C程序的运行步骤2.12.5算法的概念、特性、表示、结构化程序设计方法教学目的了解程序设计的一些初步知识了解算法的概念和特性,掌握一种流程图的画法掌握C程序的构成及书写风格,对C程序有一个初步了解教学重点1.算法的概念2.C程序基本结构、常见要素、编译调试技术3.结构化流程图、N-S流程图绘制方法教学难点1.算法分析与设计2. C函数的概念其它演示:例1.1-1.8;关键词、运算符表;C程序上机的完整过程。教学内容及过程设计步骤一 引言语言:人人语言交流;聋哑人手势语;人机计算机语言C语言是一种流行的计算机高级语言,C语言适合于编写系统软件,也可以编写应用程序。步骤二 讲授一、程序设计初步C语言的产生;程序设计的概念程序设计是指借助计算机,使用计算机语言准确地描述问题的算法,并正确进行计算的过程。程序设计的核心是“清晰”,程序的结构要清晰,算法的思路要清晰。二、算法及表示1、算法的特性2、算法的表示算法可以使用各种不同的方法来描述。(1)用自然语言表示算法(2)用传统流程图表示算法(3)用N-S流程图表示算法(4)用伪码表示算法三、结构化程序设计方法结构化程序设计:模块化设计方法、自顶向下设计方法和逐步求精设计方法是结构化程序设计方法最典型、最具有代表性的方法。四、C程序的构成1、C语言程序构成(采用程序实例加以说明,并提倡良好的程序设计书写风格)(1)C程序是由函数构成的,必须有且只能有一个main()函数;(2)每个函数由函数的首部和函数体组成。函数体一般由声明部分和执行部分组成;(3)每个C程序总是从main()函数开始执行,并在main()中结束;(4)每个语句和数据定义的最后必须有一个分号;(5)C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。(6)C程序无输入、输出语句,输入操作由scanf()函数完成;输出操作由printf()函数完成;(7)可加注释/*/2、上机步骤(上机环境:Turbo C 2.0)(1)进入环境 (2)编辑源程序 (3)保存源程序 (4)编译源程序(5)执行程序,查看结果 (6) 退出C环境五、程序的书写格式和程序的书写风格(1)程序所采用的算法要尽量的简单,符合人的一般思维习惯。(2)标识符的使用尽量采取“见名知义,常用从简”的原则。(3)为了清晰的表现出程序的结构,最好采用锯齿形的程序格式。(4)可以用/*/注释,以增加程序的可读性。(5)最好在输入语句之前加一个输出语句对输入数据加以提示。(6)函数首部的后面和编译预处理的后面不能加分号。(7)C程序的书写格式虽然自由,但为了清晰,一般在一行内写一个语句。步骤三 课堂提问讨论步骤四 课堂小结1.算法的概念2.C程序基本结构、常见要素、编译调试技术3.结构化流程图、N-S流程图绘制方法步骤五 布置作业进入C编辑环境,按良好的程序设计风格输入例题,按步骤编译、运行、查看结果C程序设计教案第2讲教师姓名王克刚授课班级授课形式讲授授课日期年 月 日 第 周授课时数2授课章节第3章 数据类型、运算符和表达式(1)3.1 C语言的数据类型3.2 常量与变量3.3 整型数据3.4浮点型数据3.5字符型数据3.6变量赋初值教学目的1、 了解C语言丰富的数据类型;常量、变量的概念2、 掌握变量定义原则和符号常量定义方法3、 掌握常用基本数据类型(整型、实型、字符型)数据的常量表示、机内存储、变量分类以及掌握正确选择数据类型教学重点1、 变量定义原则2、 常用基本数据类型(整型、实型、字符型)数据的常量表示、机内存储、变量分类,正确选择数据类型教学难点整型数据的机内表示,字符数据的机内表示其它演示:C数据分类图、整型、实型数据分类表,转义字符表,字符ASCII码表教学内容及过程设计步骤一 引言程序数据结构算法(流程)。C数据具有类型数据类型,本章讨论常用基本数据类型。C数据分类图(取值范围、允许操作、出现的问题特点不同)步骤二 讲授一、常量与变量1、 常量概念、常量类型,直接常量/符号常量。2、 变量概念、变量名/变量在内存中占据的单元/变量值/变量地址。变量先定义后使用。二、整型数据(内存中补码存储)1、 整型常数。10,8,16进制表示2、 整型变量分类:基本整型int/长/短;有符号/无符号。观察数据表达范围字节数3、 整型变量定义、初始化。4、 整型数据的溢出。三、实型数据1、 实型常量表示。小数形式,指数形式e。2、 实型变量分类。重要的两种float、double。观察数据表达范围字节数有效数字3、 实型数据的舍入误差。四、字符型数据1、 字符常量表示。直接表示/转义表示(特殊的转义字符,一般字符也可以转义表示)。特殊转义字符对显示/打印的控制作用2、 字符变量1个字节,char关键词。3、 字符数据的存储ASCII码/二进制存储C语言可以将字符看做很短的整数处理。4、 字符串常量。“”括字符序列,尾部有0结束。五、变量赋初值1、程序中经常对一些变量预先设置初值,也称变量初始化2、在C程序中对变量赋初值的形式。定义单个变量时赋值;定义多个变量时分别赋值;3、易出现错误的赋初值方式。同时定义多个同类型同值变量时以“连续=”方式进行赋初值步骤三 课堂提问讨论整型数据溢出例子,浮点数据舍入误差例子,给我们编程序的提示什么?步骤四 课堂小结1、变量定义原则2、常用基本数据类型数据的常量表示、机内存储、变量分类,正确选择数据类型步骤五 布置作业C程序设计教案第3讲教师姓名王克刚授课班级授课形式讲授授课日期年 月 日 第 周授课时数2授课章节第3章 数据类型、运算符和表达式(2)3.7各类型数值型数据间的混合运算3.8算术运算符和算术表达式3.9赋值运算符和赋值表达式3.10逗号运算符和逗号表达式教学目的1、 了解:C语言的丰富运算符,丰富的运算符可以构成灵活的表达式2、 掌握算术、赋值、逗号运算符及它们构成的表达式。3、 掌握运算符的优先级、结合性规律。4、 常握不同类型数据混合运算时的转化规律。教学重点1、 算术、赋值、自增/减运算符及它们构成的表达式2、 运算符的优先级、结合性规律。教学难点1、 运算符的优先级、结合性2、 自增/减运算符的运算规律其它1、 C语言运算符2、 运算符的优先级与结合性教学内容及过程设计步骤一 引言1、 运算符:狭义的运算符-运算,广义的运算符-运算、操作。2、 表达式:使用运算符将常量、变量、函数连接起来,构成表达式。3、 C的运算符有以下几类: C语言运算符丰富,C语言丰富的运算符构成C语言丰富、灵活的表达式。本节主要介绍算术运算符(包括自增自减运算符)、赋值运算符、逗号运算符。步骤二 讲授一、算术运算符和算术表达式1、算术运算符(+、-、*、/、%)(1) 整除的结果为整数,结果向0取整,实质就是舍去小数. (2) %,要求操作数均为整型。余数的符号与被除数符号相同。例如:-8%5=-3;8%-5=32、算术表达式 注意:C语言算术表达式的书写形式数学表达式的书写形式区别:(1)(4)。3、(算术)运算符的优先级与结合性(附录B) 先按运算符的“优先级别”高低次序执行;优先级别相同,则按规定的“结合方向”处理。为了清晰起见可用圆括号“()”强制。例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,表达式n五、数据类型的转换1、自动隐式转换。规则:(1) 类型不同,转换为相同类型,然后运算(2) 低类型向高类型转换(图)(3) 赋值转换。“=”右边类型=左边类型,然后赋值例:表达式:10a+1.5-8765.1234*b;float a=3.14; int i=a;2、强制类型转换。(类型)表达式。步骤三 课堂提问讨论a=3*5,a*4? 答:(a=3*5),(a*4)步骤四 课堂小结1、算术、赋值、自增/减运算符及它们构成的表达式2、运算符的优先级、结合性规律。步骤五 布置作业仔细阅读附录B及其说明,掌握优先级规律。(经常查阅)C程序设计教案第4讲教师姓名王克刚授课班级授课形式讲授授课日期年 月 日 第 周授课时数2授课章节第4章 顺序程序设计4.1 C语句概述4.2 赋值语句4.3 数据的输入和输出概念及在C语言中的实现4.5字符数据的输入输出4.6格式输入与输出4.7顺序结构程序设计举例教学目的1、了解C语言语句分类:控制语句,表达式语句,复合语句2、掌握表达式语句,复合语句的构成3、掌握格式化输入/输出函数,常用其它输入/输出函数的使用。教学重点1、 表达式语句,复合语句的构成2、 格式化输入/输出函数教学难点格式控制项的各种形式其它演示:控制格式,表3-1,3-2 (printf( )格式字符)例3.1-3.12教学内容及过程设计步骤一 引言程序设计通常采用三种不同的程序结构:顺序,选择(分支),循环(重复)。顺序结构是最简单、最基本的程序结构。通过本章学习,可以开始简单的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。注意:不要死记硬背,要总结规律。一般形式:% m n h/l 格式字符2、 scanf函数(格式输入函数)(1) 格式:scanf(格式控制字符串,输入表列地址列表) 格式控制字符串:含义与printf类似输入表列地址列表:变量的地址或字符数组的首地址(2) 格式控制字符、格式控制项与printf类似,一般使用更加简单形式。一般调用形式为: scanf(格式控制字符串,地址表列); 其中:格式控制的含义同printf函数;输入项地址表由若干个地址组成,代表每一个变量在内存中的地址。功能:读入各种类型的数据,接收从输入设备按输入格式输入的数据并存入指定的变量地址中。格式控制:包含三类符号 空白字符:(空格、Tab或、),输入时不必一一对应; 普通字符:(非格式转换说明符、非空白符、非%),输入时必须一一对应; 格式转换说明符:注意:scanf函数规定,组成输入项表的输入对象须是地址量;如: scanf(“%d,%d,%d”,&a,&b,&c); scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);第一个输入语句,正确的输入数据流为:123,456,789,处理的结果为:123a,456b,789c同理对第二个输入语句,正确的输入数据流应是:a=123,b=456,c=789 该输入数据流中除123,456,789被赋给相应变量外,其余都被丢弃scanf()中的格式字符格式字符说 明d以带符号的十进制形式输入整数 o以八进制无符号形式输入整数x以十六进制无符号形式输入整数c以字符形式输入单个字符s输入字符串。以非空字符开始,以第一个空格结束f,e,g,E,G以小数形式或指数形式输入单、双精度数,注意: 数据读入结束情况:遇空格、TAB、回车;遇非法输入;指定宽度结束。四、字符输入/输出函数1、 putchar函数 一般形式:putchar(字符表达式);2、 getchar函数 一般形式:getchar();五、顺序结构程序设计举例顺序结构程序设计,是C语言的基本结构,程序运行时按照语句编写的顺序依次执行,语句的执行次序和它们的语句顺序一致,在顺序结构中,每个语句都被执行一次,而且只被执行一次。习题1:输入三角形的三边长,求三角形面积。分析:三边为a,b,c,面积area2=s(s-a)(s-b)(s-c),其中s=(a+b+c)/2程序: #include main() float a,b,c,s,area; sacnf(%f,%f,%f”,&a,&b,&c); s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c); printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2fn”,a,b,c,s); printf(“area=%7.2fn”,area); 习题2:求ax2+bx+c=0方程的根。a,b,c由键盘输入,设b2-4ac0。步骤三 课堂提问讨论步骤四 课堂小结1、表达式语句,复合语句的构成2、格式化输入/输出函数3、格式输入函数scanf()4、顺序结构程序设计步骤五 布置作业C程序设计教案教师姓名王克刚授课班级授课形式讲授授课日期年 月 日 第 周授课时数2 授课章节第5章 选择结构程序设计(1)5.1关系运算符和关系表达式5.2 逻辑运算符和逻辑表达式5.3 if语句 教学目的1、掌握,能熟练使用这些运算符进行判断条件的构造。2、掌握if语句的执行和使用,能够用if语句实现选择结构 教学重点1、关系运算符和逻辑运算符的运算规则2、if语句的执行和使用 教学难点逻辑运算符、if语句控制流程 多媒体演示3种形式if语句及流程图例4.1-4.3第5讲教学内容及过程设计步骤一 引言1.选择结构(分支结构):根据条件,在几个可选择分支中进行选择。2. 选择结构最重要的是“选择结构的条件”。C语言中的条件是采用能产生逻辑值“真、假”的关系运算和逻辑运算来表示的。步骤二 讲授一、关系运算符关系运算符及其优先次序。关系运算构造判断条件举例。二、逻辑运算符逻辑运算符及其优先次序。逻辑运算表达式中非0为“真”,逻辑值“真”为1,逻辑值“假”为0。逻辑运算构造判断条件举例。三、if语句用if语句可以构成分支结构。它根据给定的条件进行判断,以决定执行某个分支程序段。C语言提供了三种形式的if语句:1 if语句的简单形式,有时也称单分支结构,它的形式是:if(表达式) 语句 if语句用来判断给定的条件是否满足,根据结果(真或假)来选择执行相应的语句。它的执行过程是,如果表达式为真(非0),则执行其后所跟的语句,否则不执行该语句。2 if-else结构if-else型分支有时也称双分支结构,它的形式是:if(表达式)语句1else语句2 它的执行过程是,如果表达式的值为真(非0),就执行语句1,否则,执行语句2。3、if-else-if语句if-else-if形式是条件分支嵌套的一种特殊形式,经常用于多分支处理。它的一般形式为:if(表达式1)语句1else if(表达式2) 语句2else if(表达式3) 语句3else if(表达式n) 语句nelse语句n+1它的执行过程是,如果表达式1为真,则执行语句1;否则,如果表达式2为真,则执行语句2,;否则,如果表达式n为真,则执行语句n,如果n个表达式都不为真,则执行语句n+l。步骤三 课堂提问讨论步骤四 课堂小结3种形式if语句步骤五 布置作业C程序设计教案第6讲教师姓名王克刚授课班级授课形式讲授授课日期年 月 日 第 周授课时数2 授课章节第5章 选择结构程序设计(2)5.3.2if语句的5.4 switch-case语句5.5 应用举例 教学目的掌握if语句进行嵌套时的语法规则掌握switch-case语句掌握选择结构例题 教学重点if语句嵌套的语法规则switch-case语句 教学难点switch-case break语句 多媒体演示switch-case语句流程图例4.4-4.15教学内容及过程设计步骤一 引言1. 复习关系运算、逻辑运算、if语句2. 引入if语句的嵌套和多分支结构switch语句实现步骤二 讲授一、if语句的嵌套在if语句中又包含一个或多个if语句称为if语句的嵌套形式如下:其一般形式可表示如下: if(表达式) if语句 或者为: if(表达式) if语句 else if语句在嵌套内的if语句可能又是if-else型的,这将会出现多个if和多个else重叠的情况,这时要特别注意if和else的配对问题。为了避免这种二义性,语言规定,else 总是与它前面最近的if配对。最好使内嵌if语句也包含else部分,这样if的数目和else的数目相同,从内层到外层一一对应,不致出错。如果if与else的数目不一样,应尽量把嵌套的部分放在否定的部分,或为实现程序设计者的企图,可以加花括弧来确定配对关系。二、switch-case语句(多分支选择语句/开关语句)switch语句的一般形式如下: switch(表达式) case常量表达式1:语句1 case常量表达式2:语句2case常量表达式n:语句ndefault: 语句n+1 switch语句的执行过程是:根据switch后面的表达式的值,找到某个case后的常量表达式与之相等时,就以此作为一个入口,执行此case 后的语句,及以下各个case或default后的语句,直到switch的结束或遇到break语句为止。若所有的case中的常量表达式的值都不与switch后的表达式的值匹配,则执行default的语句。三、switch-case说明(1)switch后面括弧内的“表达式”,ANSI C标准允许它为任何类型。 (2)当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句,若所有的case中的常量表达式的值都没有与表达式的值匹配的,就执行default后面的语句。 (3)每一个case的常量表达式的值必须互不相同,否则就会出现互相矛盾的现象(对表达式的同一个值,有两种或多种执行方案)。 (4)各个case和default的出现次序不影响执行结果。例如,可以先出现“default:”,再出现“case D:”,然后是“case A:”。 (5)执行完一个case后面的语句后,流程控制转移到下一个case继续执行。“case常量表达式”只是起语句标号作用,并不是在该处进行条件判断。在执行switch语句时根据switch后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断。因此,应该在执行一个case分支后,使流程跳出switch结构,即终止switch语句的执行。可以用一个break语句来达到此目的,将上面的switch结构改写如下:(6)多个case可以共用一个执行语句,如:输入年份和月份,给出这个月有几天。(7)在使用switch语句时注意case和后面的表达式之间要有空格,如果没有空格在编译时不会发现错误,但运行时结果不对。四、分支程序例子例1写程序,判断某一年是否是闰年。例2 求一元二次方程ax2+bx+c=0的根。例3运输公司对用户计算运费。步骤三 课堂提问讨论步骤四 课堂小结switch-case语句步骤五 布置作业C程序设计教案教师姓名王克刚授课班级授课形式讲授授课日期年 月 日 第 周授课时数2 授课章节第6章 循环控制(1)6.1-6.2 goto语句以及用goto语句构成循环6.3 用while语句实现循环6.4用dowhile语句实现循环 教学目的1、了解goto语句和语句标号的使用2、掌握while当型循环3、掌握dowhile直到型循环 教学重点while当型循环dowhile直到型循环 教学难点利用while、dowhile语句实现循环结构程序设计 多媒体演示流程图例5.1-5.6第7讲教学内容及过程设计步骤一 引言问题1:假如全班60人,欲从键盘上输入每人的数学成绩,然后计算出平均成绩;问题2: 编程计算n!。重复执行一组语句是程序设计要求的基本功能之一。在C语言中可以用以下语句来实现循环:(1)if 和 goto (2)while (3)do-while (4)fora)重复执行就是循环。重复工作是计算机特别擅长工作之一。b)重复执行不是简单地重复,每次重复,操作的数据(状态、条件)都可能发生变化。c)重复的动作是受控制的,C语言提供三种循环控制语句,构成了三种基本的循环结构。步骤二 讲授一、goto语句以及用goto语句构成循环 语法:goto label;其中:label是语句标号,它命名的规则同变量名;语义:使程序无条件地转向标号为label的语句去执行;结构化程序主张限制使用goto语句,但也不是绝对禁止使用goto语句。说明:与if语句构成循环结构; 从循环体中跳转到循环体外,可以使用break语句和continue语句跳出本层循环和结束本次循环,只是需要从多层循环的内层循环跳到外层循环时采用goto语句。二、while语句(当型循环) 语法:while (exp) 循环体语句;语义:当exp为真时,执行循环体;为假时,执行循环语句的后续语句; 如:用while语句构成循环,求sum=1+2+100 程序如下:main() int i=1, sum=0; while (i=100) sum+=i; i+; printf(“%d”,sum);说明:1)循环体可以用复合语句;2)在while语句前应有为测试表达式(exp)中的循环控制变量赋初值的语句,以确保循环的正常开始;3)循环体内应有改变循环控制变量的语句,以确保循环进行有限次后正常结束;如:i=1;while (i=100) sum=sum+1; (死循环)4)while循环的特点是先判断后执行,故循环有可能一次都不被执行; 如: i=3; while (i3) printf(“i=%dn”,i);三、do-while语句(直到型循环)1、do-while语句的一般形式2、do-while执行过程(流程图)3、do-while说明:例、计算 ex=1+x+ + +直到最后一项的绝对值小于10-6时停止计算,x由键盘输入步骤三 课堂提问讨论步骤四 课堂小结while语句循环步骤五 布置作业C程序设计教案教师姓名王克刚授课班级授课形式讲授授课日期年 月 日 第 周授课时数2 授课章节第6章 循环结构程序设计(2)6.5 用for语句实现循环6.6 循环嵌套6.7 几种循环的比较 教学目的1、掌握for语句的使用2、利用以上语句实现循环结构程序设计3、掌握循环的嵌套 教学重点2、for语句 教学难点循环的嵌套 多媒体演示流程图例5.7-5.14第8讲教学内容及过程设计步骤一 引言复习goto、while、dowhile循环结构、引入新的循环结构、进一步加深学生对循环结构的理解。步骤二 讲授一、for语句(当型循环)1、 for语句的一般形式(给出while循环的对应结构)2、 for循环执行过程(流程图)例5-11求非波那契数列a0,a1,a2,a20。例5-12求1+ + 直到最后一项的值小于10-3,如果累加到第20项(即n=19)时,最后一项的值还不小于10-3也不再计算,要求打印出n的值、最后一项值、多项式之和。3、for语句最容易理解、最常用的形式4、for语句说明(6点)。C语言的for语句功能强大,使用灵活。二、几种循环的比较1、 循环结构的基本组成部分(4部分)2、 几种循环的比较。一般相互可以替代,但具体形式有些差异。例:将50-100之间的不能被3整除的数输出(用三种循环结构实现)三、循环的嵌套一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。内嵌的循环中还可以嵌套循环,这就是多层循环。双重循环的执行过程是:先执行外循环,当外循环控制变量取初值后,执行内循环,在内循环中内层循环控制变量从初值变化到终值的过程中,外层的循环控制变量始终不变,直到内循环执行完毕,到了外循环,外层的循环控制变量才变,而后再执行内循环,在内循环中内层循环控制变量又从从初值变化到终值,如此下去,直到外循环控制变量超过终值,整个双重循环才执行完毕。例 编程输出乘法九九表。步骤三 课堂提问讨论步骤四 课堂小结1、for语句步骤五 布置作业C程序设计教案第9讲教师姓名王克刚授课班级授课形式讲授授课日期年 月 日 第 周授课时数2 授课章节第6章 循环结构程序设计(3)5-7 break语句5-8 continue语句5-9 应用举例 教学目的1、掌握break;continue;2、通过应用例子进一步掌握循环结构 教学重点1、 break;continue;功能,区别。2、 通过应用例子进一步掌握循环结构 教学难点判断素数算法 多媒体演示流程图例6.6-6.8教学内容及过程设计步骤一 引言复习3种循环结构、循环的比较,引出break;continue;。步骤二 讲授一、break和continue语句1、 break语句用break语句可以使流程跳出switch结构,继续执行switch语句下面的一个语句。实际上,break语句还可以用来从循环体内跳出循环体,即提前结束循环,接着执行循环下面的语句break语句说明例6-10:从键盘上连续输入字符,并统计其中大写字母的个数,直到输入“换行”字符。2、 continue语句(翻译为“继续”(循环) 一般形式为: continue;其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。continue语句和break语句的区别是:continue语句只结束本次循环,而不是终止整个循环的执行。而break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。二、应用举例例: 从键盘上输入字符数字,边输入边在屏幕上显示出来,当输入星号“*”时输入结束。例: 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。例: 输出以下图案。 * * *例: 判断m是否素数。例: 求100200间的全部素数。 步骤三 课堂提问讨论注意到求100200间的全部素数的例子:外层n的循环,循环变量的修正是:“n=n+2”(即就是每次加2),为什么? 步骤四 课堂小结break;continue;功能,区别步骤五 布置作业C程序设计教案教师姓名王克刚授课班级授课形式讲授授课日期年 月 日 第 周授课时数2 授课章节第7章 数组(1)7.1 一维数组的定义和引用 教学目的1、 掌握数组的基本概念2、 熟练掌握一维数组的定义、初始化和引用3、掌握冒泡排序法 教学重点1、一维数组定义、初始化、引用2、求最大值、冒泡排序法 教学难点冒泡排序法 多媒体演示流程图例7.2-7.3第10讲教学内容及过程设计步骤一 引言基本数据类型构造类型的数据数组数组、数组元素、数组的下标、数组的维数例如:int a10; 一维数组可以看作一个数列,向量。例如:float b33; 二维数组可以看作一个矩阵。步骤二 讲授一、数组和数组元素数组是一种数据结构,处于这种结构中的变量具有相同的性质,并按一定的顺序排列,C数组中每个分量称为数组元素,每个元素都有一定的位置,所处的位置用下标来表示。数组的特点是:数组元素排列有序且数据类型相同。所以,在数值计算与数据处理中,数组常用于处理具有相同类型的、批量有序的数据。C语言中,数组的元素用数组名及其后带方括号 的下标表示。二、一维数组1、 一维数组的定义和使用(1)一维数组的定义一维数组的定义方式为: 类型说明 数组名常量表达式; 一维数组定义说明。(1)(5)(2)一维数组元素的引用数组元素的表示形式为:数组名下标其中,下标是一个整型表达式。2、 一维数组的初始化数组初始化的一般形式为: 类型说明 数组名数组长度=常量表达式l,常量表达式2,;一维数组的初始化的几种形式(1)(2)(3)三、一维数组的应用例子例6-2:从键盘输入10个整型数据,找出其中的最小值并显示出来。例6-5:采用“冒泡法”对任意输入的10个整数按由小到大的顺序排序。步骤三 课堂提问讨论步骤四 课堂小结1、一维数组定义、初始化、引用2、求最大值、冒泡排序法步骤五 布置作业C程序设计教案教师姓名王克刚授课班级授课形式讲授授课日期年 月 日 第 周授课时数2 授课章节第7章 数组(2)一维数据应用举例(附加)7.2 二维数组的定义和引用 教学目的1、掌握选择法和比较法排序2、熟练掌握二维数组的定义、初始化和引用 教学重点1、选择法和比较法排序2、二维数组的定义、初始化和引用 教学难点选择法排序 多媒体演示流程图例6.6-6.22第11讲教学内容及过程设计步骤一 引言复习一维数组概念,数组定义、初始化、元素引用方法。引入二维数组。步骤二 讲授一、一维数组的应用例子例1:比较交换法(也叫顺序排序法)从大到小排序程序。例2:选择排序法从大到小排序程序。例3:将一维数组中的n个数置逆输出。(以7个数为例)二、二维数组(注意:类比一维数组)1、 二维数组的定义2、 二维数组的初始化的几种形式(1)-(5)3、 二维数组元素的引用4、 二维数组应用举例例6-19一个34的矩阵,要求编写程序求出第i行、第j列元素的值。例6-20打印杨辉三角形。思考:下标是从1开始使用的,哪些元素在此例子中未使用?它们的值是多少?(随机值)例6-21输入一个33的数组,将其行和列互换(也称为矩阵转置)。步骤三 课堂提问讨论步骤四 课堂小结选择法和比较法排序步骤五 布置作业C程序设计教案第12讲教师姓名王克刚授课班级授课形式讲授授课日期年 月 日 第 周授课时数2 授课章节第7章 数组(3)7.3 字符数组附加应用举例 教学目的1、熟练掌握字符数组定义、初始化、引用2、掌握字符串与字符数组3、掌握常用字符串处理函数 教学重点1、字符串与字符数组2、字符串处理函数 教学难点字符串和字符串函数的使用 多媒体演示流程图例6.23-6.36教学内容及过程设计步骤一 引言复习数组概念,数组定义、初始化、元素引用方法。引入字符数组(元素为字符)。步骤二 讲授一、字符数组字符数组,字符数组的每个元素是一个字符; 一维字符数组可以存放字符串;二维字符数组可以存放多个字符串。字符数组可以逐个元素处理,若存放的是字符串,那么还可以直接调用字符串处理函数处理。1、字符数组的定义、初始化及引用与一般数组类似。2、字符串与字符数组(1) 字符串与字符数组。存放的内容。(2) 字符数组的初始化(除了一般数组的初始化方法外,增加了一些方法)例7-8两种字符数组初始化方法的区别-有无串结束标志。参阅p94。(3) 字符数组的输入输出(两种形式:逐个字符输入/输出,整串输入/输出)例7-9:逐个字符输入/输出。参阅p94。例7-10:整串输入/输出。P95.3、字符串(字符数组)处理函数(1)字符串输入,输出函数:gets、puts(2)字符串处理函数: strcat、strcpy、strcmp、strlen、strlwr、strupr例7-11:字符串输入/输出应用举例(P.96)例7-12:求字符串长度示例(P97)例7-13:字符串连接示例(P97)例7-14:字符串复制示例(P98)例7-15:字符串比较示例(P99)二、应用举例例7-16:由键盘任意输入一个字符串和一个字符,要求从该字符串中删除所指定的字符。例7-17:由键盘输入三个字符串,找出其中的最大串。(字符串库函数的应用)步骤三 课堂提问讨论例7-16,讲义和教材程序对比、思考。步骤四 课堂小结字符串处理函数步骤五 布置作业C程序设计教案教师姓名王克刚授课班级授课形式讲授授课日期年 月 日 第 周授课时数2 授课章节第8章 函数(1)8.1 概述8.2 函数定义的一般形式8.3 函数参数和函数的值8.4 函数的调用 教学目的掌握函数定义、调用、声明 教学重点函数的概念、定义和调用方法 教学难点函数的概念,形参/实参/返回值的概念 多媒体演示流程图例7.1-7.8第13讲教学内容及过程设计步骤一 引言一个C语言源程序可由一个主函数和若干个其他函数组成。由主函数调用其他函数,其他函数也可以互相调用。步骤二 讲授一、函数概述1、C语言的函数。C语言的函数是子程序的总称,包括函数和过程。C语言函数可以分为库函数、用户自定义函数2、C语言的程序由函数组成,函数是C语言程序的基本单位,程序的总体功能通过函数的调用来实现。其中,main起点(图)3、使用函数的意义(补充)(1)-(4)4、函数的一些概念:主函数、其它函数;主调函数、被调函数;库函数、用户自定义函数;无参函数、有参函数;无返回值函数、有返回值函数二、函数的一般形式函数应当先定义,后调用。函数定义的一般形式及说明 (1)(2)三、函数的参数和返回值1、 形式参数2、 实际参数3、 参数的传递。实参传递给形参(1)传值(2)传址。注意问题:(1)-(4),图示。由于尚未学习指针,所以传址用数组举例4、 函数返回值。return语句及说明。四、函数的调用1、 函数调用的一般形式及说明(单独语句/表达式中、参数相容)2、 函数调用时数据的传递-参数传递、函数的返回值、全局变量3、 函数的声明步骤三 课堂提问讨论步骤四 课堂小结函数的概念、定义和调用方法步骤五 布置作业C程序设计教案第14讲教师姓名王克刚授课班级授课形式讲授授课日期年 月 日 第 周授课时数2 授课章节第8章 函数(2)8.5 函数的嵌套调用8.6 函数的递归调用 教学目的1、掌握函数嵌套调用2、了解函数递归调用 教学重点函数嵌套调用 教学难点函数递归调用 多媒体演示流程图例7.9-7.11教学内容及过程设计步骤一 引言复习函数的概念、定义和调用方法,引出嵌套调用和递归调用。步骤二 讲授函数的嵌套调用和递归调用函数允许嵌套调用和递归调用。递归调用是嵌套调用的特例。一、函数的嵌套调用C语言的函数定义都是互相平行、独立的,也就是说在定义函数时,一个函数内不能包含另一个函数。C语言程序不能嵌套定义函数,但可以嵌套调用函数,也就是说,在调用一个函数的过程中,又可以调用另一个函数,二、函数的递归调用在C语言程序中,有时可以看到一个函数直接或间接地调用自身的现象,这种现象就是函数的递归调用。递归调用有两种方式:直接递归调用和间接递归调用。在C程序设计中提倡使用递归调用来实现复杂问题的求解。必须注意,递归不是“循环定义”,任何递归定义必须满足如下条件:(1)被定义项在定义中的应用(即作为定义项的出现)具有更小的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学前班教师每周教学计划模板
- 传统发酵工艺知识测试题合集
- 固定组织切片检验医学操作流程
- 企业招聘流程优化的思考
- 心理健康促进制度建设方向方案规划实施
- 城市主干道优化规划方案
- 企业市场营销策划方案与执行计划模板
- 小学数学数的认识综合复习题
- 北师大版二年级数学教案全集
- 传染病流行监测预防指南制定设计
- DB11T 065-2022 电气防火检测技术规范
- 人教版八年级历史上册第一次月考试题(附答案)第一单元
- 基本不等式课件-高三数学一轮复习
- DL∕T 2568-2022 电力行业数字化审计平台功能构件与技术要求
- 部编人教版《道德与法治》六年级上册第9课《知法守法 依法维权》精美课件(第1课时)
- 消防喷淋系统设计合同范本
- DB32-T 4757-2024 连栋塑料薄膜温室建造技术规范
- 2024年四川省广安市中考数学试题(含答案逐题解析)
- 山西省太原三十七中2023-2024学年九年级上学期月考物理试卷(10月份)
- (幻灯片)世界各国国旗大全中文
- 物流地产发展前景分析
评论
0/150
提交评论