C语言程序设计教案--精选文档_第1页
C语言程序设计教案--精选文档_第2页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言概述【教学目的】 1)了解C的发展2)熟悉C的特点【教学重点】 C语言的特点 (难点)【教学方法】 例举法,推导法,归纳法【课时计划】2课时【授课时间】2005-11-1【教学过程】导 言 程序的目的是处理数据,所以设计程序首先的知道这门语言可以处理什么样的数据新课内容一、 C语言的历史及其特征二、 简单C语言的程序实例 # include “stdio.h” main() int a,b,sum; printf(“enter two numbers:”); scanf(“%d%d”,&a,&b); sum=a+b+6; printf(“%d”,sum); 三、 编辑、编

2、译、连接、运行一个C语言程序四、 C语言的特点【课堂练习】 1。C语言规定,必须以()作为主函数名。 A. stdio B. function C. include D. main2. C程序的基本构成单位是()。 A. 子程序 B. 函数 C. 过程 D.函数和过程【小 结】总结:C语言特点【课后作业】7页2【板书设计】一、 C语言的历史及其特征二、 简单C语言的程序实例 # include “stdio.h” main() int a,b,sum; printf(“enter two numbers:”); scanf(“%d%d”,&a,&b); sum=a+b+6; p

3、rintf(“%d”,sum); 三、 编辑、编译、连接、运行一个C语言程序四、 C语言的特点【教学后记】 学生听课认真,积极回答老师提出的问题。课堂教学效果很好,能够按时完成课堂练习题。对软件开发这个专业很有信心。数 据 类 型【教学目的】 1)常量.变量概念简要介绍2)详细介绍,三种类型的常量.变量的使用规则,占内存大小及范围【教学重点】 变量的使用【教学难点】 变量占内存空间大小【授课时间】2005-11-2【课时计划】2课时【教学方法】举例法【教学过程】 导 言 程序 = 数据结构 + 算法 + 程设方法 + 语言工具新课内容一、 数据类型分类1 基本类型2 构选类型3 指针类型4 空

4、类型 二、 常量、变量 1、 常量、符号常量(1)定义:其值不改变(2)分类a. 整型: 2,0,-1b. 实型: 2.2 ,-3.4c. 字符: a,c 2、变量(1)定义:值可以改变(2)组成因素int a=20;变量名:a 变量值:20(3)标识符a. 定义:标识符,变量名,函数名,数组名等;b. 规则: 已字母下划线打头c. 长度:ANSIC 不限 TURBOC 限32 个字符(4)使用:先定义后使用三、 数据1、整型数据。整型常量表示方法a. 十进制 123 ,-123b. 八进制 o35,o27c. 十六进制 oxA3,ox12 。整型变量a. 形式: 2进制a. 分类:int 2

5、bshort int 2blong int 4bb. 定义int a, bunsigned int c,d;long e, f, 。整型、常量类型 2、 实型数据 。 表示方法 123, 123.0 ,0.0 。实型变量float 4bdouble 8blong double 16b 。 类型 double类型float a;double b;b=1234.789a=123456.789 3、字符数据 。 字符常量。一般字符 例子:“b”,”c”,”1”,! 。特殊字符常量 说明: 以 开头的 。 字符变量。定义char c1, c2 ; c1=A; c2=b。举例输出: a,A 97,65

6、。 字符串变量1 定义:例 “123”,“A”2 以字符0 结束标志。 变量赋值1 定义变量 同时赋值例: int a=978;float=b=98.67;char=c=c;2 定义变量 一部分赋值例: int a,b,c=91;3 几个变量 同时赋值例: int a=b=c=d=97;【课堂练习】1、 main() float a, b; a=123456.789e+6; b=a+30 printf(“%f”,b)2、 main() char c1, c2; c1=97;c2=65; printf(“%c,%cn”,c1,c2); printf(“%d,%c/n”,c1,c2);【课后作业】

