c语言电子教案精心整理.docx
《c语言电子教案精心整理.docx》由会员分享,可在线阅读,更多相关《c语言电子教案精心整理.docx(148页珍藏版)》请在冰豆网上搜索。
![c语言电子教案精心整理.docx](https://file1.bdocx.com/fileroot1/2023-2/22/5ba15bb9-0c66-455f-bd67-450550820be7/5ba15bb9-0c66-455f-bd67-450550820be71.gif)
c语言电子教案精心整理
《程序设计基础》教案
1
第一章程序设计和 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. 可加注释/*……*/
四、上机步骤(上机环境:
Turbo C 2.0)
设
序
1. 进入环境 2. 编辑源程序 3. 保存源程序 4. 编译源程
5. 执行程序,查看结果 6. 退出 C 环境
计
三 课堂小结
1、 C 语言的构成要素,main 函数在程序中的作用
2、 上机操作的过程
备注安排上机实验,熟悉 TC 环境及简单的 C 语言程序构成页码1
2
第二章算法——程序的灵魂
课 题
算法
教案号 2
教 学
目 的
教 材
分 析
课时安排
教
学
内
容
及
过
程
设
1、了解算法的概念
2、掌握结构化程序的三种基本结构,及算法的表示方法
教学重点 算法的表示方法
教学难点 结构化程序的三种基本结构
2 教学方法 讲授与演示法相结合 教具 计算机、投影仪
一 复习引导
从 C 程序的构成到 C 程序的设计过程
二 讲授新课
一个程序包括以下两方面内容:
1. 对数据的描述。
在程序中要指定数据的类型和数据的组织形式,即数
据结构;
2. 对操作的描述。
即算法,为解决一个问题而采取的方法和步骤。
著名计算机科学家 Wirth 提出一个公式:
数据结构+算法=程序
一、简单的算法举例
例 1:
设有两个杯子 A 和 B,分别盛放酒和醋,要求将它们互换。
S1:
C ← A S2:
A ← B S3:
B ← C
例 2:
求 1~100 的和
S1:
sum←0,t←1; S2:
sum←sum+t
S3:
t←t+1 S4:
若 t <= 100,则转到 S2,否则转到 S5;
S5:
输出 sum,结束。
二、算法的特征
1、有穷性; 2、确定性; 3、 有零个或多个输入;
4、 有一个或多个输出; 5、 有效性;
三、算法的表示
1、 用自然语言表示算法–通俗易懂,但有“歧义”
2、 用传统流程图表示算法–直观、易懂。
程序的三种基本结构:
顺序结构、选择结构、循环结构
计
A
B
A B A
P P A
A
P
备注页码2
3
第二章算法——程序的灵魂
课 题算法教案号2
教 学1、了解算法的概念
目 的
2、掌握结构化程序的三种基本结构,及算法的表示方法
教 材教学重点算法的表示方法
分 析教学难点结构化程序的三种基本结构
课时安排2教学方法讲授与演示法相结合教具计算机、投影仪
3、N-S 流程图表示算法
A
T F 当 P 成立
教
B
A B
A
当P 成立
学
内
容
及
过
程
设
计
4、 用伪代码表示算法
5、 用计算机语言表示算法(即实现算法)
四、结构化程序设计方法结构化程序设计方法强调:
程序设计风格和程序结构的规范化,提倡清晰的结构:
①自顶向下 ②逐步细化
③模块化设计 ④结构化编码
三、课堂小结
1、 程序的三种基本结构:
顺序、选择、循环
2、 5 种描述算法的方法,关键是 N-S 图
3、 灵活运用三种基本结构,学会结构化的程序设计方法
四、布置作业
用 N-S 图表示求解以下问题的算法:
1、求 10!
2、将 100~200 之间的素数打印出来
3、求两个数 m ,n 的最大公约数
备注安排上机实验页码3
4
第三章最简单的 C 程序设计---顺序程序设计
课 题
数据类型
教案号 3
教 学
目 的
教 材
分 析
课时安排
教
学
内
容
及
过
程
设
计
1、掌握 C 的数据类型
2、掌握整型、实型、字符型数据的常量及变量
教学重点 各种基本数据类型的常量和变量
教学难点 不同类型的数据在内存中的物理存储形式
2 教学方法 讲授与演示法相结合 教具 计算机、投影仪
一 复习引导
上次课我们已经学习了程序的一个方面算法,现在来学习另一方面数据结
构。
二 讲授新课
C有四种基本数据类型,分别是整型、字符型、实型、枚举型
一、常量与变量
1、 常量:
在程序运行过程中,其值不能被改变的量。
两种形式:
一般常量和符号常量
1. 直接常量(字面常量):
整型常量:
如12、0、-3等
实型常量:
如4.5、-1.234等
字符常量:
如‘a’、‘1’等,用单引号表示;
字符串常量:
如“a”、“abc”、“1”,用双引号表示。
2. 符号常量:
符号常量即是用一个标识符来代替一个常量;符号常借助于预处理命
令#define来实现;
定义形式:
#define 标识符 字符串
如:
#define PI 3.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.变量必须先定义再使用
备注页码4
5
第三章最简单的 C 程序设计---顺序程序设计
课 题数据类型教案号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( )
{ 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=%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
6
第三章最简单的 C 程序设计---顺序程序设计
课 题数据类型教案号3
教 学
目 的
1、掌握 C 的数据类型
2、掌握整型、实型、字符型数据的常量及变量
教 材教学重点各种基本数据类型的常量和变量
分 析教学难点不同类型的数据在内存中的物理存储形式
课时安排2教学方法讲授与演示法相结合教具计算机、投影仪
2、实型变量
(1)实型数据在内存中的存放形式
一个实型数据一般在内存中占4个字节(32位)。
实型数据是按照指数形
式存储的。
教
学
内
容
及
过
程
设
计
(2)实型变量的分类:
单精度 float、双精度 double、长双精度 long double
四、字符型数据
1、字符常量
1) 括在一对单引号中的一个字符(单引号仅作界限符),如:
‘a’ 、
‘X’
2 ) 一个字符常量占1个字节,存放的是字符的ASCII码值。
3) 转义字符:
以‘ \ ’开头,后跟一个约定的字符或所要表示字符的十六进制(或
者八进制)的编码;
2、字符变量:
字符变量用来存放字符常量,只能放一个字符。
例:
char c1=‘a’, c2=‘A’; 一个字符变量在内存中占一个字节。
五、字符串常量
1. 括在一对双引号中的0个或多个字符组成的序列;双引号仅作界限符;如:
“C language programming”、“a\\n”、“#123”、“ ”等为字符串常
量;
2.字符串常量的实际存储:
在存储完字符串中的有效字符后还应存储字符
串结束标志‘\0’。
六、变量赋初值
在定义变量时对变量进行赋值称为变量的初始化;
格式:
类型说明符 变量1=值1,变量2=值2,……;
如:
int a=3, b=4, c=5;
float x=3.4, y=0.75;
char ch1=‘K’, ch2=‘P’;
三 课堂小结
1、C 的基本数据类型 int、float、double、char
2、 基本数据类型的常量表示、变量定义,及不同类型的数据在内存中的存
储形式
四、布置作业
练习 P82:
课后习题
备注页码6
7
第三章最简单的 C 程序设计---顺序程序设计
课 题运算符与表达式教案号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
8
第三章最简单的 C 程序设计---顺序程序设计
课 题顺序程序设计
教案号 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
第三章最简单的 C 程序设计---顺序程序设计
9
课 题顺序程序设计
教案号 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()
{ float a,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
第四章选择结构程序设计
10
课 题
选择结构程序设计
教案号 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;
else if (表达式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
第四章选择结构程序设计
11
课 题选择结构程序设计教案号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;
else max=b;
4、说明:
1) 条件运算符的结合方向自右至左
如:
a>b?
a:
c>d?
c:
d 等价于 a>b?
a:
(c>d?
c:
d)
若int a=1,b=2,c=3,d=4;则表达式的值为________
2) 条件运算符的优先级仅高于逗号运算符与赋值运算符;
3) 只有当if语句的真假均只执行一个赋值语句且给同一变量赋值时,
才能用条件表达式取代;如:
if (a>b) max=a; else max=b;
二、switch 语句
语法1:
switch (表达式)
{ ca