版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计课程教案课题C语言概述课型新授课授课日期课时2教学目的1、了解C语言的特点;2、掌握C简单程序的结构;3、熟练掌握C程序的编辑、编译、链接和运行的过程。教学重点难点教学重点:C语言的特点与编程环境教学难点:C语言的编程环境教学方法主要运用讲授法,兼用演示法教学内容提纲1、C语言的简史与特点;2、简单的C程序;3、C程序的上机步骤,掌握程序的编辑、编译、链接和运行。教学过程:本章导读:阐述本章主要内容,重点要掌握的知识点。§1.1 C语言概况 1.1.1 C语言的发展(1)C语言的发展源于人们希望用高级语言编写操作系统。(C-BCPL第二字母)ALGOL60(高级语言)-
2、>CPL(硬件支持)- BCPC->B->C->标准C-> ANSI C -> ISO C(2)语言既具有高级语言特性,又具有低级语言特性-中级语言。1.1.2 C语言的特点C语言是从ALGOL60、CPL发展而来,既具有一般高级语言特性,又具有低级语言特性。8个特点。§1.2 简单的C语言程序 通过简单的C语言程序举例,总结C语言程序的结构。【例1.1】在计算机屏幕上输出“Hello,World!” /* EX1-1.C */ main() printf("Hello,World!n"); 【例1.2】己知圆的半径,求圆的周长
3、和面积 /* EX1-2.C */ main() int r; float l,s; r=5; l=2*3.14159*r; s=3.14159*r*r; printf("r=%d,l=%f,s=%fn",r,l,s); §1.3 算 法 算法的概念和表示方法(流程图的画法)。【例1-4】画出求1+2+3+100之和的流程图。YNi100开始s+is,i+1i0s,1i结束输出s的值§1.4 C程序的实现1、源程序、目标程序、可执行程序的概念(补充)。2、C语言程序的实现:编辑、编译、连接、运行。课堂提问与讨论本章小结、作业布置课题数据类型标识符与常量课
4、型新授课授课日期课时2教学目的1、了解C语言丰富的数据类型;2、了解常量的基本概念;3、掌握常用基本数据类型(整型、实型、字符型)数据的常量表示。教学重点难点掌握C语言数据和数据类型的相关知识教学方法由于本节内容语法点比较多,所以在教学中结合多个小示例,在练习中掌握各知识点,通过实例操作,体会语法点。教学内容提纲1、C数据类型概述2、C的基本数据类型(整型、字符型、枚举型、实型)3、标识符的定义与使用规则;4、常量的类型和定义方法及举例。教学过程:本章导读数据是程序处理的对象,是程序设计中的重要组成部分。C语言为我们提供了丰富的数据类型和运算符及语法规则。阐述本章的主要内容与学习要求。
5、7;2.1 数据类型 数据类型概述整型(int)数据类型基本类型整型单精度型(float)字符型(char)长整型(long)短整型(short)实型双精度型(double)枚举类型(enum)共用体类型(union)构造类型结构体类型(struct)数组类型(第6章)空类型(void)指针类型(*)§2.1 数据类型C语言的数据类型(整型、实型、字符型),数据的类型、表示形式和数据表示范围的定义。3、标识符的概念及其使用规则,包括系统定义的32个关键字。(1) 标识符只能由下划线、数字09与大小写字母az,AZ构成。Turbo C最多识别由32个字符组成的标识符,Microsoft
6、 C最多识别由8个字符组成的标识符。 (2) 标识符的首个字符必须是字母或下划线,而不能是数字或其它符号。 (3) C语言中大小写字母是敏感的,即在标识符中,大写字母和小写字母代表不同的意义。例如:Name和name是两个不同的标识符。 (4) 标识符不能使用系统的关键字,因为关键字是系统保留的,它们已有特定的含义。 (5) 系统预定义标识符,如预编译命令名(define、include)、系统函数名(scanf、printf、getchar、putchar)等可作为用户标识符,但建议不作它用。(6) 尽量作到“见名知义”,例如max、score等,而不用象abc、x1、y2等标识符。(7)
7、避免使用易混字符,如1、l、i;0、o;2、z等。ANSI C定义的关键字共32个: autodoubleintstructbreakelselongswitchcaseenumregistertypedefcharexternreturnunionconstfloatshortunsignedcontinueforsignedvoiddefault gotosizeofvolatiledoifwhile static § 常 量1、各类型常量的定义和表示方法的详细说明。2、C语言中特殊的不可见字符的表示方法-转义字符。3、字符串常量的定义和表示形式,以及与字符常量的区别方
8、法。4、符号常量的概念和定义方法。 #define PI 3.14159 这种常量定义在C语言中被称之为“宏定义”,具体方法将在本书第11章中介绍。 【例2-1】输入圆的半径,计算周长和面积#define PI 3.14159main() float r,c,s; scanf("%f",&r); c=2*PI*r; s=PI*r*r; printf("r=%f,c=%f,s=%fn",r,c,s);课堂提问与讨论课堂小结、作业布置课题变量课型新授课授课日期课时2教学目的1、 了解变量的概念及其三要素;2、 掌握变量的定义方法;3、 理解变量定义的
9、作用和存储。教学重点难点教学重点:变量的定义方法;教学难点:不同类型变量的存储。教学方法由于本节内容语法点比较多,所以在教学中结合多个小示例,在练习中掌握各知识点,通过实例操作,体会语法点。教学内容提纲1、 变量的含义;2、 变量的定义方法;3、 变量定义的作用;教学过程:复习回顾上次课的主要内容。§ 变 量1、阐述变量的含义及其三要素:变量名变量的存储单元变量(存储单元存放)的值。 2、变量的定义形式和举例。§ 变量定义的作用1、 变量定义的作用:(1)编译系统将根据定义检测函数中的变量名。(2)编译系统将对每一个变量根据它被定义的类型分配相应的存储单元。(3)编译系统根
10、据变量被定义的类型检查该变量进行运算的合法性。(4)可以给变量赋初始值。2、变量的赋值方式。3、整型数据的存储形式。4、整型数据的溢出原因和判断。/* EX2-2.C */main( ) int a, b, c; unsigned u, v; a=32767+1;b=131071;c=-98304; u=131071;v=-98304; printf("a=%d,b=%d,c=%dn u=%u,v=%un",a,b,c,u,v);5、实型数据的存储及实型数据存储时的舍入误差。/* EX2-3.C */main( ) float x, y; x=123456.789E5; y
11、=x+30.0; printf("x=%f, y=%fn", x, y);6、字符数据的存储与使用main( ) /*字符与整数的通用举例*/ char ch1, ch2; int i; ch1='a' i=ch1; ch2=97; printf("%d is %cn", i, i); printf("%c is %dn", ch1, ch1); printf("%c is %dn", ch2, ch2);main() /*大小写字母的转换*/ char c1,c2; c1='a'
12、c2='B' c1=c1-32; /*'a'的ASCII码值为97,减去32得'A'的ASCII码值*/ c2=c2+32; /*'B'的ASCII码值为66,加上32得'b'的ASCII码值*/ printf("%c,%c",c1,c2);main( ) /*字符数据的补码*/ char c; c=0362; /*八进制数,相当于十进制数242*/ printf("%c%dn", c, c);课堂提问与讨论整型数据溢出例子,浮点数据舍入误差例子,给我们编程序的提示什么?课堂
13、小结、作业布置课题运算符与表达式课型新授课授课日期课时2教学目的1、 了解:C语言的丰富运算符,丰富的运算符可以构成灵活的表达式2、 掌握算术、赋值、逗号运算符及它们构成的表达式。掌握运算符的优先级、结合性规律。教学重点难点教学重点:1、算术、赋值、自增/减运算符及它们构成的表达式2、运算符的优先级、结合性规律。教学难点:1、运算符的优先级、结合性2、自增/减运算符的运算规律教学方法由于本节内容语法点比较多,所以在教学中结合多个小示例,在练习中掌握各知识点,通过实例操作,体会语法点。教学内容提纲1、 列举C语言的13类运算符,提示学习运算符时应注意的问题;2、 算术运算符与表达式;3、 强制类
14、型转换运算符;4、 自增自减运算符及举例;5、 赋值运算符与表达式;6、 逗号运算符与表达式;7、 数据类型的转换。教学过程:§2.3 运算符与表达式 算术运算符与算术表达式1、C语言中基本的算术运算符共有5个,分别为:+(加), -(减), *(乘), /(除),%(取模,或称求余)。2、有时为了达到某种目的,需要将一个表达式的类型转变成所需的类型,这时就要用到强制类型转换运算符。作用形式: (类型) (表达式) 将表达式的值转换成相应类型例如: (double)a (int)(x+y) (float)5/3 3、自增自减运算符:+和- -自增自减运算符+和-是C语言中最常用也最难
15、掌握的两个单目运算符,具有右结合性。他们的作用是:只作用于变量,使变量的值自增1或自减1。如+i相当于i=i+1;-j相当于j=j-1,因此+、- -实质也有赋值作用。由于不能对常量或表达式赋值,因此象3+, (a+b)- -等都是错误的。【例2-8】输出下面程序中i、j的值main() int i=5,j; j=+i+i+; printf("i=%d,j=%dn",i,j); i=5; j=(+i)+(+i)+(i+); printf("i=%d,j=%dn",i,j); printf("%d %dn",i+j,j+); §
16、; 赋值运算符与赋值表达式 1.赋值运算符及其表达式的定义形式。2. 复合赋值运算符C语言允许在赋值运算符“=”之前加上其他运算符以构成复合的赋值运算符。基本算术运算符和位运算符。有:+=,-=,*=,/=,%=,<<=,>>=,&=,=,|= 3. 赋值类运算符的副作用及限制4. 算术表达式的计算§ 逗号运算符与逗号表达式【例2-9】分析下面程序的运行结果main() int y=3,x=3,z=1; printf("%d %dn",(+x,y+),z+2); §2.4 数据类型转换类型转换概述 三种方式:类型自动转换、
17、赋值类型转换和强制类型转换。§ 赋值类型转换 赋值运算时,如果赋值运算符两侧的类型(指基本类型)不一致,系统自动将表达式的值转换成变量的类型存到变量的存储单元,转换的结果可能会:(1)当整型数据赋给浮点型变量时,数值上不发生任何变化,但有效位增加。(2)当单、双精度浮点型数据赋给整型变量时,浮点数的小数部分将被舍弃。(3)将字符型数据赋给整型变量时,由于字符型数据在运算时根据其ASCII码值自动转化为整型数据,所以将字符型数据的ASCII码值存储到变量中。(4)将有符号的整型数据赋给长整型变量,系统要进行符号位扩展。将无符号的整型数据赋给长整型变量时,只需0扩展即可。(5)将长整型数
18、据赋给整型变量或将整型数据赋给字符型变量,都有可能溢出。(6)同长度有符号整型数据赋给无符号整型变量时,数据将失去符号位功能。(7)同长度无符号整型数据赋给有符号整型变量时,数据将得到符号位功能。§ 强制类型转换利用强制类型转换运算符将一个表达式的值强制转换成所需类型。即: (类型名)(表达式)§2.5 程序举例,分析程序的运行结果。【例2-10】分析下面程序的运行结果main() int x, y; x=50; y=(x=x-5, x/5); printf("y=%d",y);【例2-11】写出下面程序的运行结果main() int i=2,j=3,k
19、,n,m; k=i+j;printf("%d",k); k=k+1;printf("%d",k); n=k*3;printf("%d",n); m=n%j;printf("%d",m); m=m-i;printf("%d",m); n=k/j;printf("%d",n);【例2-12】分析下面程序的运行结果main( ) int m,n, k; m=5; n=10; k=(-m)+(-n); printf("m=%d,n=%d,k=%dn",m,n,k)
20、; m=5, n=10; k=(m-)+(n-); printf("m=%d,n=%d,k=%dn",m,n,k);本章小结各知识点的小结。课堂提问与讨论a=3*5,a*4<=>? 答:(a=3*5),(a*4)课堂小结、作业布置仔细阅读附录4及其说明,掌握优先级规律。(经常查阅)课题简单程序设计课型新授课授课日期课时2教学目的1、了解C语言语句分类:控制语句,表达式语句,复合语句,函数调用语句等;2、掌握表达式语句,复合语句的构成;3、掌握格式化输入/输出函数,常用其它输入/输出函数的使用。教学重点难点教学重点:表达式语句,复合语句的构成,程序的基本结构;教学
21、难点: 格式化输入/输出函数。教学方法教学中结合多个小示例,通过实例操作,体会语法点。教学内容提纲1、 C语言的语句类型;2、 程序的基本结构;3、 赋值语句;4、数据的输入与输出函数的使用。教学过程:本章导读:说明本章的主要内容与学习要求。§3.1 C语言语句C语句可分为以下5种类型:1.表达式语句由表达式组成的语句称为表达式语句,其作用是计算表达式值或改变变量值。它的一般形式是: 表达式; 2.函数调用语句由一个函数调用加上一个分号构成函数调用语句,其作用是完成特定的功能。它的一般形式是: 函数名(参数列表); 3.控制语句 控制语句用于完成一定的控制功能,以实现程序的各种结构方
22、式。C语言有9种控制语句。4.复合语句 复合语句是用大括号将若干语句组合在一起,又称分程序,在语法上相当于一条语句。5.空语句 只有一个分号的语句称为空语句。它的一般形式是: ; 空语句是什么也不执行的语句,常用于循环语句中的循环体,表示循环体什么都不做。 §3.2 程序结构 程序结构简介程序结构:顺序结构、选择结构、循环结构。任何复杂的程序都是由这三种基本结构组成。【问题3-1】简单的程序结构。main() int x,y,z; /*定义三个整型变量,是C语言中的声明部分*/ x=123;y=234; /*以下语句是C语言中的语句,是执行部分*/ z=x-y; printf(&qu
23、ot;x-y=%dn",z); 【问题3-2】由多个函数构成的程序结构main() /*主函数*/ int x,y,z; /*声明部分,定义变量的类型*/ scanf("%d,%d",&x,&y); /*通过输入函数,给变量x、y赋值*/ z=min(x,y); /*调用min函数,将函数值赋给变量z*/ printf("min=%dn",z); /*输出变量z的值*/int min(int a,int b) /*定义一个名为min的函数,函数值为整型,虚参a和b也是整型*/ int c; /*函数min中的声明部分*/ if(
24、a>b) c=b; else c=a; return ( c ); /*将变量c的值通过返回语句带回调用处*/ 顺序结构及举例顺序结构是程序设计中最简单、最基本的结构,其特点是程序运行时,按语句书写的次序依次执行。§3.3 赋值语句赋值语句是一个应用十分普遍且最简单的语句。赋值语句的一般形式:x=e; 其中:x是变量名,“=”前面已介绍过,是赋值号,e是表达式。 赋值语句的功能是将赋值号右边表达式的值计算出来,再赋给赋值号左边变量。 §3.4 数据输入与输出1、 printf函数(格式输出函数)(1) 格式:printf(格式控制字符串,输出表列) 格式控制字符串:(
25、格式控制项、普通字符)输出表列:一般是一个表达式,简单地,可以是变量。(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。一般使用更加简单形式。注意: 数据读入结束情况:遇空格、TAB、回车;遇非法输入;指定宽
26、度结束。3、字符数据的输入与输出(1)putchar函数 一般形式:putchar(字符表达式);(2)puts函数 一般形式:puts(char *str);(3)gets函数 一般形式:gets(char *str);课堂提问与讨论课堂小结、作业布置C语言的格式输入/输出的规定比较繁琐,重点掌握最常用的一些规则和规律即可,其它部分可在需要时随时查阅。课题简单程序设计课型新授课授课日期课时2教学目的1、了解结构化程序设计的概念;2、掌握结构化流程图、N-S流程图;3、掌握顺序结构程序设计的方法。教学重点难点教学重点:顺序结构程序的设计。教学难点: 结构化流程图、N-S流程图的绘制方法。教学方
27、法教学中结合多个小示例,通过实例操作,体会语法点。教学内容提纲1、 算法及其表示方法;2、 结构化程序设计;3、 顺序结构程序设计举例。教学过程:复习格式化的输入和输出。一、算法及其表示方法1、 算法:解决问题的方法、步骤2、 算法的5大特性:有穷性,确定性,有0个或多个输入,有1个或多个输出,有效性。3、 算法的表示方法a) 用自然语言表示算法b) 用流程图表示算法(传统流程图、改进的流程图)c) 用N-S流程图表示算法(盒图)d) 用伪代码表示算法(常常用于算法设计)e) 用计算机语言表示算法二、结构化程序设计1、 结构化算法或程序由三种基本结构顺序组成:顺序结构,选择结构,循环结构;在基
28、本结构之间不存在向前或向后的跳转,流程的转移只存在于一个基本结构中。2、 可以用改进的流程图或N-S图表示。三、顺序结构程序设计举例例315:从键盘上输入两个整数放入变量a,b中,编程将这两个变量中的数据交换。 例3-16:从键盘上输入一个英文小写字母,编程输出该字母所对应的ASCII码和所对应的大写字母。 例3-17:输入三角形的三条边,编程求该三角形的面积 例3-18:编程求方程的解 例3-19:分析给出程序的运行结果。课堂提问与讨论课堂小结、作业布置结构化流程图、N-S流程图绘制关键是记住各种基本结构的绘制方法。课题第4章 选择结构程序设计(1/3)课型新授课授课日期课时2教学目的1.
29、学生应能掌握关系运算符与关系表达式的使用;2、学生应能掌握逻辑运算符与逻辑表达式的使用;3、学生应能掌握if语句基本结构。教学重点难点教学重点:1、关系运算符与关系表达式、逻辑运算符与逻辑表达式; 2、if语句的使用。教学难点:1、逻辑表达式运算的短路现象。教学方法主要运用讲授法。(1举例引导2提问3类比)利用多媒体课件进行教学,扩大课堂教学的信息量。教学内容提纲1、关系运算符与关系表达式;2、逻辑运算符与逻辑表达式;3、if语句。教学过程:本章导读选择结构是结构化程序中基本结构之一。选择结构是根据判定所给条件是否满足,自动决定程序该执行哪些语句。在C语言中,通常用if语句或switch语句来
30、实现选择结构。if语句是两分支的选择语句;switch语句是多分支的选择语句。本章主要介绍什么是选择结构、选择结构的特点和语法以及如何利用选择结构语句设计简单的程序。4.1关系运算符与关系表达式1、关系运算符关系运算实际上就是比较运算。比较两个量的运算符就称为关系运算符。 在C语言中为我们提供了6种关系运算符:< 小于<= 小于或等于 > 大于>= 大于或等于= = 等于!= 等于 2、关系表达式关系表达式是用关系运算符将两个表达式(可以是算术表达式、关系表达式、逻辑表达式、赋值表达式、字符表达式等表达式)连接起来的式子。4.2 逻辑运算符与逻辑表达式1、逻辑运算符语言
31、中为我们提供了三种逻辑运算符,分别是:&& 与运算 | 或运算! 非运算 2、逻辑表达式逻辑表达式类似于关系表达式,是用逻辑运算符把两个表达式连接起来的式子。4.3 if语句y=0 x<=01 x>0【问题】我们在求解数学问题中常会遇到这样的问题,例如:计算一个分段函数:又有时我们需要给学生成绩分等级。比如:85分以上的为A等,7084分为B等,6069分为C等诸如此类问题。平时我们用数学方法解决,在C语言中我们该如何编写程序解决呢?1、 单分支if语句的基本形式及应用举例。2、 双分支if语句的基本结构及应用举例。3、 多分支选择结构的if语句一般形式及其应用举例
32、。课堂提问与讨论课堂小结、作业布置课题第4章 选择结构程序设计(2/3)课型新授课授课日期课时2教学目的1. 学生应能理解if语句的嵌套概念,2. 学生应能通过对条件运算符和条件表达式的学习掌握在简单情况下利用条件表达式表达选择结构的方法。教学重点难点教学重点:if-else语句、switch语句、条件运算符教学难点:教学难点:1.嵌套if-else语句中的if与else匹配问题 2.switch语句的执行流程;3.条件运算符的结合性及其使用教学方法主要运用讲授法。(1举例引导2提问3类比)利用多媒体课件进行教学,扩大课堂教学的信息量。教学内容提纲1、if语句的嵌套2、条件运算符和条件表达式3
33、、switch语句教学过程:复习关系去处、逻辑运算、if语句。 if语句的嵌套及应用举例当if语句中的语句体又是if语句时,我们认为这种情况就叫if语句的嵌套。例4-5:键盘输入一行字符(以回车结束),统计其中所有数字字符、字母字符和其他字符的个数。例4-6:输入两个十进制整数,输出这两个数的关系。如若输入的数据为2,3,则输出结果为2<3,若输入数据为3,2,则输出结果为3>2,若输入数据为3,3,则输出结果为3=3。 条件运算符和条件表达式1、条件运算符条件运算符是C语言中一个特殊的运算符,由“?”和“:”组合而成。2、条件表达式的形式。4.4 switch语句 【问题】前面我
34、们所说的if语句通常用于解决两个分支的情况,而日常生活中我们常常要解决多个分支的问题。例如前面我们所说的,给学生成绩划分A、B、C等,诸如此类问题。利用嵌套的if语句当然也是可以解决的,但是如果分支太多,if语句嵌套的层次数太多,势必会造成程序的冗长,可读性差。有没有什么更好的方法能解决多分支问题呢?C语言为我们提供了专门用于解决多分支选择问题的switch语句,其一般形式为:switch(表达式) case常量表达式1: 语句1; case常量表达式2: 语句2; case常量表达式n: 语句n; default : 语句n+1; 课堂提问与讨论课堂小结、作业布置课题第4章 选择结构程序设计
35、(3/3)课型新授课授课日期课时2教学目的1.学生应能通过 “程序举例”的学习,学习一些常用选择结构算法,例如:少量数按从大到小或从小到大顺序输出;百分制成绩转换成五级制成绩输出;判断闰年等;2.学生应能正确选择分支结构进行程序设计。教学重点难点选择结构程序设计的方法。教学方法主要运用讲授法。(1举例引导2提问3类比)利用多媒体课件进行教学,扩大课堂教学的信息量。教学内容提纲程序举例1.输入一个十进制正整数,判断该数是否是7的倍数,若是输出"Yes!",否则输出"No!"。2.输入3个数,按从大到小的顺序输出。3.将一个百分制的成绩转化成5个等级制。4.
36、 用switchcase语句来实现上例。5.输入2005年的一个月份,输出这个月的天数。(2005年为平年)教学过程:复习分支语句。程序举例:例4-10:输入一个十进制正整数,判断该数是否是7的倍数,若是输出"Yes!",否则输出"No!"例4-11:输入3个数,按从大到小的顺序输出。例4-12:将一个百分制的成绩转化成5个等级:90分以上为'A',8089分为'B',7079分为'C',6069分为'D',60分以下为'E'。例如输入75,则显示C。例4-13:用switc
37、hcase语句来实现【例4-12】。例4-14:输入2005年的一个月份,输出这个月的天数。(2005年为平年)本章内容小结。课堂提问与讨论课堂小结、作业布置课题第5章 循环结构程序设计(1/3)课型新授课授课日期课时2教学目的1. 学生应能掌握循环的基本概念;2. 学生应能描述掌握while循环语句的使用;3. 学生应能掌握do-while循环语句的使用。教学重点难点教学重点:1、switch语句; 2、while循环语句;3、do-while循环语句。教学难点:1、switch语句的执行流程; 2、while循环语句循环控制;3、do-while循环语句循环控制。教学方法主要运用讲授法。(
38、1举例引导2提问3类比)利用多媒体课件进行教学,扩大课堂教学的信息量。教学内容提纲1、循环的基本概念2、循环方法的探索3、循环结构语句:while和do-while语句教学过程:本章导读复习循环结构的特点,介绍本章的主要内容和学习要求。§5.1 循环的基本概念【问题】如何计算1+2+3+4+100 循环方法的探索。§5.2 循环结构语句一、while语句(当型循环)1)、while语句的一般形式2)、执行过程是:(流程图、N-S图)3)、使用while注意的问题。例5-1:利用while语句,编写程序计算1+2+3+100。例5-2:利用while语句,计算1到100之间所
39、有3的倍数的和。结论:编制循环程序要注意的几个问题。二、do-while语句(直到型循环)1)、do-while语句的一般形式2)、do-while执行过程(流程图)3)、do-while说明:例5-3:利用do-while语句,编写程序计算1+2+3+100。课堂提问与讨论课堂小结、作业布置课题第5章 循环结构程序设计(2/3)课型新授课授课日期课时2教学目的1、学生应能掌握for循环语句的使用;2、学生应能掌握while、do-while和for循环的相互转换与嵌套的使用方法;3、学生应能掌握循环体中的break和continue语句的用法;教学重点难点教学重点:1、for循环语句; 2、
40、循环的嵌套;3、循环体中的break和continue语句。教学难点:1、for循环语句循环控制; 2、嵌套循环中break和continue的作用。教学方法主要运用讲授法。(1举例引导2提问3类比)利用多媒体课件进行教学,扩大课堂教学的信息量。教学内容提纲1、for循环;2、循环的嵌套;3、break语句、continue语句和goto语句。教学过程:复习while循环语句。§5.3 for循环 1、for语句的一般形式(给出while循环的对应结构)2、for循环执行过程(流程图)例5-4:写一个程序,计算1+2+3+100。例5-5:计算1+1.5+2.0+2.5+3.0+3.
41、5+10。3、for语句最容易理解、最常用的形式4、for语句说明(6点)。C语言的for语句功能强大,使用灵活。§5.4循环嵌套的几种形式例5-6:计算s=1+(1+2)+(1+2+3)+(1+2+3+4+10)。§5.5 break语句、continue语句和goto语句课堂提问与讨论课堂小结、作业布置课题第5章 循环结构程序设计(3/3)课型新授课授课日期课时2教学目的学生应能通过简单的程序设计例子进一步掌握三种循环结构。教学重点难点教学难点:穷举法和迭代法循环结构程序设计教学方法主要运用讲授法。(1举例引导2提问3类比)利用多媒体课件进行教学,扩大课堂教学的信息量。
42、教学内容提纲程序举例1.计算s=1×2×3×4×82.打印输出5行星号图形,但每行输出的个数不等3.计算100以内的所有素数之和4.计算Fibonacci数列前40项的和。教学过程:复习三种循环结构、引入3种循环的比较、进一步加深学生对3种循环结构的理解。一、几种循环的比较1、 循环结构的基本组成部分(4部分)2、 几种循环的比较。一般相互可以替代,但具体形式有些差异。例5-7:将50-100之间的不能被3整除的数输出(用三种循环结构实现).二、应用举例例5-8: 计算s=1×2×3×4×8例5-9:打印以下图形(
43、循环的嵌套)。 例5-10:计算100以内的所有素数之和。例5-11:计算Fibonacci数列前20项的和。课堂提问与讨论注意到例5-10:外层n的循环,循环变量的修正是:“n=n+2”(即就是每次加2),为什么?(因为只要检查奇数,偶数能被2整除,一定不是素数)。课堂小结、作业布置课题第6章 数组(1/4)课型新授课授课日期课时2教学目的1、学生应能理解数组引入的意义及作用;2、学生应能掌握一维数组的基本思想和基本用法;3、学生应能掌握使用一维数组的基本算法:排序与查找。 教学重点难点教学重点:1、一维数组的定义、初始化和引用; 2、使用一维数组的基本算法:排序与查找。教学难点:1、一维数
44、组的引用;2、一维数组的具体应用:排序与查找。教学方法主要运用讲授法。(1举例引导2提问3类比)利用多媒体课件进行教学,扩大课堂教学的信息量。教学内容提纲1、一维数组的定义2、一维数组元素的引用3、一维数组的存储和初始化4、一维数组的应用教学过程:本章导读 在程序设计中,按序排列的同类型数据元素的集合称为数组。数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别的数组。 提出本章的主要内容和学习要求。【问题】从键盘接收10个数,求平均数并输出小于平均数的数。 一维
45、数组的定义形式及相关使用说明。 一维数组元素的引用形式和要求。例6.1:将数字09存入一个整型数组a中,并输出。 一维数组的存储和初始化方法。 一维数组的应用举例。例6.2:用数组求Fibonacci数列的前20项。例6.3:随机输入10个数,选出其中的最小数。例6.4:将10个整数从大到小排序。课堂提问与讨论课堂小结、作业布置课题第6章 数组(2/4)课型新授课授课日期课时2教学目的1. 学生应能掌握二维及多维数组的基本思想和基本用法;2. 学生应能掌握使用二维数组教学重点难点教学重点:二维数组定义、初始化、引用教学难点:1、二维数组及多维数组的存储和引用;2、矩阵的转置教学方法主要运用讲授
46、法。(1举例引导2提问3类比)利用多媒体课件进行教学,扩大课堂教学的信息量。教学内容提纲1、 二维数组的定义2、 二维数组元素的引用3、 二维数组的存储和初始化4、 二维数组的应用教学过程:复习数组的概念,数组的定义、初始化、元素引用方法。6.2 二维数组C语言允许使用多维数组。多维数组的最简单的形式是二维数组。实质上二维数组也就是由一维数组组成的。 二维数组的一般定义形式及定义说明。 二维数组元素的引用形式。程序设计时,通常用循环变量控制数组元素的下标,来实现数组元素的引用。 例6.5:数组元素引用的示范例题。 二维数组的存储和初始化的具体方法。 二维数组的应用例6.6:求矩阵的转置。例6.
47、7:有一个3×4的矩阵,要求编程以求出其中值最大的那个元素,以及它所在的行号和列号。例6.8:有M个人参加了N门课程的考试,编程求每个人的平均分以及每门课程的平均成绩。课堂提问与讨论课堂小结、作业布置课题第6章 数组(3/4)课型新授课授课日期课时2教学目的1学生应能掌握字符数组的定义、初始化、引用,及输入与输出2学生应能掌握字符串处理函数的使用方法。教学重点难点教学重点:1、字符数组的初始化、按字符串的输入和输出; 2、二维字符数组对多字符串的存储和处理。教学难点: 二维字符数组对多字符串的处理:多字符串排序算法。教学方法主要运用讲授法。(1举例引导2提问3类比)利用多媒体课件进行
48、教学,扩大课堂教学的信息量。教学内容提纲1、 字符数组的定义与初始化2、 字符串3、 字符串的应用教学过程:复习二维数组的概念、定义、初始化、元素引用的方法。引入字符数组(元素为字符)。6.3 字符数组与字符串字符数组,字符数组的每个元素是一个字符; 一维字符数组可以存放字符串;二维字符数组可以存放多个字符串。字符数组可以逐个元素处理,若存放的是字符串,那么还可以直接调用字符串处理函数处理。1、字符数组的定义、初始化及引用与一般数组类似。2、字符串与字符数组(1) 字符串与字符数组。存放的内容。(2) 字符数组的初始化(除了一般数组的初始化方法外,增加了一些方法)例6.9:给字符数组赋值且输出
49、。(3) 字符数组的输入输出(两种形式:逐个字符输入/输出,整串输入/输出)3、字符串(字符数组)处理函数(1)字符串输入,输出函数:gets、puts(2)字符串处理函数:strlen、strcat、strcpy、strcmp、【例6.10】使用"%c"输入输出字符串。【例6.11】输入输出一个字符串(scanf、printf)【例6.12】输入输出一个字符串(gets、puts)【例6.13】将一个字符串复制到另外一个字符串中。(strcpy)【例6.14】连接两个字符串。(strcat)【例6.15】输入5个字符串,将其中最小的字符串输出。(strcmp)【例6.18
50、】测字符串的长度。(strlen)4、字符数组应用举例【例6.17】输入一个字符串,统计其中的大写字母、小写字母、数字和其它字符的个数。【例6.18】删除一个字符串中的某个特定字符,本题以字符's'为例。课堂提问与讨论课堂小结、作业布置课题第6章 数组(4/4)课型新授课授课日期课时2教学目的1通过程序举例复习一维、二维和字符数组的使用2掌握一维数组中的冒泡排序算法及其他数组应用的算法。教学重点难点教学重点:求最大值,冒泡排序、选择排序算法教学难点:冒泡排序、选择排序算法教学方法主要运用讲授法。(1举例引导2提问3类比)利用多媒体课件进行教学,扩大课堂教学的信息量。教学内容提纲
51、程序举例1.用冒泡法对10个数排序(从小到大)。2.编程输出杨辉三角形(输出前10行)。3.不用strcat函数,将键盘输入的两个字符串连接起来形成一个新串。教学过程:§6.4数组应用程序举例。【例6.19】用冒泡法对10个数排序(从小到大)。【例6.20】编程输出以下的杨辉三角形(输出前10行)。【例6.21】不用strcat函数,将键盘输入的两个字符串连接起来形成一个新串。本章知识点小结。课堂提问与讨论课堂小结、作业布置课题第7章 函数(1/4)课型新授课授课日期课时2教学目的1、 通过一个学生成绩管理系统,说明模块化程序设计的方法;2、 进一步了解C语言程序的结构;3、 掌握函
52、数的定义方法;4、 函数的调用方法和形式。教学重点难点教学重点:函数的调用形式;教学难点:函数的调用方法。教学方法主要运用讲授法。(1举例引导2提问3类比)利用多媒体课件进行教学,扩大课堂教学的信息量。教学内容提纲1、函数概述2、函数的参数和函数的值教学过程:本章导读 本章的主要内容,和学习要求。7.1 函数概述1、模块化程序设计方法,引出C语言的函数式结构。2、简单函数应用的例子。例71 显示输出几行信息。3、总结说明函数的定义方法。例73:编一函数fun1用来实现将两个整数相加。4、函数调用的一般形式和调用方式。例74:函数调用时求值的顺序。7.2 函数的参数和函数的值。1、函数的形参和实
53、参。例75:分析函数调用时参数的传递的值的情况。2、函数的返回值。(return语句)课堂提问与讨论课堂小结、作业布置课题第7章 函数(2/4)课型新授课授课日期课时2教学目的1、 理解函数间的参数传递;2、 理解数组名和数组元素作为参数的区别。教学重点难点教学重点:函数间的参数传递;教学难点:数组名作为函数参数传递的实质。教学方法主要运用讲授法。(1举例引导2提问3类比)利用多媒体课件进行教学,扩大课堂教学的信息量。教学内容提纲1、 值传递的特点2、 地址传递的特点3、 数组作为函数的参数教学过程:复习函数的定义、函数调用方式。7.3 函数间的参数传递在函数的调用过程中,大部分都存在着数据上的联系,主要表现在两个方面:一是外部数据如何传递到函数内部;二是函数内部加工过的数据如何传递给外部程序。因此 C程序中,函数间的参数传递有两个方面:1)函数调用时传递给函数的值;2)函数调
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学毕业生就业协议书签订流程解析
- 2024年兼职协议样本
- 2024销售合作协议示例
- 个人租房合同书范本
- 房屋室内装修合同书样式
- 合作契约:展会活动合作契约-合同样本
- 广东省餐饮行业劳动合同
- 2024年技术开发合作协议参考
- 高速公路盾构隧道建筑信息模型分类与编码标准
- 2023年高考地理重点难点考点通练-整体性差异性(解析版)
- 仓储物流中心物业安全管理
- 医疗器械注册专员培训
- 期末复习重要考点03 《一元一次方程》十大考点题型(热点题型+限时测评)(原卷版)
- 生物丨金太阳(25-69C)广东省2025届高三10月大联考生物试卷及答案
- 车队车辆挂靠合同模板
- 期中 (试题) -2024-2025学年人教PEP版英语四年级上册
- 动物疫病防治员(高级)理论考试题及答案
- 跨境电商行业研究框架专题报告
- 提升初中生英语写作
- 2024年深圳市优才人力资源有限公司招考聘用综合网格员(派遣至吉华街道)高频500题难、易错点模拟试题附带答案详解
- 高中政治必修四哲学与文化知识点总结
评论
0/150
提交评论