7、 26页3、9、10【小 结】注意特殊字符常量、符号常量、变量在内存的存储形式【板书设计】一、 数据类型分类 二、 常量、变量1、 常量、符号常量2、 变量三、 数据1、整型数据2、 实型数据3、字符数据。 字符串变量。 变量赋值【教学后记】 本次课内容充实,知识点多,所讲内容,学生都能听懂,但运用不够熟练,需要多做练习,以巩固加深。运 算 符 与 表 达 式【教学目的】 1.了解理解运算符 2.运用算术运算符及使用【授课重点】 表达式的使用【授课难点】 I+与+I 的区别【教学方法】 举例法、分析法【授课时间】 2005-11-3【课时计划】 2课时【教学过程】导 言 运算量+ 运算量 1

8、+ 2新课内容 一 各数值数据的混合运算1 总则: 自动转换同类型2 规则:(1) float->doublechar,shor->int(2) 可直/间转换int ->ussigned->long->double 二 算术运算符,表达式1 运算符(1) 算术(2) 位 & ! (3) 条件?:(4) 指针& *2 算术运算符,表达式(1) 基本算术运算符(2) 运算符优先级a. * / -> + -b. 同级,运算符结合c. 强制类型转换形式:(类型名)(表达式)例子:main() float x; int y; x=8.56; y=(in

9、t)x; printf(“x=%f,y=%d”,x,y);d. 自增,自减运算I+=>1)I, 2)I=I+1;+I=>1)I=I+1, 2) I三、数据输入和数据输出a) 数据输出:命令格式:printf(控制字符串,参数1,参数2,)例如:main()float x=1234.565; int y=234; char c=a; printf(“%f,%d,%c”,x,y,c); b) 数据输入:命令个是:scanf(控制字符串,参数1,参数2,)例如:main()float x int y; char c; scanf(“%f,%d,%c”,x,y,c);【课堂练习】 分析程序

10、的输出结果: main() int i=2; i+=i-=i+i; printf(“%dn”,i);【小 结】 数据类型必须掌握整型、浮点型、字符型,还要掌握各种运算符之间的区别与联系。【课后总结】 提纲 一、各种数据数据类型自动转换规则 二、算术运算符及表达式 1、自增 i+与+i区别1、 运算符优先级结合性2、 强制类型转换运算符【课后作业】26页3【教学后记】学生听课认真,没有人开小差。能跟上老师的思路,积极思考问题。所讲内容都能听懂,但个别容易出错的地方还有待加强。顺序结构(数据的输入和输出)【教学目的】 使学生明白现实世界程序的顺序处理【教学重点】 理解顺序结构【教学难点】 变量占内

11、存空间大小【教学方法】 讲授课【教学日期】 2005-11-7【课时计划】 2课时【教学过程】导 言:举例引出程序思想新课内容:一、 基本结构 1顺序结构 A->B 2. 选择结构 A->B 或 A->C 之中选择 3. 循环结构 WHILE() DO WHILE()二、 数据输入输出语句1 输入输出:用函数实现2 使用库函数 “I#INCLUDE”3 常用函数 (I/0)(1)字符数据的 I/0A. putchar(c) 字符输出putchar()putchar(r)B. getchra() 字符输入(2) 格式输入/输出A. printf(格式控制,输出列表)(1)%d

12、十进制 例:int I=123; printf(“%d”,I) 123 printf(“%2d,%4d”,I,I) 123, 123(2)%0 八进制 例:int I=-2; printf(“%d,%0”,I,I); I=-2 I=177776(3)%x 十六进制 ffff(4) %u 输出无符号整型 unsigned ing a=65535(5) %c 输出一个字符 printf(“%c”,c) printf(“%d”,c);(6)%s 输出字符串 printf(“%s”,”hello”); printf(“%s”,”you are goods”)(7) %f 输出实数 float I,j

13、printf(“%f”,11111.1111+33333.3333) 44444.4444(8) %e 指数输出 int I I=123.456;Printf(“%e”,I) l.234560e+002B scanf 输入函数(1) 形式:scanf(格式控制,地址列表)(2) 例子:int Iscanf(“%d”,&I);请你输入整性数据三、C语句1 控制语句(1) if () else条件语句(2) for()循环语句(3) while() 循环语句(4) dowhile()循环语句(5) cotinue循环语句(6) break终止语句(7) switch分支语句(8) goto

