C语言程序设计教案.doc
《C语言程序设计教案.doc》由会员分享,可在线阅读,更多相关《C语言程序设计教案.doc(80页珍藏版)》请在冰点文库上搜索。
吉林大学
教师教案
(2012~2013学年第一学期)
课程名称:
C语言程序设计
年级:
2011
教研室:
计算机
任课教师:
段云娜
吉林大学农学部教务处制
教案
课程名称:
C语言程序设计
授课教师
段云娜
授课对象
2011农林经济管理
授课时间
2学时
授课题目
第一章C语言概述
课型
理论
使用教具
计算机、投影仪
教学目的
1、掌握C语言程序的结构、编程过程和上机步骤
教学重点和难点
C语言程序的结构
上机步骤
参考教材
《C语言程序设计》
清华大学出版社
教学内容
时间分配及备注
一新课引入
从计算机应用基础中学过的计算机语言及语言处理系统引出C语言。
二讲授新课
C语言程序构成(采用程序实例加以说明,并提倡良好的程序设计书写风格)
1. C语言是由函数构成的,至少有一个main()函数;
2. 每个函数由函数首部和函数体组成;函数体由说明语句、执行语句组成;
3. 每个C程序从main()函数开始执行,并在main()中结束;
4. 每个语句和数据定义的最后必须加分号;
5. C程序无输入、输出语句:
输入功能由scanf()函数完成;输出功能由printf()函数完成;
6.可加注释/*……*/
C语言的编程过程:
分析问题----数据及算法----代码编写----编译及调试
三、上机步骤(上机环境:
VC++6。
0)
1. 进入环境2. 编辑源程序3. 保存源程序4. 编译源程序
5. 执行程序,查看结果6.6. 退出C环境
课
后
小
结
1、 C语言的构成要素,main函数在程序中的作用
2、上机操作的过程
教案
课程名称:
C语言程序设计
授课教师
段云娜
授课对象
2011农林经济管理
授课时间
3学时
授课题目
第三章数据类型
课型
理论
使用教具
计算机、投影仪
教学目的
1、掌握C的数据类型
2、掌握整型、实型、字符型数据的常量及变量
教学重点和难点
各种基本数据类型的常量和变量
不同类型的数据在内存中的物理存储形式
参考教材
教学内容
时间分配及备注
一复习引导
上次课我们已经学习了程序的一个方面算法,现在来学习另一方面数据结构。
二讲授新课
C有四种基本数据类型,分别是整型、字符型、实型、枚举型
一、常量与变量
1、常量:
在程序运行过程中,其值不能被改变的量。
两种形式:
一般常量和符号常量
1.直接常量(字面常量):
整型常量:
如12、0、-3等
实型常量:
如4.5、-1.234等
字符常量:
如‘a’、‘1’等,用单引号表示;
字符串常量:
如“a”、“abc”、“1”,用双引号表示。
2.符号常量:
符号常量即是用一个标识符来代替一个常量;符号常借助于预处理命令#define来实现;
定义形式:
#define标识符字符串
如:
#definePI3.1415926535
说明:
①习惯上,符号常量用大写字母表示;
②定义符号常量时,不能以“;”结束;
③一个#define占一行,且要从第一列开始书写;
④一个源程序文件中可含有若干个define命令,不同的define命令中指定的“标识符”不能相同;
2、变量:
在程序运行过程中,其值会发生变化。
1.每个变量必须有一个名字,变量名是标识符。
2.标识符是用来标识数据对象,是一个数据对象的名字。
3.命名规则:
以字母或下划线开始,后跟字符、数字或下划线。
例:
x1,_average,lotus_1_2_3,#abc,1fs,M.D.Jhon
4.变量名不能是关键字(即保留字,是C编译程序中保留使用的标识符。
如:
auto、break、char、do、else、if、int等)
5.变量必须先定义再使用
课
后
小
结
1、关于变量与常量的说明及定义
2、主要是能够按照变量及常量的要求在程序设计中正确使用
教案
课程名称:
C语言程序设计
授课教师
段云娜
授课对象
2011农林经济管理
授课时间
2学时
授课题目
第三章数据类型
课型
理论
使用教具
计算机、投影仪
教学目的
1、掌握C的数据类型
2、掌握整型、实型、字符型数据的常量及变量
教学重点和难点
各种基本数据类型的常量和变量
不同类型的数据在内存中的物理存储形式
参考教材
《C语言程序设计》
清华大学出版社
教学内容
时间分配及备注
二、整型数据的
1、整型常量的表示方法
1) 十进制如:
123,-456,0
2) 八进制数如:
0123,-011(以0开头的数)
3) 十六进制数如:
0x123,-0x12,0xABC(以0x开头的)
2、整型变量
1) 整型数据在内存中以二进制形式存放,每一个整型变量在内存中占2个字节。
例:
定义整型变量i=10和j=-10的存放形式。
2)整型变量的分类:
基本型int、短整型short、长整型long、无符号型unsigned
3) 整型变量的定义
对变量的定义,一般放在函数体开头部分的声明部分(也可放在函数中某一分程序内)
例:
#include
main()
{inta,b,c,d;unsignedu;
a=12;b=-24;u=10;
c=a+u;d=b+u;
printf(“a+u=%d,b+u=%d\n”,c,d);}
4) 整型数据的溢出
一个int型变量的最大允许值为32767,如果再加1,其结果不是32768,而是-32768。
即“溢出”。
三、实型数据
1、实型常量的表示方法
(1)十进制浮点数
如:
0.123,.456,0.0,123.,123.0
整数部分和小数部分都可省,但不能同时省
(2)指数形式
如:
123e3,123E3代表123×103
指数部分为整常数; 尾数部分可以是整常数,也可以是实常数;尾数部分和指数部分均不可省。
E10,100.e15.2,.e5均为不合法的浮点数。
课
后
小
结
1、关于整型与实型数据的说明及使用
2、注意在程序设计中正确使用
教案
课程名称:
C语言程序设计
授课教师
段云娜
授课对象
2011农林经济管理
授课时间
2学时
授课题目
第三章数据类型
课型
理论
使用教具
计算机、投影仪
教学目的
1、掌握C的数据类型
2、掌握整型、实型、字符型数据的常量及变量
教学重点和难点
各种基本数据类型的常量和变量
不同类型的数据在内存中的物理存储形式
参考教材
《C语言程序设计》
清华大学出版社
教学内容
时间分配及备注
2、实型变量
(1)实型数据在内存中的存放形式
一个实型数据一般在内存中占4个字节(32位)。
实型数据是按照指数形式存储的。
(2)实型变量的分类:
单精度float、双精度double、长双精度longdouble
四、字符型数据
1、字符常量
1) 括在一对单引号中的一个字符(单引号仅作界限符),如:
‘a’、‘X’
2 )一个字符常量占1个字节,存放的是字符的ASCII码值。
3) 转义字符:
以‘\’开头,后跟一个约定的字符或所要表示字符的十六进制(或者八进制)的编码;
2、字符变量:
字符变量用来存放字符常量,只能放一个字符。
例:
charc1=‘a’,c2=‘A’;一个字符变量在内存中占一个字节。
五、字符串常量
1.括在一对双引号中的0个或多个字符组成的序列;双引号仅作界限符;如:
“Clanguageprogramming”、“a\\n”、“#123”、“”等为字符串常量;
2.字符串常量的实际存储:
在存储完字符串中的有效字符后还应存储字符串结束标志‘\0’。
六、变量赋初值
在定义变量时对变量进行赋值称为变量的初始化;
格式:
类型说明符变量1=值1,变量2=值2,……;
如:
inta=3,b=4,c=5;
floatx=3.4,y=0.75;
charch1=‘K’,ch2=‘P’;
课
后
小
结
1、C的基本数据类型int、float、double、char
2、 基本数据类型的常量表示、变量定义,及不同类型的数据在内存中的存储形式
教案
课程名称:
C语言程序设计
授课教师
段云娜
授课对象
2011农林经济管理
授课时间
2学时
授课题目
第四章顺序程序设计
课型
理论
使用教具
计算机、投影仪
教学目的
1、了解C语句的概念及种类、掌握C语言常用的输入/出方式
2、学会简单的顺序程序设计
教学重点和难点
C语言常用的输入/出方式
格式输入输出
参考教材
《C语言程序设计》谭浩强编第二版
清华大学出版社
教学内容
时间分配及备注
一、复习引导
上一章介绍的常量、变量、运算符、表达式等都是构成程序的基本成分。
本章将介绍为编写简单程序所必需的一些内容。
二、讲授新课
一、C语句概述
1、C语句分类:
①控制语句:
二个分支语句(if-else、switch),三个循环语句(for、while、do-while),四个转移语句(continue、break、goto、return)
②函数调用语句如:
printf(“Hello,world!
”);
③表达式语句如:
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(),是一个无参函数;
语义:
(从stdin终端上)输入一个字符,函数的值就是从输入设备得到的字符。
五、格式输入输出
1、格式输出函数——printf
语法:
printf(“格式控制”,输出表列);
格式控制:
是用双引号括起来的字符串,包含两种信息:
⑴ 普通字符和转义字符(这类字符总是原样输出)⑵格式说明:
由%和格式控制符组成。
如:
%d,%f等;(P77)如:
printf(“a=%d,b=%d”,a,b);若a、b的值分别为2和3,则输出结果为:
a=2,b=3
上机实验,学习简单的C程序设计
课
后
小
结
教案
课程名称:
C语言程序设计
授课教师
段云娜
授课对象
2011农林经济管理
授课时间
2学时
授课题目
第四章顺序程序设计
课型
理论
使用教具
计算机、投影仪
教学目的
1、了解C语句的概念及种类、掌握C语言常用的输入/出方式
2、学会简单的顺序程序设计
教学重点和难点
C语言常用的输入/出方式
格式输入输出
参考教材
《C语言程序设计》谭浩强编第二版
清华大学出版社
教学内容
时间分配及备注
2、格式输入函数scanf
语法:
scanf(“格式控制”,地址表列);
格式控制:
包含三类符号
⑴空白字符:
(空格、Tab或\t、\n),输入时不必一一对应;
⑵普通字符:
(非格式转换说明符、非空白符、非%),输入时必须一一对应;
⑶格式转换说明符:
注意:
scanf函数规定,组成输入项表的输入对象须是地址量;如:
scanf(“%d,%d,%d”,&a,&b,&c);
scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);
①第一个输入语句,正确的输入数据流为:
123,456,789,处理的结果为:
123→a,456→b,789→c
②同理对第二个输入语句,正确的输入数据流应是:
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()
{floata,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.2f\n”,a,b,c,s);
printf(“area=%7.2f\n”,area);
}
上机实验,学习简单的C程序设计
课
后
小
结
教案
课程名称:
C语言程序设计
授课教师
段云娜
授课对象
2011农林经济管理
授课时间
2学时
授课题目
第五章选择结构程序设计
课型
理论
使用教具
计算机、投影仪
教学目的
1、掌握实现选择结构的两种语句、两个运算符
2、学会编写选择结构的程序
教学重点和难点
关系运算符、if-else语句
嵌套if-else语句中的if与else匹配问题
参考教材
《C语言程序设计》谭浩强编第二版
清华大学出版社
教学内容
时间分配及备注
一、复习引导
上一次课已经介绍了程序基本结构之一,但在大多数情况下都要用到选择结构。
二、讲授新课
一、关系运算符与关系表达式
1、关系运算符:
<<=>>===!
=
优先级:
<<=>>=高于==!
=
关系运算符低于算术运算符,高于赋值运算符
2、关系表达式:
用关系运算符将两个表达式连接起来的式子。
关系表达式求值:
关系成立,值为1;关系不成立,值为0
二、双分支选择语句
1、if语句的三种形式
语法1:
if(表达式)语句;
语法2:
if(表达式)语句1;else语句2;
语法3:
if(表达式1)语句1;
elseif(表达式2)语句2;
elseif(表达式3)语句3;
……
else语句n+1;
说明:
1. if关键字后均为表达式(逻辑表达式、关系表达式、赋值表达式、变量等);
如:
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-else语句的应用。
课
后
小
结
教案
课程名称:
C语言程序设计
授课教师
段云娜
授课对象
2011农林经济管理
授课时间
2课时
授课题目
第五章选择结构程序设计
课型
理论
使用教具
计算机、投影仪
教学目的
1、掌握实现选择结构的两种语句、两个运算符
2、学会编写选择结构的程序
教学重点和难点
关系运算符、if-else语句
嵌套if-else语句中的if与else匹配问题
参考教材
《C语言程序设计》谭浩强编第二版
清华大学出版社
教学内容
时间分配及备注
(5)每个case后面的常量表达式的值必须互不相同。
(6)各个case与default出现次序不影响结果。
(7)break的使用(P99)
(8)多个case可以共用一组语句
三、选择结构程序举例
例:
求ax2+bx+c=0方程的根。
分析:
(1)a=0,不是二次方程。
(2)b2-4ac=0,有两个相等的实根。
(3)b2-4ac>0,有两个不等的实根。
(4)b2-4ac<0,有两个共轭的复根。
N-S图:
P102
课
后
小
结
1、 switch语句
2、 在编写程序过程中,注意分支的作用范围,及复合语句的运用。
教案
课程名称:
C语言程序设计
授课教师
段云娜
授课对象
2011农林经济管理
授课时间
2课时
授课题目
第五章选择结构程序设计
课型
理论
使用教具
计算机、投影仪
教学目的
1、掌握实现选择结构的两种语句、两个运算符
2、学会编写选择结构的程序
教学重点和难点
关系运算符、if-else语句
嵌套if-else语句中的if与else匹配问题
参考教材
《C语言程序设计》谭浩强编第二版
清华大学出版社
教学内容
时间分配及备注
(5)每个case后面的常量表达式的值必须互不相同。
(6)各个case与default出现次序不影响结果。
(7)break的使用(P99)
(8)多个case可以共用一组语句
三、选择结构程序举例
例:
求ax2+bx+c=0方程的根。
分析:
(1)a=0,不是二次方程。
(2)b2-4ac=0,有两个相等的实根。
(3)b2-4ac>0,有两个不等的实根。
(4)b2-4ac<0,有两个共轭的复根。
N-S图:
P102
上机实验,学习选择结构的程序设计
布置作业
1、上机作业(P104):
5.5、5.6
2、书面作业(P104)5.3、5.9
课
后
小
结
1、 switch语句
2、 在编写程序过程中,注意分支的作用范围,及复合语句的运用。
教案
课程名称:
C语言程序设计
授课教师
段云娜
授课对象
2011农林经济管理
授课时间
2课时
授课题目
第六章循环控制
课型
理论
使用教具
计算机、投影仪
教学目的
1、掌握三种循环语句的语法结构
2、灵活运用循环语句
教学重点和难点
教学重点三种循环语句while、do-while、for
教学难点三种循环语句的区别
参考教材
《C语言程序设计》谭浩强编第二版
清华大学出版社
教学内容
时间分配及备注
一、引入新课
问题1:
假如全班41人,欲从键盘上输入每人的数学成绩,然后计算出平均成绩;
问题2:
编程计算n!
。
重复执行一组语句是程序设计要求的基本功能之一。
在C语言中可以用以下语句来实现循环:
(1)if和goto
(2)while(3)do-while(4)for
二、讲授新课
一、goto语句及用goto构成循环
语法:
gotolabel;
其中:
label是语句标号,它命名的规则同变量名;
语义:
使程序无条件地转向标号为label的语句去执行;
二、while语句
语法:
while(exp)
循环体语句;
语义:
当exp为真时,执行循环体;为假时,执行循环语句的后续语句;
如:
用while语句构成循环,求sum=1+2+…+100
程序如下:
main()
{inti=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(i<3)
printf(“i=%d\n”,i);
课
后
小
结
教案
课程名称:
C语言程序设计
授课教师
段云娜
授课对象
2011农林经济管理
授课时间
2课时
授课题目
第六章循环控制
课型
理论
使用教具
计算机、投影仪
教学目的
1、掌握三种循环语句的语法结构
2、灵活运用循环语句
教学重点和难点
三种循环语句while、do-while、for
三种循环语句的区别
参考教材
《C语言程序设计》谭浩强编第二版
清华大学出版社
教学内容
时间分配及备注
复习引导
从while和do-while语句中引入新的循环语句:
for语句
二、讲授新课
一、for语句
语法:
for(表达式1;表达式2;表达