中等职业技术学校c语言电子教案.docx
《中等职业技术学校c语言电子教案.docx》由会员分享,可在线阅读,更多相关《中等职业技术学校c语言电子教案.docx(83页珍藏版)》请在冰豆网上搜索。
![中等职业技术学校c语言电子教案.docx](https://file1.bdocx.com/fileroot1/2023-4/20/b2246925-8ae3-4a21-94ac-6b797452d5fe/b2246925-8ae3-4a21-94ac-6b797452d5fe1.gif)
中等职业技术学校c语言电子教案
中等职业技术学校教案
教学单位:
京山县中等职业技术学校
课程名称:
C语言学习与应用
任课班级:
计算机应用班
任课教师:
教案书写说明
教案又称课时授课计划,是任课教师的教学实施方案。
任课教师应遵循专业教学计划制订的培养目标,以教学大纲为依据、教材为蓝本,在熟悉教材,了解学生的基础上,结合教学实践经验,提前编写设计好每堂课的全部教学活动。
教案书写应包括以下内容:
⒈课题:
授课题(章节)名。
⒉课型:
分理论讲授课、实验(实训)课、实习(见习)课等。
讲授课又分新授课或复习课。
⒊教学目的:
本课题教学应达到的目的。
⒋教学重点:
本课题(章节)的教学重点分别列出。
⒌教学难点:
本课题(章节)的教学难点分别列出。
⒍教学方法:
指本课题使用的教学方法和手段。
⒎课时安排:
本课题(章节)总计划课时数。
⒏教学内容:
本课题(章节)主要内容。
⒐作业及实践:
包括思考题、讨论题、实验题目、实训题目等。
⒑教学后记:
授课结束后的教学小结、心得体会等。
京山县中等职业技术学校备课用纸
授课年级
技能
授课班级
计算机应用
授课日期
授课节次
教学课题
C语言概述
教学
目标
了解C语言出现的历史背景
正确理解C语言特点
熟悉简单C程序结构、特点、执行过程
掌握运行C程序步骤与方法
重点
难点
正确理解C语言特点
熟悉简单C程序结构、特点、执行过程
教学资
源准备
教案、实例
教学活动流程设计
旁注
第1章C语言概述
§C语言出现的历史背景
1、程序设计语言的发展
(1)机器语言:
计算机能直接识别的语言。
(2)汇编语言:
助记符编写的语言。
(3)高级语言:
面向对象程序设计语言(如VB程序设计语言、JAVA程序设计语言)和面向过程程序设计语言。
2、C语言出现历史背景
(1)时间:
1972–1973
(2)地点:
美国贝尔实验室
(3)目的:
开发UNIX操作系统
§C语言特点
1、语言简洁、紧凑、灵活
2、运算符和数据类型丰富
3、程序设计结构化、模块化
4、生成目标代码质量高
5、可移植性好
§简单C程序介绍
例第一个程序Hello,World!
教学活动流程设计
旁注
#include<>
main()
{
printf(“Hello,World!
”);
}
说明:
1、#include<>是文件包含编译预处理命令,是标准输入输出头文件
1、main为主函数,每个C程序有且必须有一个主函数,无论其位置在哪,程序总是从main函数开始执行
2、printf是C语言中的输出函数,双引号中的字符串原样输出
3、;分号是C语言中的语句结束标志
例求两数之和
#include<>
main()
{
inta,b,sum;/*Definatethreevariables*/
a=123;
b=456;
sum=a+b;
printf(“Sumis%d”,sum);
}
说明:
1、%d是输出格式字符,控制输出时的数据类型和格式,表示十进制整数
2、/**/为注释
例求任意两数之和
#include<>
main()
{inta,b,sum;
scanf(“%d,%d”,&a,&b);
sum=add(a,b);
printf(“Sum=%d”,sum);
}
intadd(intx,inty)
{intz;
z=x+y;
return(z);
}
说明:
1、scanf是C语言中的输入函数,从键盘读入两个十进制整数,分别放入变量a和b对应的
地址单元中
2、调用函数add,定义函数add,函数返回值为整型,形参x和y为整型
3、return将z值返回,赋给sum
C语言的格式特点:
习惯用小写字母,大小写敏感
不使用行号,无程序行概念
可使用空行和空格
结构特点:
C程序由函数构成
C程序由语句组成
/**/为注释,不产生编译代码
教学活动流程设计
旁注
§C程序的上机步骤
1、C程序开发步骤
(1)编辑源程序:
扩展名为.c
(2)编译目标程序:
扩展名为.obj
(3)连接成可执行程序:
扩展名为.exe
2、VC++集成开发环境的使用方法
(1)启动VC++,建立一工作区
(2)在此工作区中建立一工程
(3)在此工程中建立一文件(注意扩展名为.c)编辑后执行程序
作业
1、简述C程序的特点;
2、编写一个简单的C程序,在屏幕上显示“IStudyCProgramming”
板
书
设
计
第一章C语言设计概述
1、C语言的历史背景
2、C语言的特点
3、简单C程序介绍
4、C程序的组成
5、C程序的上机步骤
6、作业
教
学
后
记
京山县中等职业技术学校备课用纸
授课年级
技能
授课班级
计算机应用
授课日期
授课节次
教学课题
算法1
教学
目标
算法的表示形式-----流程图
C中数据类型的分类
常量与变量
整型数据表示方法、存储形式、分类
重点
难点
整型数据在内存中的存放形式
如何解决整数的溢出问题
教学资
源准备
教案、实例
教学活动流程设计
旁注
算法的概念
1、算法:
为解决一个问题而采取的方法和步骤。
2、程序=算法+数据结构
3、算法是程序的灵魂
简单算法举例
1、求1×2×3×4×5
§算法的特性
1)有穷性
2)确定性
3)有0个或多个输入
4)有一个或多个输出
5)有效性
怎样表示一个算法
一、算法的表示形式
1、用自然语言表示
2、用流程图表示
3、用伪代码表示
4、用计算机语言表示
二、流程图:
传统流程图、N-S流程图
1、传统流程图的表示方法
2、三种基本结构传统流程图与N-S流程图
教学活动流程设计
旁注
一、数据与数据类型
1、数据:
程序加工处理的对象。
2、数据类型:
具有某种性质数据的集合。
二、C中数据类型
整型
字符型单精度型
基本类型浮点型双精度型
枚举型
数组
C中数据类型构造类型结构体
共用体
指针类型
空类型
常量与变量
一、常量
1、定义:
在程序运行过程中其值保持不变的量。
2、常量类型
数值型整型(123)、实型
字符型字符型(‘a’)、字符串型(“a”)
符号常量:
#definePAI
二、变量
1、定义:
在程序运行过程中其值可以改变的量。
2、变量在内存中存放形式:
一个变量有一个名字,并在内存中占一定的存储单元,用来存放变量的值。
4、变量的定义格式(变量必须先定义后使用)
类型说明符变量名1,变量名2,………..,变量名n;
例:
inta,b,c;
3整型数据
一、整型常量的表示方法
1、十进制:
123
2、八进制:
0123=(123)8
3、十六进制:
0x123=(123)16
二、整型变量
1、整型数据在内存中的存放形式
在内存中以二进制补码的形式存放,占用2个字节的内存空间
数的编码:
原码、反码、补码
原码:
数的二进制编码。
反码:
正数等于原码,负数将原码逐位变反(符号位为1)
补码:
正数等于原码,负数将原码变反末位加1。
2、整型变量分类
基本型:
无符号unsignedint、有符号int
短整型:
无符号unsignedshortint、有符号shortint
长整型:
无符号unsignedlongint、有符号longint
教学活动流程设计
旁注
3、例题(整型数据的溢出问题)
main()
{inta,b;
a=32767;
b=a+1;
printf(“%d,%d”,a,b);
}
作业
1、简述C程序中有哪些常用的数据类型;
2、P15/3,5
板
书
设
计
算法
7、算法的基本概念;
8、C语言中的数据结构;
9、常量;
10、变量;
11、变量的种类;
12、例题分析
教
学
后
记
京山县中等职业技术学校备课用纸
授课年级
技能
授课班级
计算机应用
授课日期
授课节次
教学课题
浮点型数据
教学
目标
浮点型数据与字符型数据的分类、表示方法与存储形式
变量的赋值形式
各种类数值型数据间相互转换的规则与方法
重点
难点
灵活掌握各种数据的存储形式
教学资
源准备
教案、实例
教学活动流程设计
旁注
一、浮点型常量的表示方法
1、十进制小数:
数字+小数点
例:
,,.456
2、指数形式:
123×102=123e2=
要求:
E前必须有数字,E后数字必须为整数。
规范化指数形式:
小数点左侧有且仅有一位非零数字。
二、浮点型变量
1、浮点型数据在内存中存放形式
指数形式存放,占用4个字节,如图所示
小数符号
小数
指数符号
指数
例:
+
+
4
结论:
小数位数越多,精度越高;指数位数越多,范围越大。
2、浮点型变量分类
单精度:
float
双精度:
double
长双精度:
longdouble
3、舍入误差:
见书中例题。
教学活动流程设计
旁注
字符型数据
一、字符常量
1、定义:
用一对单引号括起来的一个字符或以\开头的字符序列。
‘a‘,\n(又称转义字符)
2、转义字符(见书中表)
例:
\101=1*80+1*82=65即表示字母A
二、字符变量
1、定义格式:
charc1,c2;
2、作用:
存放一个字符
4、字符串常量
定义:
用一对双引号括起来的字符序列
在内存中存放形式:
末尾加串结束标志\0(系统自动加)
例:
“HELLO”
H
E
L
L
O
\0
字符串常量不能赋给一个字符变量。
例:
charc1;/*字符变量*/
c1=”hello”/*赋值错误*/
变量赋初值
一、赋值形式
1、定义变量时赋值
inta=3;
floatf=;
charc=’a’;
2、部分赋值
inta,b,c=5;
3、赋同一个初值
inta=3,b=3,c=3;
教学活动流程设计
旁注
浮点型数据与字符型数据的分类、表示方法与存储形式
变量的赋值形式
各种类数值型数据间相互转换的规则与方法
作业
1、P17/1,2
2、P18/3
板
书
设
计
浮点型数据
13、浮点型常量的表示方法;
14、浮点型变量的分类(单精度、双精度、长双精度);
15、常量;
16、变量;
17、字符常量;
18、字符变量;
19、例题分析;
教
学
后
记
京山县中等职业技术学校备课用纸
授课年级
技能
授课班级
计算机应用
授课日期
授课节次
教学课题
简单程序的调试及数学运算符
教学
目标
通过上机调试程序掌握各种数据类型的表示方法、存储形式
掌握各种不同数据间混合运算的运算规则
掌握各种运算符的使用方法
通过程序调试正确理解各种表达式的运算结果
重点
难点
掌握各种运算符的使用方法
教学资
源准备
教案、实例、上机操作
教学活动流程设计
旁注
上机按要求调试下程序
1、输入并运行下程序
main()
{inta,b;
a=32767;b=a+1;
printf(“%d,%d\n”,a,b);
}
2、输入并运行下程序
main()
{charc1,c2;
c1=’a’;c2=’b’;
printf(“%c,%c\n”,c1,c2);
}
1)将上面printf语句改成printf(“%d,%d\n”,c1,c2);结果?
2)将charc1,c2;改成intc1,c2;结果?
3)将c1=’a’;c2=’b’;改成c1=“a”;c2=“b”;结果?
4)将c1=’a’;c2=’b’;改成将c1=300;c2=400;改成结果?
3、输入并运行下程序
main()
{charc1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;
printf(“a%cb%c\tc%c\tabc\n”,c1,c2,c3);
printf(“%c%c\n”,c4,c5);
}
教学活动流程设计
旁注
4、输入并运行下程序
main()
{inti,j,m,n;
i=8;j=10;
m=++i;n=j++;
printf(“%d,%d,%d,%d\n”,i,j,m,n);
}
1)将m=++i;n=j++;改成m=i++;n=++j;结果?
2)将m=++i;n=j++;删除并将printf(“%d,%d,%d,%d\n”,i,j,m,n);改为printf(“%d,%d,%d,%d\n”,i,j,i++,j++);结果?
算术运算符和算术表达式
一、算术运算符和算术表达式
1、基本算术运算符
+(加法或正值运算)1+2,+100
-(减法或负值运算)1-2,-100
*(乘法运算符)1*2
/(除法运算符)1/2两整数相除结果为整数。
½=0
%(模或取余运算符)要求运算符两侧均为整数如5/3=1
2、算术表达式和运算符的优先级与结合性
1)算术表达式的定义:
由算术运算符、括号将操作数连接起来符合C语法规则的式子。
2)优先级与结合性
*/%高(左至右结合)
+-低(左至右结合)
例题:
X/(67-(12+Y)*A)判断计算先后顺序?
3、强制类型转换运算符
1)转换格式:
(类型名)(表达式)
作用:
将表达式转换成所需的格式。
main()
{floatx;intI;
x=;
I=(int)x;
printf(“x=%f,I=%d”,x,I);
}
4、自增、自减运算符
1)++i,--i(先使i的值加1或减1,再使用i)
2)i++,i--(先使用i,再使i加1或减1)
3)++与--只能用于变量,不能用于常量或表达式
例:
5++,(3*8)++错误
4)++与--结合方向自右向左。
-I++=-(I++)
I=3;printf(“%d,%d”,I,I++);
教学活动流程设计
旁注
赋值运算符和赋值表达式
一、赋值运算符
1、运算符:
为等号“=”
2、与数学运算的区别
•数学运算符是判断等号两侧的数值是否相等。
•赋值运算符是将等号右侧的数值赋给左侧。
3、类型转换
1)将实数赋给整数,舍去小数部分。
2)将整数赋给单双精度变量时,数值不变,但以浮点形式存储到变量中。
3)将一个double赋给float时,截取前7位有效数字。
4)将字符型赋给整型时,无符号时高8位补零,有符号时,高8位补1
5)将一个intshortlong赋给一个char时,只将低8位赋给char
4、复合赋值运算符
定义:
在赋值运算符前加其他运算符
a+=b等价a=a+b
x%=y+3等价x=x%(y+3)
5、赋值表达式
格式:
<变量><赋值运算符><表达式>
作业
1、上机调试课堂上所学的实例;
2、写出上机调试程序时出现的错误及解决方法;
3、P19/4,5
板
书
设
计
程序调试及算术、关系运算符
20、上机调试课件中的程序;
21、上机调试例1及例2;
22、算术运算符和算术表达式;
23、关系运算符及关系表达式;
24、理解赋值号与数学中等于号的区别;
教
学
后
记
京山县中等职业技术学校备课用纸
授课年级
技能
授课班级
计算机应用
授课日期
授课节次
教学课题
运算符与表达式详解
教学
目标
运算符的各类
表达式的种类
算术运算符
自增自减运算
重点
难点
算术运算符
自增自减运算
教学资
源准备
教案、实例、上机操作
教学活动流程设计
旁注
运算符与表达式详解
【问题】日常生活中我们会进行各种各样的数据运算。
在C语言中将如何表示这些运算呢?
C语言的运算符非常丰富。
除控制语句、输入输出语句以外的几乎所有的基本操作都作为运算符处理的。
运算符的使用方法也非常灵活,这是C语言的主要特点。
C语言运算符一般可分为以下几类:
1.算术运算符+-*/%
2.关系运算符>>=<<===!
=
3.逻辑运算符!
&||
4.位运算符<<>>~|^&
5.赋值运算符=及其扩展赋值运算符
6.条件运算符?
:
7.逗号运算符,
8.指针运算符*&
9.求字节数运算符sizeof
10.类型转换运算符(类型)
教学活动流程设计
旁注
11.分量运算符.->
12.下标运算符[]
13.其他如函数调用运算符()
本节将重点介绍算术运算符、赋值运算符、逗号运算符,其他运算符将在以后各章中陆续介绍。
详细的运算符列表见附录。
算术运算符与算术表达式
1.算术运算符
C语言中基本的算术运算符共有5种:
+(加),-(减),*(乘),/(除),%(取模,或称求余运算符)
C语言规定:
(1)%(取模运算符),仅用于整型变量或整型常量的运算,如:
7%3,其值为1。
(2)/(除运算符),当对两个整型的数据相除时结果为整数,如:
7/3,其值为2,舍去小数部分,相当于整除操作。
2.算术表达式
(1)算术表达式定义
由算术运算符、括号以及操作对象组成的符合C语言语法规则的表达式称为算术表达式。
如:
a+b-c/d*(a-c)。
(2)优先级
一个表达式中若有多个运算符混合在一起,则计算的先后次序为先算括号,再根据相应运算符的优先级,高的优先。
乘、除、取模运算符的优先级高于加、减运算符的优先级,即先乘、除、取模,后加、减。
算术运算符的优先级在所有运算符中是较高的,仅次于括号、单目运算符、类型转换运算符和求字节数运算符。
(3)结合方向
当一个运算对象两侧的运算符的优先级别不同时,应遵循优先级高的先处理的规则。
当一个运算对象两侧的运算符的优先级别相同时,应遵循运算符的结合方向。
算术运算符的结合方向是从左至右。
3.自增自减运算符
C语言中,增1运算也可以写为++运算;减1运算也可以写为--运算。
++和--运算是C语言中两个较为独特的单目运算符。
它们既可以放在操作数前,也可以放在操作数后,并且操作对象只能是变量,不能是常量或表达式。
自增自减运算符的作用是将操作对象的值增加1或减去1。
虽然自增自减运算符既可用于前缀运算,也可用于后缀运算,但其意义不同。
i++,i--/*表示在使用i值之后将i的值加(减)1*/
++i,--i/*表示在使用i值之前将i的值加(减)1*/
例如:
设i的原值为5,则执行下面的赋值语句:
j=i++;/*先将i的值赋给j,i再自增1,赋值语句执行完后i的值为6,j的
教学活动流程设计
旁注
值为5*/
j=++i;/*先将i的值自增1,再赋给j,赋值语句执行完后i的值为6,j的值为6*/
【例】输出下面程序中i的值
/**/
main()
{
inti=5,j;
j=++i+i++;/*一个前增1使i变成6后才进行加法运算,实际是6+6*/
printf("%d%d\n",i,j);
j=(++i)+(++i)+(i++);
printf("%d%d\n",i,j);
printf("%d%d\n",i+j,j++);
}
运行结果为:
712
1027
3827
作业:
P27/1,2,3P29/3
板
书
设
计
运算符与表达式详解
25、运算符的种类;
26、表达式的种类;
27、常用的算术运算符;
28、自增与自减运算
29、习题分析
教
学
后
记
京山县中等职业技术学校备课用纸
授课年级
技能
授课班级
计算机应用
授课日期
授课节次
教学课题
赋值运算符与逗号运算符
教学
目标
赋值运算
逗号表达式
复合运算
重点
难点
赋值运算符与数学中等号的区别
逗号表达式
教学资
源准备
教案、实例、上机操作
教学活动流程设计
旁注
一、赋值运算
1.赋值运算符
C语言中赋值运算符为“=”,它的作用是将赋值运算符右边表达式或常量的值赋给其左边的变量。
例如:
a=5;/*表示把一个常量5赋给变量a*/
x=a+5;/*表示将表达式a+5的值赋给变量x*/
【注意】如果赋值运算符两侧的类型不一致,在赋值时要进行类型转换。
我们将在下一节“赋值转换”中给大家作说明。
2.复合赋值运算符
C语言允许在赋值运算符“=”之前加上其他运算符以构成复合的赋值运算符。
凡是双目运算符,都可以和赋值运算符一起组合成复合的赋值运算符。
在C语言中,可以使用的复合赋值运算符有:
+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=
例如:
a+=5; 等价于 a=a+5;
教学活动流程设计
旁注
a*=b+5;等价于a=a*(b+5);
a%=5;等价于a=a%8;
C语言中采用这种复合运算符,一是为了简化程序,使程序精练;二是为了提高编译效率,产生质量较高的目标代码。
3.赋值表达式
(1)赋值表达式的一般形式为:
(变量)(赋值运算符)(表达式)
其功能是将赋值运算符右边的“表达式”的值赋给赋值符号左边的变量。
整个赋值表达式的值就是被赋值的变量的值。
例如:
b=4;/*表示把4赋值给变量b,整个赋值表达式的值为4*/
赋值表达式也可以包含复合的赋值运算符,例如:
a+=a-=a*a;
设a的初值为5,其求解步骤为:
①先计算表达式a-=a*a的值,它相当于a=a-a*a=5-5*5=-20
②再计算a+=-20的值,它相当于a=a+(-20)=-20-20=-40
赋值表达式中的“表达式”又可以是一个赋值表达式,例如:
a=(b=5);
括号内的b