14、转向语句(9) return返回语句2. 函数调用 printf() scanf()3. 表达式语句4空语句 ;5复合语句 【课堂练习】 1.输入三角形边求三角形的面积2.从键盘输入一小写字符转化成大写字符3.求: ax+bx+c=0 的根【小 结】 一、各种数据数据类型自动转换规则 二、算术运算符及表达式 1、自增 i+与+i区别3、 运算符优先级结合性4、 强制类型转换运算符【课后作业】34页10、11、12【教学后记】上课纪律很好,所有学生都能认真听课。所讲知识都能听懂,练习能按时完成且正确率高。对于自加、自减的综合运用,还有些学生容易出错。下次课再强调一下。分 支 结 构(if swi

15、tch语句)【教学目的】 1)使学生能熟练运用简单的语句进行顺序结构程序设计2)运用单分支条件语句进行判定结构程序设计3)运用双分支条件语句进行判定结构程序设计4)运用多分支条件语句进行判定结构程序设计【教学重点】 条件语句的应用【教学难点】 条件语句的熟练使用【教学方法】 讲授课【教学日期】 2005-11-8【课时计划】 4课时【教学过程】 导 言:我们利用简单语句可以进行程序设计,但只是简单程序设计。在设计程序时经常会遇到根据某些情况进行选择操作,这样就得用判断语句。新课内容:一、 语句的分类1 表达式语句2 空语句3 复合语句4 函数调用语句5 控制语句二、 if 语句1 If语句的一

16、般形式命令格式:if (条件) 语句1else 语句2 例如:#include”stdio.h”main()int a,b,s1,s2; printf(“请输入两个整数a,b:”); scanf(“%d,%d”,&a,&b); s1=a+b; s2=a*b; if (s1>s2) printf(“a与b的和大于a与b 的积”); else printf(“a与b的积大于等于a与b 的和”); 2 If 语句中的复合语句如果两个分支中需要执行的语句不止一条,必须用“”括起来。例如:#include”stdio.h”main()float a,b,u,v,s,r; print

17、f(“请输入两个整数a,b:”); scanf(“%d,%d”,&a,&b); if (s1>s2) r=a*a-b*b; s=a/b; else r=b*b-a*a; s=a/b+4; u=(r+s)*(r+s);v=u*(r+s);printf(“u=%f,v=%f”,u,v); 3 较复杂的条件表达式4 If 语句的嵌套了解if语句的嵌套规则例如:输入a, b两个数,比较并输出结果。Main()int a,b; printf(“please input two integer”); scanf(“%d,%d”,&a, &b); if (a)b)pri

18、ntf(“a)b”); else if (a<b)printf(“a<b”); else printf(“a=b”);5 Switch语句1) 语句的格式switch(表达式)case 常量表达式1:语句序列1; case 常量表达式2:语句序列2; case 常量表达式n:语句序列n; default:语句序列n+1;2) 例如:2000年元旦是星期六,求出2000年的任何一个日期是星期几【课堂练习】50页1、2、4【小 结】这节课主要掌握以下内容 1)运用单分支条件语句进行判定结构程序设计2)运用双分支条件语句进行判定结构程序设计3)运用多分支条件语句进行判定结构程序设计【课后

19、作业】50页5【教学后记】 学生听课认真,能积极思考问题,回答老师提问,听课教学效果好!对于语法格式都能掌握,但还需做大量练习巩固。循 环 语 句 的 使 用【教学目的】 1)掌握while语句的使用2)掌握while语句的结构3)掌握for语句的使用和结构【教学重点】 1)掌握while语句的使用2)掌握while语句的结构3)掌握for语句的使用和结构【教学难点】 循环语句的使用和执行过程【课程类型】 讲授课【教学日期】 2005-11-10【课时计划】 2课时【教学过程】 导 言:如果在设计程序时有些语句需进行重复执行才能完成的就的使用循环结构。 新课内容:一、 while语句1 语句的

