c语言电子教案.docx
《c语言电子教案.docx》由会员分享,可在线阅读,更多相关《c语言电子教案.docx(91页珍藏版)》请在冰豆网上搜索。
c语言电子教案
程序设计基础》教案
第一章程序设计和C语言
课题
C语言概述
教案号1
教学目的
1、了解C语言出现的历史背景
2、掌握C语言程序的结构、书写格式和上机步骤
教材分析
教学重点
C语言程序的结构
教学难点
上机步骤
课时安排
2
教学方法讲授与演示法相结合教具
计算机、投影仪
教学内容及过程设计
一新课引入从计算机应用基础中学过的计算机语言及语言处理系统引出C语言。
二讲授新课
一、C语言出现的背景
二、C语言的特点
1.语言简洁、紧凑,使用方便、灵活;
2.运算符丰富
3.数据类型多(整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类等)
4.具有结构化的控制语句
5.语法不太严格,自由度大
6.既是高级语言,又具有低级语言的功能
7.成目标代码质量高,程序执行效率
8.可移植性好
三、C语言程序构成(采用程序实例加以说明,并提倡良好的程序设计书写风格)
1.C语言是由函数构成的,至少有一个main()函数;
2.每个函数由函数首部和函数体组成;函数体由说明语句、执行语句组成;
3.每个C程序从main()函数开始执行,并在main()中结束;
4.每个语句和数据定义的最后必须加分号;
5.C程序无输入、输出语句:
输入功能由scanf()函数完成;输出功能由printf()函数完成;
6.可加注释/*……*/四、上机步骤(上机环境:
TurboC2.0)
1.进入环境2.编辑源程序3.保存源程序4.编译源程序
5.执行程序,查看结果6.退出C环境
三课堂小结
1、C语言的构成要素,main函数在程序中的作用
2、上机操作的过程
备注
安排上机实验,熟悉TC环境及简单的C语言程序构成
页码1
过
程
设
计
备注
1、了解算法的概念
2、掌握结构化程序的三种基本结构,及算法的表示方法
一复习引导
从C程序的构成到C程序的设计过程
二讲授新课一个程序包括以下两方面内容:
1.对数据的描述。
在程序中要指定数据的类型和数据的组织形式,即数据结构;
2.对操作的描述。
即算法,为解决一个问题而采取的方法和步骤。
著名计算机科学家Wirth提出一个公式:
数据结构+算法=程序
一、简单的算法举例
例1:
设有两个杯子A和B,分别盛放酒和醋,要求将它们互换。
S1:
C←AS2:
A←BS3:
B←C
例2:
求1~100的和
S1:
sum←0,t←1;S2:
sum←sum+t
S3:
t←t+1S4:
若t<=100,则转到S2,否则转到S5;
S5:
输出sum,结束。
二、算法的特征
1、有穷性;2、确定性;
4、有一个或多个输出;
3、有零个或多个输入;
5、有效性;
三、算法的表示
1、用自然语言表示算法–通俗易懂,但有“歧义”。
2、用传统流程图表示算法–直观、易懂。
程序的三种基本结构:
顺序结构、选择结构、循环结构
页码
算法
教案号2
教材
教学重点
算法的表示方法
分析
教学难点
结构化程序的三种基本结构
课时安排
2
教学方法
讲授与演示法相结合
教具
计算机、投影仪
教学1、了解算法的概念
目的2、掌握结构化程序的三种基本结构,及算法的表示方法
3、N-S流程图表示算法
教学内容及过程设计
TPF
A
B
当P成立
A
当P成立
4、用伪代码表示算法
5、用计算机语言表示算法(即实现算法)
四、结构化程序设计方法结构化程序设计方法强调:
程序设计风格和程序结构的规范化,提倡清晰的结构:
①自顶向下②逐步细化
③模块化设计④结构化编码
三、课堂小结
1、程序的三种基本结构:
顺序、选择、循环
2、5种描述算法的方法,关键是N-S图
3、灵活运用三种基本结构,学会结构化的程序设计方法
四、布置作业
用N-S图表示求解以下问题的算法:
1、求10!
2、将100~200之间的素数打印出来
3、求两个数m,n的最大公约数
备注
安排上机实验
页码
课题
数据类型
教案号
3
教学目的
1、掌握C的数据类型
2、掌握整型、实型、字符型数据的常量及变量
教材分析
教学重点
各种基本数据类型的常量和变量
教学难点
不同类型的数据在内存中的物理存储形式
课时安排
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.Jhon4.变量名不能是关键字(即保留字,是C编译程序中保留使用的标识符。
如:
auto、break、char、do、else、if、int等)
5.变量必须先定义再使用
备注
页码
4
课题
数据类型
教案号
3
教学目的
1、掌握C的数据类型
2、掌握整型、实型、字符型数据的常量及变量
教材分析
教学重点
各种基本数据类型的常量和变量
教学难点
不同类型的数据在内存中的物理存储形式
课时安排
2
教学方法讲授与演示法相结合教具
计算机、投影仪
教学内容及过程设计
二、整型数据
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均为不合法的浮点数。
备注
页码
5
课题
数据类型
教案号
3
教学目的
1、掌握C的数据类型
2、掌握整型、实型、字符型数据的常量及变量
教材分析
教学重点
各种基本数据类型的常量和变量
教学难点
不同类型的数据在内存中的物理存储形式
课时安排
2
教学方法讲授与演示法相结合教具
计算机、投影仪
教学内容及过程设计
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、基本数据类型的常量表示、变量定义,及不同类型的数据在内存中的存储形式
四、布置作业
练习P82:
课后习题
备注
页码
6
课题
运算符与表达式
教案号
4
教学
1、掌握C语言中的各种运算符
目的
2、掌握运算符的优先级与结合性
教材
教学重点
C语言中各种运算符的使用
分析
教学难点
混合表达式中
运算符的运算顺序
课时安排
2
教学方法
讲授与演示法相结合
教具
计算机、
投影仪
一、讲授新课
用运算符和括号将运算对象(数据)连接起来的、符合C语法规则的句子称为
表达式。
优先级是指表达式中包含多个运算符时,先进行优先级高的运算符操作,然后
在进行优先级低的运算符操作;
教
当表达式中包含的几个运算符的优先级全相同时,由运算符的结合性来决定他
们的运算顺序。
1)从左至右2)从右至左
学
一、算术运算符与算术表达式
1、基本的算术运算符:
+–*/%
内
优先级:
*/结合性:
左结合性
%高于+–
2、算术表达式:
用算术运算符和括号将运算对象(操作数)连接起来的、符
容
合C语法规则的式子称为算术表达式。
3、强制类型转换运算符:
(类型名)(表达式)
4、自增
、自减运算符
:
++––
及
作用是使变量的值增一或减一。
二、赋值运算符与赋值表达式
1、简单的赋值运算符:
=除逗号表达式外,
优先级最低
过
2、复合赋值运算符:
+=*=%=等
3、赋值表达式:
<变量><赋值运算符><表达式/值>
程
4、嵌套的赋值表达式
三、逗号运算符与逗号表达式
设
1、逗号运算符:
,所有运算符中优先级最低
2、逗号表达式:
表达式1,表达式2,……,表达式n
求解过程:
先求表达式1,再求表达式2,依次求下去,
直到求出表达式n,
计
整个逗号表达式的值就是表达式n的值
四、各类数值型数据间的混合运算(P54)
二、课堂小结
1、++、
--运算
2、各种运算符的优先级3、表达式值的求解
三、布置作业
练习:
P83习题
备注
安排上机实验
页码
7
课题
顺序程序设计教案号5
教学目的
1、了解C语句的概念及种类、掌握C语言常用的输入/出方式
2、学会简单的顺序程序设计
教材分析
教学重点
C语言常用的输入/出方式
教学难点
格式输入输出
课时安排
2
教学方法讲授与演示法相结合教具计算机、投影仪
教学内容及过程设计
一、复习引导上一章介绍的常量、变量、运算符、表达式等都是构成程序的基本成分。
本章将介绍为编写简单程序所必需的一些内容。
二、讲授新课
一、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
备注
页码8
课题
顺序程序设计
教案号
5
教学目的
1、了解C语句的概念及种类、掌握C语言常用的输入/出方式
2、学会简单的顺序程序设计
教材分析
教学重点
C语言常用的输入/出方式
教学难点
格式输入输出
课时安排
2
教学方法讲授与演示法相结合教具
计算机、投影仪
教学内容及过程设计
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程序设计。
页码
9
第四章选择结构程序设计
课题
选择结构程序设计
教案号
6
教学
1、掌握实现选择结构的两种语句、两个运算符
目的
2、学会编写选择结构的程序
教材
教学重点
关系运算符、
if-else语句
分析
教学难点
嵌套if-else语句中的if与else匹配问题
课时安排
2
教学方法
讲授与演示法相结合
教具
计算机、
投影仪
一、复习引导
上一次课已经介绍了程序基本结构之一,但在大多数情况下都要用到选择结构。
二、讲授新课
一、关系运算符与关系表达式
1、关系运算符:
<<=>>===
!
=
教
优先级:
<<=
>>=高于==
!
=
关系运算符低于算术运算符,高于赋值运算符
学
2、关系表达式:
用关系运算符将两个表达式连接起来的式子。
关系表达式求值:
关系成立,值为1;关系不成立,值为0
内
二、双分支选择语句
1、if语句的三种形式
语法1:
if(表达式)语句;
容
语法2:
if(表达式)
语句1;else语句2;
语法3:
if(表达式1)语句1;
elseif(表达式2)语句2;
及
else
if(表达式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语句的应用。
备注
页码
10
第四章选择结构程序设计
课题
选择结构程序设计
教案号
7
教学目的
1、掌握实现选择结构的两种语句、两个运算符
2、学会编写选择结构的程序
教材分析
教学重点
switch语句、条件运算符
教学难点
嵌套if-else语句中的if与else匹配问题
课时安排
2
教学方法讲授与演示法相结合教具
计算机、投影仪
教学内容及过程设计
一、教授新课
一、三目条件运算符及其表达式
1、条件运算符:
?
:
2、格式:
e1?
e2:
e3
3、语义:
判e1的值,为1时计算e2,否则计算e3;
如:
max=(a>b)?
a:
b等价于if(a>b)max=a;
elsemax=b;
4、说明:
1)条件运算符的结合方向自右至左如:
a>b?
a:
c>d?
c:
d等价于a>b?
a:
(c>d?
c:
d)若inta=1,b=2,c=3,d=4;则表达式的值为
2)条件运算符的优先级仅高于逗号运算符与赋值运算符;
3)只有当if语句的真假均只执行一个赋值语句且给同一变量赋值时,才能用条件表达式取代;如:
if(a>b)max=a;elsemax=b;
二、switch语句
语法1:
switch(表达式)
{caseC1:
语句序列1;
caseC2:
语句序列2;
caseCn:
语句序列n;
default:
语句序列n+1;
}
语法2:
switch(表达式)
{caseC1:
语句序列1;break;
caseC2:
语句序列2;break;
caseCn:
语句序列n;break;
default:
语句序列n+1;break;
}
说明:
(1)switch后面的()内的表达式,ANSI标准允许他为任何类型
(2)case后的常量表达式一般不可以为实型数据。
(3)当表达式的值与某个case后面的常量表达式的值相等时,就执行此case后面的语句,若所有case中的常量表达式的值都与表达式的值不相等,执行default后面语句。
备注
页码
11
第四章选择结构程序设计
课题
选择结构程序设计
教案号
7
教学目的
1、掌握实现选择结构的两种语句、两个运算符
2、学会编写选择结构的程序
教材分析
教学重点