C语言程序设计教案文档格式.docx
- 文档编号:19187271
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:30
- 大小:31.21KB
C语言程序设计教案文档格式.docx
《C语言程序设计教案文档格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计教案文档格式.docx(30页珍藏版)》请在冰豆网上搜索。
‘a’,’c’
2、变量
(1)定义:
值可以改变
(2)组成因素
inta=20;
变量名:
a变量值:
20
(3)标识符
a.定义:
标识符,变量名,函数名,数组名等;
b.规则:
已字母下划线打头
c.长度:
ANSIC不限
TURBOC限32个字符
(4)使用:
先定义后使用
三、数据
1、整型数据
。
整型常量表示方法
a.十进制123,-123
b.八进制o35,o27
c.十六进制oxA3,ox12
。
整型变量
a.形式:
2进制
a.分类:
int2b
shortint2b
longint4b
b.定义
inta,b
unsignedintc,d;
longe,f,
整型、常量类型
2、实型数据
。
表示方法
123,123.0,0.0
实型变量
float4b
double8b
longdouble16b
类型double类型
floata;
doubleb;
b=1234.789
a=123456.789
3、字符数据
字符常量
一般字符
例子:
“b”,”c”,”1”,’!
’
特殊字符常量
说明:
以\开头的
字符变量
定义
charc1,c2;
c1=’A’;
c2=’b’
举例
输出:
a,A
97,65
字符串变量
1.定义:
例“123”,“A”
2.以字符’\0’结束标志
变量赋值
1.定义变量同时赋值
例:
inta=978;
float=b=98.67;
char=c=’c’;
2.定义变量一部分赋值
inta,b,c=91;
3.几个变量同时赋值
inta=b=c=d=97;
1、main()
{floata,b;
a=123456.789e+6;
b=a+30
printf(“%f”,b)
}
2、main()
{charc1,c2;
c1=97;
c2=65;
printf(“%c,%c\n”,c1,c2);
printf(“%d,%c/n”,c1,c2);
【课后作业】60页1、2
注意特殊字符常量、符号常量、变量在内存的存储形式
1、常量、符号常量
2、变量
2、实型数据
3、字符数据
【教学后记】
本次课内容充实,知识点多,所讲内容,学生都能听懂,但运用不够熟练,需要多做练习,以巩固加深。
运算符与表达式
【教学目的】1.了解理解运算符
2.运用算术运算符及使用
【授课重点】表达式的使用
【授课难点】I++与++I的区别
【教学方法】举例法、分析法
【课时计划】4课时
运算量+运算量
1+2
一各数值数据的混合运算
1.总则:
自动转换同类型
2.规则:
(1)float->
double
char,shor->
int
(2)可直/间转换
int->
ussigned->
long->
二算术运算符,表达式
1.运算符
(1)算术
(2)位&
!
~^
(3)条件 ?
:
(4)指针 &
*
2.算术运算符,表达式
(1)基本算术运算符 + — * /
(2)运算符优先级
a.*/->
+-
b.同级,运算符结合
c.强制类型转换
形式:
(类型名)(表达式)
例子:
main()
{floatx;
inty;
x=8.56;
y=(int)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,……)
例如:
{floatx=1234.565;
inty=234;
charc=’a’;
printf(“%f,%d,%c”,x,y,c);
b)数据输入:
命令个是:
scanf(控制字符串,参数1,参数2,……)
{floatx
charc;
scanf(“%f,%d,%c”,x,y,c);
分析程序的输出结果:
{
inti=2;
i+=i-=i+i;
printf(“%d\n”,i);
}
【小结】
数据类型必须掌握整型、浮点型、字符型,还要掌握各种运算符之间的区别与联系。
【课后总结】
一、各种数据数据类型自动转换规则
二、算术运算符及表达式
1、自增i++与++i区别
2、运算符优先级结合性
3、强制类型转换运算符
【课后作业】61页3
顺序结构(数据的输入和输出)
【教学目的】使学生明白现实世界程序的顺序处理
【教学重点】理解顺序结构
【教学方法】讲授课
导言:
举例引出程序思想
新课内容:
一、基本结构
1.顺序结构A->
B
2.选择结构A->
B或A->
C之中选择
3.循环结构WHILE()~~
DO~~WHILE()
二、数据输入输出语句
1.输入输出:
用函数实现
2.使用库函数“I#INCLUDE”
3.常用函数(I/0)
(1)字符数据的I/0
A.putchar(c)字符输出
putchar(‘\’)
putchar(‘\r’)
B.getchra()字符输入
(2)格式输入/输出
A.printf(格式控制,输出列表)
(1)%d十进制
例:
intI=123;
printf(“%d”,I)123
printf(“%2d,%4d”,I,I)123,123
(2)%0八进制
intI=-2;
printf(“%d,%0”,I,I);
I=-2I=177776
(3)%x十六进制
ffff
(4)%u输出无符号整型
unsignedinga=65535
(5)%c输出一个字符printf(“%c”,c)
printf(“%d”,c);
(6)%s输出字符串
printf(“%s”,”hello”);
printf(“%s”,”youaregoods”)
(7)%f输出实数
floatI,j
printf(“%f”,11111.1111+33333.3333)44444.4444
(8)%e指数输出
intI
I=123.456;
Printf(“%e”,I)l.234560e+002
Bscanf输入函数
(1)形式:
scanf(格式控制,地址列表)
(2)例子:
intI
scanf(“%d”,&
I);
请你输入整性数据
三、C语句
1.控制语句
(1)if()~~else条件语句
(2)for()~~~循环语句
(3)while()~~循环语句
(4)do~while()循环语句
(5)cotinue循环语句
(6)break终止语句
(7)switch分支语句
(8)goto转向语句
(9)return返回语句
2.函数调用
printf()scanf()
3.表达式语句
4.空语句;
5.复合语句{}
【课堂练习】
1.输入三角形边求三角形的面积
2.从键盘输入一小写字符转化成大写字符
3.求:
ax+bx+c=0的根
1、运算符优先级结合性
2、强制类型转换运算符
【课后作业】85页1、86页2
分支结构(ifswitch语句)
【教学目的】1)使学生能熟练运用简单的语句进行顺序结构程序设计
2)运用单分支条件语句进行判定结构程序设计
3)运用双分支条件语句进行判定结构程序设计
4)运用多分支条件语句进行判定结构程序设计
【教学重点】条件语句的应用
【教学难点】条件语句的熟练使用
【教学过程】
我们利用简单语句可以进行程序设计,但只是简单程序设计。
在设计程序时经常会遇到根据某些情况进行选择操作,这样就得用判断语句。
一、语句的分类
1.表达式语句
2.空语句
3.复合语句
4.函数调用语句
5.控制语句
二、if语句
1.If语句的一般形式
if(条件)语句1
[else语句2]
例如:
#include”stdio.h”
{inta,b,s1,s2;
printf(“请输入两个整数a,b:
scanf(“%d,%d”,&
s1=a+b;
s2=a*b;
if(s1>
s2)
printf(“a与b的和大于a与b的积”);
else
printf(“a与b的积大于等于a与b的和”);
}
2.If语句中的复合语句
如果两个分支中需要执行的语句不止一条,必须用“{}”括起来。
{floata,b,u,v,s,r;
{r=a*a-b*b;
s=a/b;
{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()
{inta,b;
printf(“pleaseinputtwointeger”);
scanf(“%d,%d”,&
a,&
if(a)b)printf(“a)b”);
elseif(a<
b)printf(“a<
b”);
elseprintf(“a=b”);
5.Switch语句
1)语句的格式
switch(表达式)
{case常量表达式1:
语句序列1;
case常量表达式2:
语句序列2;
……
case常量表达式n:
语句序列n;
default:
语句序列n+1;
2)例如:
2000年元旦是星期六,求出2000年的任何一个日期是星期几
【课堂练习】107页1
这节课主要掌握以下内容
1)运用单分支条件语句进行判定结构程序设计
2)运用双分支条件语句进行判定结构程序设计
3)运用多分支条件语句进行判定结构程序设计
【课后作业】111页4、5
循环语句的使用
【教学目的】1)掌握while语句的使用
2)掌握while语句的结构
3)掌握for语句的使用和结构
【教学重点】1)掌握while语句的使用
【教学难点】循环语句的使用和执行过程
【课程类型】讲授课
如果在设计程序时有些语句需进行重复执行才能完成的就的使用循环结构。
新课内容:
一、while语句
1.语句的结构
while(表达式)循环语句;
2.功能:
但条件表达式为真时执行循环语句,当条件表达式为假时跳过循环语句,执行循环语句的下一条语句。
3.例1:
计算1+2+3+……+100
{intsum=0,i=1;
while(i<
=100)
{sum+=i;
i++;
printf(“%d”,sum);
例2:
计算从10到10000之间的10的幂的平方根
4.练习输入一组数据,以0作为结束标志,计算这批数的平均值,并分别统计其中的正整数和负整数的个数
二、for语句
for(表达式1;
表达式2;
表达式3)循环语句;
但条件表达式2为真时执行循环语句,当执行完循环语句后执行表达式3,直到条件表达式2为假时跳过循环语句,执行循环语句的下一条语句。
{intsum,i;
for(sum=0,i=1;
i<
=100;
i++)
sum+=i;
三、比较两种循环的特点
1.执行过程
2.适用的地方
【课堂练习】找出在1000以内能被2,3,5整除的数
【小结】这节课主要掌握以下内容:
while语句的使用和while语句的结构,for语句的使用方法和结构及两种循环的特点
【课后作业】128页2、4
do—while语句及循环嵌套
【教学目的】1)掌握do—while循环语句的方法和结构,能够灵活应用循环语句。
2)循环的嵌套
【教学重点】能够灵活应用循环语句及循环的嵌套。
【教学难点】能够灵活应用循环语句。
【课时计划】2课时
提问上节课的循环语句。
一、do—while语句
1)语句的结构
do循环语句;
while(表达式);
2)功能:
3)例1:
do
while(i<
4)练习:
用迭代公式求整数a的平方根。
二、循环语句的嵌套
1.在一个循环内可以包含另一个循环,称为循环的嵌套
2.例:
求整数2——100中的素数。
{int,i,n,num;
for(n=3;
num=0;
n<
n++)
{i=2;
while(i<
&
n%i!
=0)
i++;
if(i=n){
printf(“%d”,n);
num++;
printf(“%d”,num);
3.例2:
打印小九九表(打印格式如下)
1
24
369
三、几种循环的比较
四、break、continue、goto语句
【小结】这节课重要的内容是循环的嵌套,这是个难点。
1、输出100~200中不能被7整除的数
2、输出1~20中能被3整除的数,并求出他们的和
3、求出100~200中的全部素数。
前三个知识点学生能很快掌握,但素数的判断、运用就不太理解,通过两个例子的讲解,基本理解了素数判断的方法和程序实现。
以后再讲素数时应先讲两个简单例子,在学生理解的基础上,然后再扩展。
Break和Continue应用举例
【教学目的】为了使学生能够很好的掌握循环,对这章节进行练习
【教学重点】熟练掌握循环语句
【教学难点】熟练掌握循环语句
循环是程序设计中比较难理解的一部分,也是比较重要的内容。
五、例题讲解
1.最大公约数和最小公倍数
{intr,m,n,temp,gec,lcm;
printf(“pleaseinputm,n:
”);
scanf(“%d,%d“,&
m,&
n);
lcm=m;
while(m%n!
{r=m%n;
m=n;
n=r;
gce=n;
lcm=lcm/gcd;
printf(“gcd=%d,lcm=%d”,gcd,lcm);
2.打印指定月份的日历
3.用二分法求方程的根。
求方程x3+4x2+x+1=0在[-5,5]之间的近似根
六、课堂练习:
1.输出1900——2000年中所有的润年。
每输出三个年号换一行
{inti,n=;
printf(“打印润年”);
for(i=1990;
i<
=2000;
{if(i%4==0&
i%100!
=0||i%400==0)
n++;
if(n%3==0)printf(“\n”);
printf(“%d”,i);
2.计算并输出一个整数各位数字之和。
如5331,各位之和是5+3+3+1=12。
【课堂练习】见上
【小结】理解if的嵌套使用方法,灵活使用swich语句
【课后作业】
129页9
函数
【教学目的】1)了解函数的使用目的
2)掌握函数说明及调用,能灵活运用知识解决问题
3)利用函数设计程序
【教学重点】函数的说明及调用
【教学难点】函数的说明及调用、函数的程序设计
导言:
我们讲解过标准函数,利用函数解决问题非常容易,但标准函数是有限的。
实际上函数是:
可以自定义的。
一、函数的概念
1.类型函数名(形式参数)
{说明部分;
语句部分;
2.函数的功能
3.函数的几点说明
定义一个函数求三角形面积
floatarea(floatx,y,z)
{floatp,s;
p=(x+y+z)/2;
s=sqrt(p*(p-x)*(p-y)*(p-z));
returns;
二、函数的定义
1.无参函数的定义
类型说明符函数名()
{说明部分
语句
2.有参函数的定义
类型说明符函数名(形式参数表列)
形式参数说明
3.注意事项
三、函数参数和函数值
1、形式参数和实际参数
2、函数的返回值
四、函数调用
1、函数调用的一般形式
2、函数调用的方式
3、对被调用函数的说明
五、函数的嵌套调用
六、函数的递归调用
程序举例
例1:
求如上多边形面积
{inta,b,c,a1,b1,c1,a2,b2,c2;
scanf(“%d,%d,%d,%d,%d,%d,%d,%d,%d”,&
b,&
c,&
a1,&
b1,&
c1,&
a2,&
b2,&
c2);
printf(“%f”,area(a,b,c)+area(a1,b1,c1)+area(a2,b2,c2));
1、编写一个函数digit(n,k),他返回数字n的第k位数
2、编写程序求sh(x)的函数,使公式为:
sh(x)=(ex-e-x)/2
求:
引用函数求y=sh(x)+sh(2x)+……+sh(nx)
这节课的主要内容是:
函数的定义结构、函数的调用、函数定义的注意事项
【课后作业】167页1
函数的调用
【教学目的】1)掌握数组作为函数参数的特点
2)掌握变量的定义位置及定义范围
3)掌握动态存储变量和静态存储变量之间的区别与联系
【教学重点】1、数组作为函数的参数
2、动态存储变量与静态存储变量
【教学难点】1、数组作为函数的参数
实际上函数是可以自定义的。
并且函数经常用数组作为函数的参数
一、数组作为函数参数:
1.数组元素作为函数实参
2.可用用数组名作函数的实参与形参
二、变量的定义位
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 教案