20、结构while (表达式) 循环语句;2 功能:但条件表达式为真时执行循环语句,当条件表达式为假时跳过循环语句,执行循环语句的下一条语句。3 例1:计算1+2+3+100main()int sum=0,i=1; while(i<=100) sum+=i; i+; printf(“%d”,sum);例2:计算从10 到10000之间的10 的幂的平方根4 练习输入一组数据,以0作为结束标志,计算这批数的平均值,并分别统计其中的正整数和负整数的个数二、 for语句1 语句的结构for (表达式1;表达式2;表达式3) 循环语句;2 功能:但条件表达式2为真时执行循环语句,当执行完循环语句后执

21、行表达式3,直到条件表达式2为假时跳过循环语句,执行循环语句的下一条语句。3 例1:计算1+2+3+100main()int sum,i; for (sum=0,i=1;i<=100;i+)sum+=i; printf(“%d”,sum);例2:计算从10 到10000之间的10 的幂的平方根三、 比较两种循环的特点1 执行过程2 适用的地方【课堂练习】找出在1000以内能被2,3,5整除的数【小 结】这节课主要掌握以下内容:while语句的使用和while语句的结构,for语句的使用方法和结构及两种循环的特点【课后作业】64页2、5、6、7、8【教学后记】 学生认课认真,通过课堂练习掌

22、握了循环语句的语法格式和简单应用。涉及复杂算法应用时就有些吃力。解决方法:上机练习时督促学生认真完成课后作业题,把书上相关例题,再研究一遍。dowhile 语句及循环嵌套【教学目的】 1)掌握dowhile循环语句的方法和结构,能够灵活应用循环语句。 2)循环的嵌套【教学重点】 能够灵活应用循环语句及循环的嵌套。【教学难点】 能够灵活应用循环语句。【课时计划】 2课时【教学日期】 2005-11-14【教学方法】 讲授课【教学过程】 导 言:提问上节课的循环语句。新课内容:一、 dowhile 语句1)语句的结构do 循环语句;while (表达式);2)功能:但条件表达式为真时执行循环语句,

23、当条件表达式为假时跳过循环语句,执行循环语句的下一条语句。3)例1:计算1+2+3+100main()int sum=0,i=1; do sum+=i; i+; while(i<=100) printf(“%d”,sum);例2:计算从10 到10000之间的10 的幂的平方根4)练习:用迭代公式求整数a的平方根。二、 循环语句的嵌套1 在一个循环内可以包含另一个循环,称为循环的嵌套2 例:求整数2100中的素数。main()int,i,n,num; for(n=3;num=0;n<=100;n+) i=2; while (i<&&n%i!=0)i+;if (

24、i=n) printf(“%d”,n); num+;printf(“%d”,num);3 例2:打印小九九表(打印格式如下)12 43 6 9三、 几种循环的比较四、 break、continue、goto语句【小 结】 这节课重要的内容是循环的嵌套,这是个难点。【课堂练习】1、输出100200中不能被7整除的数 2、输出120中能被3整除的数,并求出他们的和3、求出100200中的全部素数。【教学后记】 前三个知识点学生能很快掌握,但素数的判断、运用就不太理解,通过两个例子的讲解,基本理解了素数判断的方法和程序实现。以后再讲素数时应先讲两个简单例子,在学生理解的基础上,然后再扩展。Break

25、 和Continue 应用举例【教学目的】 为了使学生能够很好的掌握循环,对这章节进行练习【教学重点】 熟练掌握循环语句【教学难点】 熟练掌握循环语句【教学方法】 讲授课【教学日期】 2005-11-16【课时计划】 2课时【教学过程】 导 言:循环是程序设计中比较难理解的一部分,也是比较重要的内容。 新课内容:一、 例题讲解1 最大公约数和最小公倍数main()int r,m,n,temp,gec,lcm; printf(“please input m,n:”); scanf(“%d,%d“,&m,&n); lcm=m; while(m%n!=0) r=m%n; m=n; n

