《C语言程序的设计》教案Word文档下载推荐.docx
《《C语言程序的设计》教案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《《C语言程序的设计》教案Word文档下载推荐.docx(42页珍藏版)》请在冰豆网上搜索。
![《C语言程序的设计》教案Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-11/26/a6626def-f0f6-47bd-a937-d6972be286bf/a6626def-f0f6-47bd-a937-d6972be286bf1.gif)
循环的嵌套;
break与continue语句。
六、数组
一维数组、二维数组的定义与引用;
字符数组的定义与引用、常用字符串处理函数及字符处理函数;
数组的应用
二维数组的定义与引用;
字符数组;
七、函数
函数的定义;
函数的参数和函数的值;
函数的调用;
函数的嵌套调用;
函数的递归调用;
数组作为函数参数;
变量作用域;
量存储类别;
难点:
函数定义、函数调用、函数声明等基本基本概念;
函数的嵌套调用与递归调用;
数组作为函数的参数、变量的存储类别与作用域。
八、编译预处理
重点和难点:
有参宏、无参宏的定义与应用;
文件包含的基本概念。
九、指针
指针与地址的基本概念、指针与变量的关系;
指针与数组;
指针与字符串、指针数组与二级指针;
指针的应用
十、结构体与共用体
结构体类型的说明及结构体类型变量的定义;
结构体变量的引用;
结构体变量的初始化;
结构体数组;
指针与结构体数组;
共用体;
枚举类型
结构体的基本概念、结构类型及变量的定义、结构数组;
用指针处理链表;
共用体及枚举类型的基本概念、typedef的基本概念。
十一、文件
文件的基本概念;
文件的打开、关闭、常用读写方法。
十二、位运算及程序调试
教材、
参考书
教材:
《C程序设计》(第三版)谭浩强著清华大学出版社2005
参考书:
《C语言程序设计案例教程》张基温等清华大学出版社
授课内容
第1章C语言概述
教学目的
和要求
了解C历史,名称来源、C特点
掌握C程序基本结构
了解C程序上机步骤
重点
难点
1、法成分(标识符、注释)
2、C程序基本结构(C程序由函数组成、main主函数、C函数基本结构)
安
排
引言
语言:
人-人语言交流;
聋哑人-手势语;
人机-计算机语言
C语言是一种流行的计算机高级语言,C语言适合于编写系统软件,也可以编写应用程序。
讲授
一、语言出现的历史背景
(1)C语言的发展源于人们希望用高级语言编写操作系统。
(C-BCPL第二字母)
ALGOL60(高级语言)->
CPL(硬件支持)-BCPC->
B->
C->
标准C->
ANSIC->
ISOC
(2)语言既具有高级语言特性,又具有低级语言特性-中级语言。
二、C语言的特点
C语言是从ALGOL60、CPL发展而来,既具有一般高级语言特性,又具有低级语言特性。
8个特点。
三、C语言基本语法成分(重点:
标识符,注释)
(1)C语言字符集。
字母、数字、特殊字符。
(2)标识符(名字),C语言标识符定义规则及注意事项。
说明:
教师备课笔记由学校自订式样并附后
(3)关键词(保留字)。
参阅P234附录V。
(4)运算符。
参阅P233附录IV。
(5)分隔符:
逗号,空格。
起分隔、间隔作用。
(6)注释符。
/*...*/,编译时编译系统忽略注释。
作用:
注释、调试程序。
四、C程序结构(3个C程序引入C程序结构)
3个C程序例子(最简单C程序、有多条语句的C程序、调用自定义函数的C程序)
C程序结构:
(1)C程序由函数组成
●函数是C程序的基本单位。
程序至少有1个main()(例1.1),也可以包含1个main()和若干个用户定义的其它函数(例1.3)。
●C程序通过函数的调用完成程序的功能。
(例1.1,1.2,1.3)
●被调用的函数可以是系统库函数(例1.1)或用户自定义函数(例1.3)。
特别强调:
1个程序至少应有1个main函数,main()函数是整个程序的执行起点。
main()函数的位置无关紧要。
(2)函数结构(用例1.3max,main分别说明)
函数头:
函数返回类型函数名(函数参数类型函数形式参数,...)
函数体:
包含声明+执行部分
第2章基本语法基础-数据类型
了解C语言丰富的数据类型;
常量、变量的概念
掌握变量定义原则和符号常量定义方法
掌握常用基本数据类型(整型、实型、字符型)数据的常量表示、机内存储、变量分类以及掌握正确选择数据类型
了解数值型数据混合运算及类型转换规律。
变量定义原则
常用基本数据类型(整型、实型、字符型)数据的常量表示、机内存储、变量分类,
正确选择数据类型
整型数据的机内表示,字符数据的机内表示
一、常量与变量
1、常量概念、常量类型,直接常量/符号常量。
2、变量概念、变量名/变量在内存中占据的单元/变量值/变量地址。
变量先定义后使用。
二、整型数据(内存中补码存储)
1、整型常数。
10,8,16进制表示
2、整型变量分类:
基本整型int/长/短;
有符号/无符号。
观察数据表达范围+字节数
3、整型变量定义、初始化。
例2-2。
4、整型数据的溢出。
例2-2A。
三、实型数据
1、实型常量表示。
小数形式,指数形式e。
2、实型变量分类。
重要的两种float、double。
观察数据表达范围+字节数+有效数字
3、实型数据的舍入误差。
例2-3A。
四、字符型数据
1、字符常量表示。
直接表示/转义表示(特殊的转义字符,一般字符也可以转义表示)。
特殊转义字符对显示/打印的控制作用
2、字符变量-1个字节,char关键词。
3、字符数据的存储-ASCII码/二进制存储-C语言可以将字符看做很短的整数处理。
例2-7A,例2-8A可以看出字符数据的具有整数特性。
4、字符串常量。
“”括字符序列,尾部有‘\0’结束。
五、数值型数据混合运算(转换为同类型运算)
1、自动隐式转换。
规则:
(1)类型不同,转换为相同类型,然后运算
(2)低类型向高类型转换(图)
(3)赋值转换。
“=”右边类型=>
左边类型,然后赋值
第2章基本语法基础--运算符与表达式
了解:
C语言的丰富运算符,丰富的运算符可以构成灵活的表达式
掌握算术、赋值、逗号运算符及它们构成的表达式。
掌握运算符的优先级、结合性规律。
算术、赋值、自增/减运算符及它们构成的表达式
运算符的优先级、结合性规律。
C语言运算符丰富,C语言丰富的运算符构成C语言丰富、灵活的表达式。
本章主要介绍算术运算符(包括自增自减运算符)、赋值运算符、逗号运算符。
一、算术运算符和算术表达式
1、算术运算符(+、-、*、/)P23.表3-2。
(1)整除的结果为整数,结果向0取整,实质就是舍去小数.
(2)%,要求操作数均为整型。
余数的符号与被除数符号相同。
例如:
-8%5=-3;
8%-5=3
2、算术表达式
注意:
C语言算术表达式的书写形式-数学表达式的书写形式区别:
(1)-(4)。
3、(算术)运算符的优先级与结合性(P.233附录IV)
先按运算符的“优先级别”高低次序执行;
优先级别相同,则按规定的“结合方向”处理。
为了清晰起见可用圆括号“()”强制。
例1:
表达式a-b*c等价于a-(b*c)。
例2:
a-b+c,到底是(a-b)+c还是a-(b+c)?
(b先与a运算还是先与c参与运算?
)例3:
分析x=y=z=3+5
二、赋值运算符、赋值表达式
1、赋值运算符、赋值表达式
(1)赋值运算符
(2)赋值表达式。
一般形式:
〈变量〉〈赋值符〉〈表达式〉
(3)赋值表达式的求解过程:
赋值+整个赋值表达式的值。
x=10+y;
(1)左变量
(2)不具“等”含义(3)类型转换(4)赋值表达式值
2、复合赋值运算符
复合赋值表达式形式:
变量<
双目运算符>
=表达式等价:
变量=变量<
表达式
n+=1等价于n=n+1;
x*=y+1等价于x=x*(y+1)
3、赋值运算符、赋值表达式举例。
(1)a=5
(2)a=b=5(3)a=(b=4)+(c=3)(4)假如a=12,分析:
a+=a-=a*a(答案:
-264)
三、自增、自减运算符
单目运算符,使变量的值增1或减1。
如:
++i,i++(等价i=i+1)--i,i—(等价<
=>
i=i-1)
(1)-(4);
(前置运算):
先自增、减,再参与运算;
(后置运算):
先参与运算,(整个表达式运算结束后)再自增、减。
第4章顺序程序设计
了解C语言语句分类:
控制语句,表达式语句,复合语句
掌握表达式语句,复合语句的构成
掌握格式化输入/输出函数,常用其它输入/输出函数的使用。
表达式语句,复合语句的构成
格式化输入/输出函数
格式控制项的各种形式
程序设计通常采用三种不同的程序结构:
顺序,选择(分支),循环(重复)。
顺序结构是最简单、最基本的程序结构。
通过本章学习,可以开始简单的C程序设计。
一、C语句概述
C程序的总体层次结构:
程序、模块,函数,语句。
语句:
是向计算机发出的用来完成一定操作任务的指令。
C语言语句分类:
1、控制语句(9种)
2、表达式语句(典型的赋值,函数调用、空语句)
3、复合语句(相当一条语句,哪里有语句,哪里就可以用复合语句)
二、输入/输出及其C语言的实现(补充)
1、计算机由主机(CPU、内存),外围设备(输入/输出设备),接口组成
2、主机向外部设备-“输出”,外部设备向主机-“输入”。
输入/输出相对主机而言。
3、C语言本身不提供输入/输出语句,输入/输出操作由函数实现。
三、格式输入/输出
1、printf函数(格式输出函数)
(1)格式:
printf(格式控制字符串,输出表列)
格式控制字符串:
(格式控制项、普通字符)
输出表列:
一般是一个表达式,简单地,可以是变量。
(2)格式控制字符d、o、x/X、u、c、s、f、e/E、g/G构成控制项的各种常见形式。
表3-1,3-2。
不要死记硬背,要总结规律。
%±
mnh/l格式字符
2、scanf函数(格式输入函数)
scanf(格式控制字符串,输入表列-地址列表)
含义与printf类似
输入表列-地址列表:
变量的地址或字符数组的首地址
(2)格式控制字符、格式控制项与printf类似,表3-3,4。
一般使用更加简单形式。
数据读入结束情况:
遇空格、TAB、回车;
遇非法输入;
指定宽度结束。
四、其它输入/输出函数
1、putchar函数一般形式:
putchar(字符表达式);
2、puts函数一般形式:
puts(char*str);
3、gets函数一般形式:
gets(char*str);
五、顺序结构程序设计举例
✓例4-3:
输入三角形的三边长,求三角形面积。
✓例4-5:
求ax2+bx+c=0方程的根。
a,b,c由键盘输入,设b2-4ac>
0。
六、上机演示和学生操作
1、各个数据输入函数的使用;
2、各种数据输出格式的控制。
课堂提问讨论
小结,作业布置
C语言的格式输入/输出的规定比较繁琐,重点掌握最常用的一些规则和规律即可,其它部分可在需要时随时查阅。
第5章选择结构程序设计一
理解条件-产生逻辑值的表达式
掌握关系运算符、关系表达式;
逻辑运算符、逻辑表达式
掌握if语句
关系运算符、关系表达式
逻辑运算符、关系表达式
嵌套if语句
a)选择结构(分支结构):
根据条件,在几个可选择分支中进行选择。
C语言的选择结构可以用
(1)if语句
(2)switch语句(3)“条件运算”表达式实现。
b)举例说明:
例5-1,用if语句构成的选择结构(分段函数)
c)选择结构最重要的是“选择结构的条件”。
C语言中的条件是采用能产生逻辑值“真、假”的关系运算和逻辑运算来表示的。
一、关系运算符和关系表达式
“关系运算”(比较运算)即,将两个值进行比较,判断是否符合或满足给定的条件。
1、关系运算符及其优先次序
a)C语言提供6种关系运算符。
表5-1。
b)关于优先次序:
前4种高于后两种;
关系低于算术;
关系高于赋值
例5-2。
2、关系表达式
关系表达式的值是逻辑值,即“真”“假”。
C语言没有逻辑型数据,1-“真”,0-“假”。
例5-3。
二、逻辑运算符和逻辑表达式
“关系运算”(比较运算)即,两个逻辑值的运算。
1、逻辑运算符。
3种,表5-2。
(1)&
&
逻辑与,
(2)||逻辑或,(3)!
逻辑非
2、逻辑运算符的优先顺序:
(1)!
-&
-||,“!
”为三者中最高。
(2)&
||低于关系运算符,!
高于算术运算符。
例5-4。
3、逻辑表达式
(1)逻辑值只能是0/1,但判断量是否为“真”时,以0-“假”,非0-“真”。
例5-5,6。
(2)逻辑运算的短路现象。
例:
a&
b&
c,a||b||c
(3)可以用一个逻辑表达式来表示一个复杂的条件。
闰年标准。
三、if语句
if语句用来判定所给定的条件是否满足,即结果(真或假)决定执行给出的两种操作之一。
1、if语句三种形式
(1)if(表达式)语句。
(2)if(表达式)语句1else语句2
(3)if(表达式1)语句1…elseif(表达式m)语句melse语句m+1
if语句使用说明。
(1)
(2)(3)
if语句使用例子:
例5-1:
两数交换;
例5-2:
三数排序。
2、if语句的嵌套:
if语句的嵌套:
if语句的if块或else块中,又包含一个if语句。
(1)if语句嵌套一般形式。
(2)else语句匹配问题
例5-3:
分段函数
小结、作业布置
第5章选择结构程序设计二
掌握条件运算符、条件表达式
掌握switch-case语句
switch-case语句
d)复习关系运算、逻辑运算、if语句
e)引入简单的条件运算符及表达式、以及开关语句
一、条件运算符、条件表达式
在if语句中,在表达式为“真”和“假”时,都只执行一个赋值语句给同一个变量赋值时,可以使用简单的条件运算符来处理。
if(a>
b)max=a;
elsemax=b;
<
max=a>
b?
a:
b;
(1)条件表达式的一般形式:
表达式1?
表达式2:
表达式3
(2)条件表达式说明(5点)
例5-4.
二、switch-case语句(多分支选择语句/开关语句)
3、switch一般形式
4、switch语句说明。
(1)-(7)
三、分支程序例子
例5.5写程序,判断某一年是否是闰年。
例5.6求一元二次方程ax2+bx+c=0的根。
例5.7运输公司对用户计算运费。
思考题、
课后作业
《教材》:
P58.1-14
实验一:
编写求一元二次方程的根。
主要
参考资料
四川省二级考试题库
课后自我
总结分析
备注
(对本章节的课堂教学需补充说明的内容)
第6章循环结构程序设计一
掌握while当型循环、dowhile直到型循环、for循环
while当型循环、dowhile直到型循环、for循环的形式、执行过程、使用注意问题
重复执行就是循环。
重复工作是计算机特别擅长工作之一。
重复执行不是简单地重复,每次重复,操作的数据(状态、条件)都可能发生变化。
重复的动作是受控制的,C语言提供三种循环控制语句,构成了三种基本的循环结构。
一、while语句(当型循环)
1、while语句的一般形式是:
2、执行过程是:
(流程图、N-S图)
3、使用while注意的问题。
例6-1:
利用while语句,编写程序计算1+2+3+…+100。
结论:
编制循环程序要注意的几个问题。
二、do-while语句(直到型循环)
1、do-while语句的一般形式
2、do-while执行过程(流程图)
3、do-while说明:
例6-4:
利用do-while语句计算机1+1/2+1/4+…+1/50。
三、for语句(当型循环)
1、for语句的一般形式(给出while循环的对应结构)
2、for循环执行过程(流程图)
例6-6:
写一个程序,计算半径为0.5,1.5,2.5,3.5,4.5,5.5mm时圆的半径。
例6-7:
求正整数n的阶乘n!
其中n由用户输入。
3、for语句最容易理解、最常用的形式
4、for语句说明(6点)。
C语言的for语句功能强大,使用灵活。
P81.1-12
实验二:
准备。
第6章循环结构程序设计二
三种循环结构的比较。
掌握break;
continue;
通过应用例子进一步掌握循环结构
break;
功能,区别。
复习3种循环结构、引入3种循环的比较、进一步加深学生对3种循环结构的理解。
四、几种循环的比较
1、循环结构的基本组成部分(4部分)
2、几种循环的比较。
一般相互可以替代,但具体形式有些差异。
例6-9:
将50-100之间的不能被3整除的数输出(用三种循环结构实现)
五、break和continue语句
1、break语句
(1)break语句的功能
(2)break语句说明
例6-10:
从键盘上连续输入字符,并统计其中大写字母的个数,直到输入“换行”字符。
2、continue语句(翻译为“继续”(循环))
(1)continue语句的功能
(2)continue/break区别
例6-12:
从键盘输入30个字符,并统计其中数字字符的个数
六、应用举例
例6-14:
从键盘输入一个大于2的整数n,判断是不是素数。
例6-15:
求100-200之间的所有素数。
例6-16:
输出下三角99乘法表
例6-17:
求Fibonacci数列的前50项。
(最好在数组,函数递归部分介绍)
注意到例6-15:
外层n的循环,循环变量的修正是:
“n=n+2”(即就是每次加2),为什么?
(因为只要检查奇数,偶数能被2整除,一定不是素数)。
编写100以内的所有素数。
注:
此页针对具体授课内容填写
第7章数组一
数组的基本概念
一维数组定义、初始化、引用;
最大值、冒泡排序、选择排序算法。
二维数组定义、初始化、引用;
多维数组
一维数组定义、初始化、引用
求最大值、冒泡排序、选择排序算法
矩阵操作
冒泡排序、选择排序算法
基本数据类型-构造类型的数据-数组
数组、数组元素、数组的下标、数组的维数
inta[10];
一维数组可以看作一个数列,向量。
floatb[3][3];
二维数组可以看作一个矩阵。
一、一维数组
1、一维数组的定义类型说明数组名[整型常量表达式]
一维数组定义说明。
(1)-(5)
2、一维数组的初始化的几种形式
(1)
(2)(3)
3、数组元素的引用。
数组元素的引用说明:
例7-1:
数组元素的引用例子。
4、一维数组的应用例子
例7-2:
从键盘输入10个整型数据,找出其中的最小值并显示出来。
例7-3:
采用“冒泡法”对任意输入的10个整数按由小到大的顺序排序。
例7-4:
采用“选择法”对任意输入的10个整数按由大到小的顺序排序。
二、二维数组(注意:
类比一维数组)
1、二维数组的定义
2