成都大学C语言教案解析文档格式.docx
《成都大学C语言教案解析文档格式.docx》由会员分享,可在线阅读,更多相关《成都大学C语言教案解析文档格式.docx(49页珍藏版)》请在冰豆网上搜索。
目
的
和
要
求
C语言是近年来国内外得到迅速推广使用的一种计算机语言。
C语言程序设计课程是计算机专业和信息管理专业的核心专业基础课,它功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的优点。
既适用于应用软件编写,又适用于系统软件的编写。
它是《数据结构》等后续专业课的基础。
是程序员、等级考试、一些高校研究生入学考试的必考课程,在计算机专业中是一门举足轻重的课程,因此,学好C语言是非常重要的。
课程的性质和任务
《C语言程序设计》这门课是我校计算机系、电信系的专业基础课、是机械工程系、建筑工程系等专业的公共必修课。
作为计算机系的数据结构、c++、操作系统等课程的前导课程,也是一门实践性很强的课程,既要掌握概念,又要动手编程,还要上机调试运行。
对计算机专业和理工类专业来说是一门必修的课程。
同时,这门课程也是“四川省非计算机专业学生计算机应用能力水平考试”二级考试的主要语种之一。
课程的教学目标
本课程的教学目标是:
通过理论和实践教学,使学生较好地掌握C语言各方面的知识,掌握基本的程序设计过程和技巧,具备初步的高级语言程序设计能力,并能熟练应用TURBOC集成环境进行C语言的编写、编译与调试,能应用C语言解决一般编程问题的水平。
重
点
难
一、C语言概述
重点:
C程序结构
二、数据类型、运算符与表达式
重点:
常用数据类型、常用运算符、数学公式转化为C语言表达式的基本能力。
三、顺序结构程序设计
C语句的种类、赋值语句、数据的输入输出及输入输出中常用的控制格式。
四、选择结构程序设计
关系运算符与逻辑运算符及其组成的具有逻辑值的表达式、二条分支语句的格式及基本应用。
五、循环控制
C构成循环的四种方法,尤其是后三种方法、break与continue语句的基本作用。
难点:
while语句;
do-while语句;
for语句;
循环的嵌套;
break与continue语句。
六、数组
一维数组、二维数组的定义与引用;
字符数组的定义与引用、常用字符串处理函数及字符处理函数;
数组的应用
二维数组的定义与引用;
字符数组;
七、函数
函数的定义;
函数的参数和函数的值;
函数的调用;
函数的嵌套调用;
函数的递归调用;
数组作为函数参数;
变量作用域;
量存储类别;
难点:
函数定义、函数调用、函数声明等基本基本概念;
函数的嵌套调用与递归调用;
数组作为函数的参数、变量的存储类别与作用域。
八、编译预处理
重点和难点:
有参宏、无参宏的定义与应用;
文件包含的基本概念。
九、指针
指针与地址的基本概念、指针与变量的关系;
指针与数组;
指针与字符串、指针数组与二级指针;
指针的应用
十、结构体与共用体
结构体类型的说明及结构体类型变量的定义;
结构体变量的引用;
结构体变量的初始化;
结构体数组;
指针与结构体数组;
共用体;
枚举类型
结构体的基本概念、结构类型及变量的定义、结构数组;
用指针处理链表;
共用体及枚举类型的基本概念、typedef的基本概念。
十一、文件
文件的基本概念;
文件的打开、关闭、常用读写方法。
十二、位运算及程序调试
教材、
参考书
教材:
《C程序设计》(第三版)谭浩强著清华大学出版社2005
参考书:
《C语言程序设计案例教程》张基温等清华大学出版社
注:
此页针对课程整体内容进行填写
总学时第1、2学时—第3、4学时
授课内容
第1章C语言概述
教学目的
和要求
了解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分别说明)
函数头:
函数返回类型函数名(函数参数类型函数形式参数,...)
函数体:
包含声明+执行部分
五、C程序的实现
(1)源程序、目标程序、可执行程序的概念(补充)
(2)C语言程序的实现:
编辑、编译、连接、运行。
六、机房演示及学生操作
课堂提问讨论
小结、作业布置
思考题、
课后作业
1、阅读:
《讲义》
2、《教材》P8,1-6。
《实验与练习》自测题。
实验准备:
实验1
主要
参考资料
课后自我
总结分析
备注
第3周,第一次上课,前两节课上课,后两节在机房中操作,介绍VC开发环境及演示编写程序,并要求学生上机操作并熟悉开发环境。
此页针对具体授课内容填写
总学时第5学时—第6学时
第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)赋值转换。
“=”右边类型=>
左边类型,然后赋值
例:
表达式:
10+’a’+1.5-8765.1234*’b’;
floata=3.14;
inti=a;
2、强制类型转换。
(类型)表达式。
例2-9。
整型数据溢出例子,浮点数据舍入误差例子,给我们编程序的提示什么?
阅读:
《教材》
(对本章节的课堂教学需补充说明的内容)
总学时第7学时—第8学时
第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)赋值表达式。
一般形式:
〈变量〉〈赋值