26、=r; gce=n; lcm=lcm/gcd; printf(“gcd=%d,lcm=%d”,gcd,lcm);2 打印指定月份的日历3 用二分法求方程的根。求方程x3+4x2+x+1=0在-5,5之间的近似根二、 课堂练习:1 输出19002000年中所有的润年。每输出三个年号换一行main()int i,n=; printf(“打印润年”); for (i=1990;i <=2000;i+) if (i%4=0&&i%100!=0|i%400=0) n+; if (n%3=0)printf(“n”); printf(“%d”,i); 2 计算并输出一个整数各位数字之和

27、。如5331,各位之和是5+3+3+1=12。【课堂练习】 见上【小 结】 理解if 的嵌套使用方法,灵活使用swich语句【课后作业】 64页9,10【教学后记】学生听课认真,对所讲内容都能掌握。课堂练习能按时正确完成。一维数组、二维数组【教学目的】 1)理解构造类型的特性。2)掌握数组定义的格式及数据的应用方法3)综合运用数组。【教学重点】综合运用数组。【教学难点】综合运用数组。【教学方法】 讲授课【教学日期】2005-11-18【课时计划】 2课时【教学过程】 导 言:我们应用每一个变量都的一一定义如果想一次定已多个变量这时就的使用数组。 新课内容:一、 数组类型的定义类型名 数组名下标

28、特点:可以定义多个分量,但这些分量只能存储同一个类型的数据。二、 数组分量的引用例如:int a10 -定义一个有10个分量的数组分量的引用 a1 a2 a3 a4 a5 a6 a7 a8 a9 a0三、 一维数组的应用例1:把1到10 这10个数存入数组变量,并反向输出main()int a10,i; for (I=0;I<=9;I+) aI=I+1; for (I=9;I>=0;I-) printf(“%d”,aI); 例2:从键盘输入字符,记下“a”到“z”这些小写字母出现的次数,当输入!号时结束输入。Main()int I,a26; char ch; for (I=0;I&

29、lt;26;I+) aI=0; while (ch!=!) scanf(“%c”,&ch); if (ch>=a&&ch<=z) aI=ach-97+1; for (I=0;I<26;I+) printf(“%d,aI)四、 二维数组的定义类型名 数组名常量表达式1 常量表达式2特点:可以定义多个分量,但这些分量只能存储同一个类型的数据。五、 数组分量的引用例如:int a3 4-定义一个有12个分量的数组我们可以把他们看成三个一维数组,数组名分别为a0 a1 a2分量的引用 a00 a01 a02 a03 a10 a11 a12 a13 a20 a2

30、0 a20 a20六、二维数组的应用 建立一个3*4的矩阵,初始值来源于键盘的输入,并且输出【课堂练习】输入一个有序序列,在输入一个新数,将此数插入在此序列中。【小 结】一维数组、二维数组的定义一维数组的分量引用、二维数组的分量的引用 一维数组和二维数组的应用【课后作业】84页1【教学后记】 一维数组的应用学生能理解,且应用得较好。二维数一开始在理解上有些困难,通过在黑板上演示程序的执行过程,学生掌握了二维数组的内容。涉及较复杂、抽象内容最好的方法是以直观的方式给学生展示,这样便于学生理解和掌握。字符数组与字符串【教学目的】 1)理解字符数组的定义。2)掌握数组定义的格式及数组的应用方法3)综

31、合运用数组。【教学重点】综合运用字符数组。【教学难点】综合运用字符数组。【教学日期】2005-11-22【课程类型】 讲授课【课时计划】 4课时【教学过程】 导 言:我们应用每一个变量都的一一定义如果想一次定已多个变量这时就的使用数组。 新课内容:一、字符数组类型的定义char 数组名常量表达式特点:可以定义多个分量,但这些分量只能存储一个字符。二、字符数组的初始化: 1、static char c10=I, a, m ,h a p p y ;把10个字符分别付给c0到c9的10个元素三、 字符数组的引用例1:输出一个字符串例2:输出水晶石四、字符串1、 字符串和字符串结束标志2、 用字符串常

