《c语言电子教案精编版.doc》由会员分享,可在线阅读,更多相关《c语言电子教案精编版.doc(56页珍藏版)》请在三一办公上搜索。
1、程序设计基础教案第一章 程序设计和C语言课 题 C语言概述教案号1教 学目 的1、了解C语言出现的历史背景2、掌握C语言程序的结构、书写格式和上机步骤教 材分 析教学重点C语言程序的结构教学难点上机步骤课时安排2教学方法讲授与演示法相结合教具计算机、投影仪教学内容及过程设计一 新课引入从计算机应用基础中学过的计算机语言及语言处理系统引出C语言。二 讲授新课一、 C语言出现的背景二、 C语言的特点1. 语言简洁、紧凑,使用方便、灵活;2. 运算符丰富3. 数据类型多(整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类等)4. 具有结构化的控制语句5. 语法不太严格,自由度大6. 既是高
2、级语言,又具有低级语言的功能7. 成目标代码质量高,程序执行效率8. 可移植性好三、C语言程序构成(采用程序实例加以说明,并提倡良好的程序设计书写风格)1. C语言是由函数构成的,至少有一个main()函数;2. 每个函数由函数首部和函数体组成;函数体由说明语句、执行语句组成;3. 每个C程序从main()函数开始执行,并在main()中结束;4. 每个语句和数据定义的最后必须加分号;5. C程序无输入、输出语句:输入功能由scanf()函数完成;输出功能由printf()函数完成;6. 可加注释/*/四、上机步骤(上机环境:Turbo C 2.0)1. 进入环境 2.编辑源程序 3. 保存源
3、程序 4. 编译源程序5. 执行程序,查看结果 6. 6. 退出C环境三 课堂小结1、 C语言的构成要素,main函数在程序中的作用2、 上机操作的过程备注安排上机实验,熟悉TC环境及简单的C语言程序构成页码1第二章 算法程序的灵魂课 题算法教案号2教 学目 的1、了解算法的概念2、掌握结构化程序的三种基本结构,及算法的表示方法教 材分 析教学重点算法的表示方法教学难点结构化程序的三种基本结构课时安排2教学方法讲授与演示法相结合教具计算机、投影仪教学内容及过程设计一 复习引导 从C程序的构成到C程序的设计过程二 讲授新课一个程序包括以下两方面内容:1. 对数据的描述。在程序中要指定数据的类型和
4、数据的组织形式,即数据结构;2. 对操作的描述。即算法,为解决一个问题而采取的方法和步骤。著名计算机科学家Wirth提出一个公式:数据结构+算法=程序一、简单的算法举例例1:设有两个杯子A和B,分别盛放酒和醋,要求将它们互换。S1:C A S2:A B S3:B C例2:求1100的和S1:sum0,t1; S2:sumsum+tS3:tt+1 S4:若t = 100,则转到S2,否则转到S5;S5:输出sum,结束。二、二、 算法的特征1、有穷性; 2、确定性; 3、 有零个或多个输入;4、 有一个或多个输出; 5、 有效性;三、算法的表示1、 用自然语言表示算法通俗易懂,但有“歧义”。2、
5、 用传统流程图表示算法直观、易懂。程序的三种基本结构:顺序结构、选择结构、循环结构 BAABPAPAPAP 备注页码2第二章 算法程序的灵魂课 题算法教案号2教 学目 的1、了解算法的概念2、掌握结构化程序的三种基本结构,及算法的表示方法教 材分 析教学重点算法的表示方法教学难点结构化程序的三种基本结构课时安排2教学方法讲授与演示法相结合教具计算机、投影仪教学内容及过程设计3、3、N-S流程图表示算法 ABPTFABA当P成立A 当P成立 4、 用伪代码表示算法5、 用计算机语言表示算法(即实现算法)四、结构化程序设计方法结构化程序设计方法强调: 程序设计风格和程序结构的规范化,提倡清晰的结构
6、:自顶向下 逐步细化模块化设计 结构化编码三、课堂小结1、 程序的三种基本结构:顺序、选择、循环2、 5种描述算法的方法,关键是N-S图3、 灵活运用三种基本结构,学会结构化的程序设计方法四、布置作业用N-S图表示求解以下问题的算法:1、求10!2、将100200之间的素数打印出来3、求两个数m ,n的最大公约数备注安排上机实验页码3第三章 最简单的C程序设计-顺序程序设计课 题数据类型教案号3教 学目 的1、掌握C的数据类型2、掌握整型、实型、字符型数据的常量及变量教 材分 析教学重点各种基本数据类型的常量和变量教学难点不同类型的数据在内存中的物理存储形式课时安排2教学方法讲授与演示法相结合
7、教具计算机、投影仪教学内容及过程设计一 复习引导上次课我们已经学习了程序的一个方面算法,现在来学习另一方面数据结构。二 讲授新课 C有四种基本数据类型,分别是整型、字符型、实型、枚举型一、常量与变量 1、 常量:在程序运行过程中,其值不能被改变的量。 两种形式:一般常量和符号常量1. 直接常量(字面常量):整型常量:如12、0、-3等实型常量:如4.5、-1.234等字符常量:如a、1等,用单引号表示;字符串常量:如“a”、“abc”、“1”,用双引号表示。2. 符号常量:符号常量即是用一个标识符来代替一个常量;符号常借助于预处理命令#define来实现; 定义形式:#define 标识符 字
8、符串 如:#define PI 3.1415926535说明: 习惯上,符号常量用大写字母表示; 定义符号常量时,不能以“;”结束; 一个#define占一行,且要从第一列开始书写; 一个源程序文件中可含有若干个define命令,不同的define命令中指定的“标识符”不能相同;2、变量:在程序运行过程中,其值会发生变化。1每个变量必须有一个名字,变量名是标识符。2标识符是用来标识数据对象,是一个数据对象的名字。3命名规则:以字母或下划线开始,后跟字符、数字或下划线。例:x1,_average,lotus_1_2_3,#abc,1fs,M.D.Jhon 4变量名不能是关键字(即保留字,是C编译
9、程序中保留使用的标识符。 如:auto、break、char、do、else、if、int等) 5变量必须先定义再使用备注页码4第三章 最简单的C程序设计-顺序程序设计课 题数据类型教案号3教 学目 的1、掌握C的数据类型2、掌握整型、实型、字符型数据的常量及变量教 材分 析教学重点各种基本数据类型的常量和变量教学难点不同类型的数据在内存中的物理存储形式课时安排2教学方法讲授与演示法相结合教具计算机、投影仪教学内容及过程设计二、整型数据1、整型常量的表示方法1) 十进制 如:123,-456,02) 八进制数 如:0123,-011 (以0开头的数)3) 十六进制数 如:0x123,-0x12
10、,0xABC (以0x开头的)2、整型变量1)整型数据在内存中以二进制形式存放,每一个整型变量在内存中占2个字节。例:定义整型变量i=10 和j= -10的存放形式。2) 整型变量的分类:基本型int、短整型short、长整型long、无符号型unsigned 3)整型变量的定义对变量的定义,一般放在函数体开头部分的声明部分(也可放在函数中某一分程序内) 例:#include main( ) int a, b, c, d; unsigned u; a=12; b=-24; u=10; c=a+u; d=b+u; printf(“a+u=%d, b+u=%dn”,c,d); 4) 整型数据的溢出
11、一个int 型变量的最大允许值为32767,如果再加1,其结果不是32768,而是-32768。即“溢出”。三、实型数据1、实型常量的表示方法(1) 十进制浮点数 如:0.123,.456,0.0,123.,123.0 整数部分和小数部分都可省,但不能同时省(2) 指数形式 如:123e3,123E3代表123103 指数部分为整常数; 尾数部分可以是整常数,也可以是实常数;尾数部分和指数部分均不可省。E10, 100.e15.2, .e5均为不合法的浮点数。备注页码5第三章 最简单的C程序设计-顺序程序设计课 题数据类型教案号3教 学目 的1、掌握C的数据类型2、掌握整型、实型、字符型数据的
12、常量及变量教 材分 析教学重点各种基本数据类型的常量和变量教学难点不同类型的数据在内存中的物理存储形式课时安排2教学方法讲授与演示法相结合教具计算机、投影仪教学内容及过程设计2、实型变量(1)实型数据在内存中的存放形式一个实型数据一般在内存中占4个字节(32位)。实型数据是按照指数形式存储的。(2)实型变量的分类:单精度float、双精度double、长双精度long double四、字符型数据1、字符常量1)括在一对单引号中的一个字符(单引号仅作界限符),如:a 、X2) 一个字符常量占1个字节,存放的是字符的ASCII码值。3) 转义字符:以 开头,后跟一个约定的字符或所要表示字符的十六进
13、制(或者八进制)的编码;2、字符变量: 字符变量用来存放字符常量,只能放一个字符。例:char c1=a, c2=A; 一个字符变量在内存中占一个字节。五、字符串常量1. 括在一对双引号中的0个或多个字符组成的序列;双引号仅作界限符;如:“C language programming”、“an”、“#123”、“ ”等为字符串常量; 2字符串常量的实际存储:在存储完字符串中的有效字符后还应存储字符串结束标志0。六、变量赋初值在定义变量时对变量进行赋值称为变量的初始化;格式:类型说明符 变量1=值1,变量2=值2,;如: int a=3, b=4, c=5; float x=3.4, y=0.7
14、5; char ch1=K, ch2=P;三 课堂小结1、C的基本数据类型int、float、double、char2、 基本数据类型的常量表示、变量定义,及不同类型的数据在内存中的存储形式四、布置作业练习P82:课后习题备注页码6第三章 最简单的C程序设计-顺序程序设计课 题运算符与表达式教案号4教 学目 的1、掌握C语言中的各种运算符2、掌握运算符的优先级与结合性 教 材分 析教学重点C语言中各种运算符的使用教学难点混合表达式中运算符的运算顺序课时安排2教学方法讲授与演示法相结合教具计算机、投影仪教学内容及过程设计一、讲授新课用运算符和括号将运算对象(数据)连接起来的、符合C语法规则的句子
15、称为表达式。 优先级是指表达式中包含多个运算符时,先进行优先级高的运算符操作,然后在进行优先级低的运算符操作; 当表达式中包含的几个运算符的优先级全相同时,由运算符的结合性来决定他们的运算顺序。1) 从左至右 2) 从右至左 一、算术运算符与算术表达式 1、基本的算术运算符: + * / % 优先级: * / % 高于 + 结合性:左结合性 2、算术表达式:用算术运算符和括号将运算对象(操作数)连接起来的、符合C语法规则的式子称为算术表达式。 3、强制类型转换运算符:(类型名)(表达式) 4、自增、自减运算符:+ + 作用是使变量的值增一或减一。二、赋值运算符与赋值表达式1、 简单的赋值运算符
16、:= 除逗号表达式外,优先级最低2、 复合赋值运算符: += *= %=等3、 赋值表达式: 4、 嵌套的赋值表达式三、逗号运算符与逗号表达式1、 逗号运算符: , 所有运算符中优先级最低2、 逗号表达式: 表达式1,表达式2,表达式n求解过程:先求表达式1,再求表达式2,依次求下去,直到求出表达式n,整个逗号表达式的值就是表达式n的值四、各类数值型数据间的混合运算(P54)二、 课堂小结1、 +、-运算2、 各种运算符的优先级 3、表达式值的求解三、 布置作业 练习:P83 习题备注安排上机实验 页码7第三章 最简单的C程序设计-顺序程序设计课 题 顺序程序设计教案号5教 学目 的1、了解C
17、语句的概念及种类、掌握C语言常用的输入/出方式 2、学会简单的顺序程序设计教 材分 析教学重点C语言常用的输入/出方式教学难点格式输入输出课时安排2教学方法讲授与演示法相结合教具计算机、投影仪教学内容及过程设计一、复习引导上一章介绍的常量、变量、运算符、表达式等都是构成程序的基本成分。本章将介绍为编写简单程序所必需的一些内容。二、讲授新课一、C语句概述1、C语句分类:控制语句:二个分支语句(if-else、switch),三个循环语句(for、while、do-while),四个转移语句(continue、break、goto、return)函数调用语句 如:printf(“Hello, wo
18、rld!”);表达式语句 如: x+y; i+; a=2; a=3*5, 40 ; 空语句 ;复合语句 语句序列 二、赋值语句:赋值语句是由赋值表达式加上一个分号构成,如:b=3; 三、 数据输入输出的概念及在C语言中的实现1、 所谓输入输出是以计算机主机为主体而言的。2、 C语言本身不提供输入输出语句,输入输出操作是通过函数调用实现的。3、 要使用C语言库函数,应用“#include”将有关头文件包括到用户源程序中。 四、字符数据的输入输出1、字符输出函数putchar语法:putchar(c)语义:(向stdout终端)输出一个字符;2、字符输入函数getchar语法:getchar (
19、),是一个无参函数;语义:(从stdin终端上) 输入一个字符,函数的值就是从输入设备得到的字符。 五、格式输入输出1、格式输出函数printf 语法:printf (“格式控制”, 输出表列); 格式控制:是用双引号括起来的字符串,包含两种信息: 普通字符和转义字符(这类字符总是原样输出)格式说明:由%和格式控制符组成。如:%d, %f等;(P77)如:printf(“a=%d, b=%d”,a,b); 若a、b的值分别为2和3,则输出结果为: a=2, b=3备注页码8第三章 最简单的C程序设计-顺序程序设计课 题顺序程序设计教案号5教 学目 的1、了解C语句的概念及种类、掌握C语言常用的
20、输入/出方式 2、学会简单的顺序程序设计教 材分 析教学重点C语言常用的输入/出方式教学难点格式输入输出课时安排2教学方法讲授与演示法相结合教具计算机、投影仪教学内容及过程设计2、格式输入函数 scanf 语法:scanf(“格式控制”,地址表列);格式控制:包含三类符号 空白字符:(空格、Tab或、),输入时不必一一对应; 普通字符:(非格式转换说明符、非空白符、非%),输入时必须一一对应; 格式转换说明符:注意:scanf函数规定,组成输入项表的输入对象须是地址量;如: scanf(“%d,%d,%d”,&a,&b,&c); scanf(“a=%d,b=%d,c=%d”,&a,&b,&c)
21、;第一个输入语句,正确的输入数据流为:123,456,789,处理的结果为:123a,456b,789c同理对第二个输入语句,正确的输入数据流应是:a=123,b=456,c=789 该输入数据流中除123,456,789被赋给相应变量外,其余都被丢弃六、顺序结构程序设计举例例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=sqr
22、t(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); 备注上机实验,学习简单的C程序设计。页码9第四章 选择结构程序设计课 题选择结构程序设计教案号6教 学目 的1、掌握实现选择结构的两种语句、两个运算符2、学会编写选择结构的程序教 材分 析教学重点关系运算符、if-else语句教学难点嵌套if-else语句中的if与else匹配问题课时安排2教学方法讲授与演示法相结合教具计算机、投影仪教学内容及过程设计一、复习引导上一次课已经介绍了程序基本结
23、构之一,但在大多数情况下都要用到选择结构。二、讲授新课一、关系运算符与关系表达式 1、关系运算符: = = = ! =优先级: = 高于 = = != 关系运算符低于算术运算符,高于赋值运算符 2、关系表达式:用关系运算符将两个表达式连接起来的式子。关系表达式求值:关系成立,值为1;关系不成立,值为0二、双分支选择语句1、if语句的三种形式语法1:if (表达式)语句;语法2:if (表达式) 语句1;else 语句2;语法3:if (表达式1) 语句1; else if (表达式2) 语句2; else if (表达式3) 语句3; else 语句n+1;说明:1.if 关键字后均为表达式(
24、逻辑表达式、关系表达式、赋值表达式、变量等); 如:if (a=5) 语句; if (b) 语句;2.条件表达式必须用括号括起来,在语句后必须加分号; 3. 满足条件需执行一组语句时,该组语句必须用 括起来;4. if 语句嵌套时,else 总是与它最靠近的未配对的if 匹配;5因为if 语句执行时总是简单地测试其中作为条件的“表达式”的值是0还是非0,便可利用这种特性来简化程序设计。如对于: if (expression!=0) 完全可用 if (expression) 来代替;同理: if(!exp)语句;等价于:if(exp= =0) 语句;三、课堂小结1、关系运算符与关系表达式2、if
25、-else语句的应用。备注页码10第四章 选择结构程序设计课 题选择结构程序设计教案号7教 学目 的1、掌握实现选择结构的两种语句、两个运算符2、学会编写选择结构的程序教 材分 析教学重点switch语句、条件运算符教学难点嵌套if-else语句中的if与else匹配问题课时安排2教学方法讲授与演示法相结合教具计算机、投影仪教学内容及过程设计一、教授新课一、三目条件运算符及其表达式 1、条件运算符:?:2、格式:e1?e2:e33、语义:判e1的值,为1时计算e2,否则计算e3; 如:max=(ab)?a:b 等价于 if (ab) max=a; else max=b;4、说明:1) 条件运算
26、符的结合方向自右至左如:ab?a:cd?c:d 等价于 ab?a:(cd?c:d)若int a=1,b=2,c=3,d=4;则表达式的值为_ 2) 条件运算符的优先级仅高于逗号运算符与赋值运算符;3)只有当if语句的真假均只执行一个赋值语句且给同一变量赋值时,才能用条件表达式取代;如:if (ab) max=a; else max=b;二、switch 语句语法1: switch (表达式) case C1:语句序列1; case C2:语句序列2; case Cn:语句序列n; default:语句序列n+1; 语法2:switch (表达式) case C1:语句序列1;break; ca
27、se C2:语句序列2;break; case Cn:语句序列n;break; default: 语句序列n+1;break; 说明:(1)switch后面的()内的表达式,ANSI标准允许他为任何类型(2) case后的常量表达式一般不可以为实型数据。(3) 当表达式的值与某个case后面的常量表达式的值相等时,就执行此case后面的语句,若所有case中的常量表达式的值都与表达式的值不相等,执行default后面语句。备注页码11第四章 选择结构程序设计课 题选择结构程序设计教案号7教 学目 的1、掌握实现选择结构的两种语句、两个运算符2、学会编写选择结构的程序教 材分 析教学重点swit
28、ch语句、条件运算符教学难点嵌套if-else语句中的if与else匹配问题课时安排2教学方法讲授与演示法相结合教具计算机、投影仪教学内容及过程设计(5) 每个case后面的常量表达式的值必须互不相同。(6) 各个case与default出现次序不影响结果。 (7) break的使用(P99) (8) 多个case可以共用一组语句三、选择结构程序举例例:求ax2+bx+c=0方程的根。分析:(1)a=0,不是二次方程。(2)b2-4ac=0,有两个相等的实根。(3)b2-4ac0,有两个不等的实根。(4)b2-4ac0,有两个共轭的复根。N-S图:P102二、课堂小结1、switch语句2、
29、在编写程序过程中,注意分支的作用范围,及复合语句的运用。三、布置作业1、上机作业(P112):6、82、书面作业(P111)3、7备注上机实验,学习选择结构的程序设计页码12第五章 循环结构程序设计课 题循环结构程序设计教案号8教 学目 的1、掌握三种循环语句的语法结构2、灵活运用循环语句 教 材分 析教学重点三种循环语句while、do-while、for教学难点三种循环语句的区别课时安排2教学方法讲授与演示法相结合教具计算机、投影仪教学内容及过程设计一、引入新课问题1:假如全班41人,欲从键盘上输入每人的数学成绩,然后计算出平均成绩;问题2: 编程计算n!。重复执行一组语句是程序设计要求的
30、基本功能之一。在C语言中可以用以下语句来实现循环:(1)if 和 goto (2)while (3)do-while (4)for二、讲授新课一、goto语句及用goto构成循环 语法:goto label;其中:label是语句标号,它命名的规则同变量名;语义:使程序无条件地转向标号为label的语句去执行;二、while语句 语法:while (exp) 循环体语句;语义:当exp为真时,执行循环体;为假时,执行循环语句的后续语句; 如:用while语句构成循环,求sum=1+2+100 程序如下:main() int i=1, sum=0; while (i=100) sum+=i; i
31、+; 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); 备注页码13第五章 循环结构程序设计课 题循环结构程序设计教案号8教 学目 的1、掌握三种循环语句的语法结构2、灵活运用循环语句 教
32、 材分 析教学重点三种循环语句while、do-while、for教学难点三种循环语句的区别课时安排2教学方法讲授与演示法相结合教具计算机、投影仪教学内容及过程设计三、do-while语句语法:do 循环体语句; while (exp);语义:当exp为真时,执行循环体;为假时,执行循环语句的后续语句;如:用do-while语句构成循环,求 sum=1+2+100 程序如下:main() int i=1,sum=0; do sum+=i; i+; while (i10);三、课堂小结1、 while、do-whilr语句的语法结构2、 whie与do-while区别3、 注意循环控制的范围备注
33、页码14第五章 循环结构程序设计课 题循环结构程序设计教案号9教 学目 的1、掌握三种循环语句的语法结构2、灵活运用循环语句 教 材分 析教学重点三种循环语句while、do-while、for教学难点三种循环语句的区别课时安排2教学方法讲授与演示法相结合教具计算机、投影仪教学内容及过程设计一、复习引导从while和do-while语句中引入新的循环语句:for 语句二、讲授新课一、for 语句语法:for(表达式1;表达式2;表达式3) 循环体语句;语义:1、先求表达式1;2、求解表达式2,若其值为真,则执行第三步;若为假,则结束循环;3、执行循环体中的语句;4、求解表达式3;5、转回第二步
34、继续执行如:for( i=1; i=100; i+) sum=sum+i;可看成:for(循环变量赋初值;循环条件;循环变量增值)语句;说明:(1)显然for循环更简洁,更灵活;(2)循环体可以是复合语句;(3)for语句中的三个表达式均可以是逗号表达式,故可同时对多个变量赋初值及修改。如:for(i=0, j=1; jn & in; i+, j+) (4)for语句中三个表达式可省:二、几种循环的比较 (1)可以相互代替使用 (2)while, do-while循环,在while后面指定循环条件,在循环体中应包含使循环趋向于结束的语句 (3)凡是在while中能完成的,在for 语句中也能完
35、成。三、break和continue语句1、 break语句:可以用于switch语句中,也可以用于循环语句中,当用于循环语句中时,用于在满足条件情况下,跳出本层循环。2、 continue语句:用于循环语句中,在满足条件情况下,跳出本次循环。即跳过本次循环体中下面尚未执行的语句,接着进行下一次的循环判断。备注页码15第五章 循环结构程序设计课 题循环结构程序设计教案号9教 学目 的1、掌握三种循环语句的语法结构2、灵活运用循环语句 教 材分 析教学重点三种循环语句while、do-while、for教学难点三种循环语句的区别课时安排2教学方法讲授与演示法相结合教具计算机、投影仪教学内容及过程设计 四、循环结构程序设计例1:用公式求的近似值,直到最后一项的绝对值小于10-6为止。/4 1-1/3+1/5-1/7+# includ