32、量给字符串初始化3、 通过赋初值隐含确定数组长度4、 字符串的输入输出5、 字符串处理函数四、 字符数组的应用:某单位的工作证号码的最后一位是用来表示性别的, 如f表示男,m表示女,今输入10个人的工作证号码,请统计出其中的男女人数【课堂练习】84页6、7【小 结】字符数组、字符串的定义及两者之间的关系字符数组的应用【课后作业】84页3、8【教学后记】 字符数组的定义和应用学生能很快理解并掌握。指 针【教学目的】 1)掌握指针的定义2)掌握指针的引用方式3)掌握字符指针与字符串指针之间的关系【教学重点】指针的概念、指针的正确引用【教学难点】指针的正确引用【课程类型】 讲授课【教学日期】 200

33、5-11-24【课时计划】 2课时【教学过程】 导言:指针是c语言中重要的数据类型,是c语言的精华,灵活的运用指针可以处理各种复杂的数据结构,可以使程序简洁、紧凑、高效。一、指针的定义与引用1、指针的概念:就是专门又来存放某种变量的地址2、指针变量的定义:格式:类型表示符 *标识符 int i, j; int *p1,*p2; p1=&i; p2=&j;1、 指针变量的引用:例:输入两个整数,按先大后小的的顺序输出 main() int *p1,*p2,*p,a,b;scanf(“%d,%d”,&a,&b);p1=&a;p2=&b;if(a<

34、;b) p=p1;p1=p2;p2=p;printf(“%d,%d”,a,b);printf(“max=%d,min=%d“,*p1,*p2);三、 指针变量作为函数的参数例:输入两个数,按大小顺序输出四、 指针与数组1、 指向数组元素的指针变量的定义与赋值2、 通过指针引用数组元素3、 指针变量的运算4、 数组明作为函数参数 五、指针与字符串1、 字符数组2、 指针数组【课堂练习】129页9.3、9.4【小 结】 这节课的主要内容是:指针的概念、指针的正确应用【课后作业】129页9、10【教学后记】 学生听课认真,能跟随老师的思路,积极思考,踊跃回答问题。对指针及指针的应用有很好的理解,能应

35、用指针完成基本的算法设计。函 数【教学目的】 1)了解函数的使用目的2)掌握函数说明及调用,能灵活运用知识解决问题3)利用函数设计程序【教学重点】 函数的说明及调用【教学难点】 函数的说明及调用、函数的程序设计【教学日期】 【课程类型】 讲授课【课时计划】 2课时【教学过程】 导 言:我们讲解过标准函数,利用函数解决问题非常容易,但标准函数是有限的。实际上函数是:可以自定义的。 新课内容:一、 函数的概念1类型 函数名(形式参数)说明部分; 语句部分; 2函数的功能 3函数的几点说明例如:定义一个函数求三角形面积float area (float x,y,z)float p,s; p=(x+y

36、+z)/2; s=sqrt(p*(p-x)*(p-y)*(p-z));return s;二、 函数的定义1 无参函数的定义类型说明符 函数名()说明部分 语句2 有参函数的定义 类型说明符 函数名(形式参数表列)形式参数说明说明部分 语句3 注意事项三、 函数参数和函数值2、 形式参数和实际参数3、 函数的返回值四、 函数调用1、 函数调用的一般形式2、 函数调用的方式3、 对被调用函数的说明五、 函数的嵌套调用六、 函数的递归调用程序举例例1:求如上多边形面积float area (float x,y,z)float p,s; p=(x+y+z)/2; s=sqrt(p*(p-x)*(p-y)*(p-z));return s; main() int a,b,c,a1,b1,c1,a2,b2,c2; scanf(“%d,%d,%d,%d,%d,%d,%d,%d,

温馨提示

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

评论

0/150

提交评论