C程序设计教学大纲.docx
《C程序设计教学大纲.docx》由会员分享,可在线阅读,更多相关《C程序设计教学大纲.docx(12页珍藏版)》请在冰豆网上搜索。
C程序设计教学大纲
《C程序设计》课程教学大纲
一课程说明
1、课程基本情况
课程名称:
C程序设计
英文名称:
ProgrammingwithClanguage
课程编号:
2413203
开课专业:
计算机科学与技术
开课学期:
第1学期
学分/周学时:
5/5
课程类型:
专业基础必修课
2、课程性质(本课程在该专业的地位作用)
本课程是面向计算机科学与技术专业学生开设、旨在培养学生理解和掌握程序设计基本思想和程序设计基本能力的专业基础必修课。
通过本课程的学习,可增强学生的逻辑思维能力,掌握面向过程的程序设计的基本思想和基本方法,提高学生的动手实践能力,为下一步学习面向对象的程序设计的思想、技术以及其他重要后继课程的学习打下一定的基础。
3、本课程的教学目的和任务
本课程总的教学目的是使学生掌握程序设计的基本思想、方法、技能,具体要求是:
(1)掌握一种C语言集成开发工具的使用,具有C程序的编辑、编译、运行、调试的基本能力。
(2)具有阅读C程序代码的基本能力。
(3)具有分析、设计、实现算法的基本能力。
4、本课程与相关课程的关系、教材体系特点及具体要求
本课程是《数据结构》、《数据库系统》、《c#》、《嵌入式系统》等课程的前导课程。
本课程的教材,在国内外已经形成了一个从介绍C语言基础知识到讲授C语言研发能力的完整的体系。
本课程教材的选用须具备:
(1)以讲授C语言基础知识和基本编程能力为主,并具有大量的实例。
(2)所讲授的C语言基本体系须科学、完整。
(3)阐述须科学严谨、通俗易懂、适于自学。
5、教学时数及课时分配
(1)理论学时分配
知识模块
主要内容
学时分配
模块1:
C语言概述
程序设计和程序设计语言、C语言和C程序的结构、运行C程序的方法与步骤、算法及算法分析。
4
模块2:
顺序结构程序设计
变量、数据类型、运算符与表达式、C语句、数据的格式输入与输出、顺序结构程序的设计。
8
模块3:
选择结构程序设计
选择结构和条件判断、用if语句实现选择结构、关系运算符和关系表达式、逻辑运算符和逻辑表达式、条件运算符和条件表达式、选择结构的嵌套、switch语句及其应用。
10
模块4:
循环结构程序设计
用while、do…while、for语句实现循环、循环的嵌套、break和continue语句及其应用。
10
模块5:
数组及其应用
一维数组的定义和引用、二维数组的定义和引用、字符数组及其应用。
8
模块6:
函数及其应用
函数的定义、函数的调用、被调用函数的声明和函数原型、函数的嵌套调用、函数的递归调用、数组作为函数参数、局部变量和全局变量、变量的存储方式和生存期、内部函数和外部函数。
10
模块7:
指针及其应用
指针变量及作用、数组指针及作用、函数指针及作用、指针数组和多重指针、动态内存分配
8
模块8:
结构化数据类型及应用
结构体类型的定义及应用、结构体数组的定义及应用、结构体指针及应用、共用体类型的定义及应用、枚举类型的定义及应用、typedef语句及应用。
8
模块9:
文件及其应用
C文件的有关基本知识、打开与关闭文件、顺序读写数据文件、随机读写数据文件。
4
半期考试
2
合计学时
(2)实验学时分配
序号
实验名称
实验类型
实验
要求
每组
人数
学时
分配
1
C程序的运行环境和运行方法
验证
必做
1
2
2
数据类型、运算符和简单的输入输出
设计、综合性
必做
1
2
3
顺序结构程序设计
设计、综合性
必做
1
2
4
选择结构程序设计
设计、综合性
必做
1
2
5
循环结构程序设计
设计、综合性
必做
1
2
6
数组的基本操作
设计、综合性
必做
1
2
7
函数的基本操作
设计、综合性
必做
1
3
8
指针的基本操作
设计、综合性
必做
1
3
9
用户自定义数据类型
设计、综合性
选做
1
0
10
文件操作
设计、综合性
选做
1
0
学时合计
注:
因所有实验项目在课内时间完成难度大,可安排在课外时间由学生自己完成。
二教材及主要参考书
建议选用教材
[1]谭浩强.C程序设计(第四版).北京:
清华大学出版社.2010.7
建议选用参考书:
[1]谭浩强.C程序设计(第四版)学习辅导.北京:
清华大学出版社.2010.7
[2]P.J.eitelC,H.M.Deitel.Howtoprogramsixthedition.NewJersey:
PearsonEducation,Inc.2010
三教学方法和教学手段说明
教学方法:
任务驱动法+敏捷开发法。
教学手段:
尽量采用多媒体技术。
四成绩考核办法
1、考试方式:
平时考核、期中考试(闭卷)、期末考试(闭卷)。
2、综合成绩计算:
按学校规定执行
五教学内容
模块1C语言概述(理论4学时,实验2学时)
一、教学目的
理解程序、程序设计、程序设计语言、C语言、C语言程序基本结构。
初步掌握C程序的编辑、编译、运行、调试的基本步骤与方法。
二、教学重点
C语言及相关概念、C程序基本结构。
掌握C程序的编辑、编译、运行、调试。
三、教学难点
C程序基本结构,C程序的编辑、编译、运行、调试。
四、讲授要求
须讲清、讲透C程序的基本结构。
五、讲授要点
C程序的基本结构,C程序的编辑、编译、运行、调试的基本步骤与方法。
六、实验及实践要求
实验一:
C程序的运行环境和运行方法
1、实验名称:
C程序的运行环境和运行方法
2、实验类型:
验证性
3、学时分配:
2学时
4、每组人数:
1人
5、实验目的:
熟悉所使用C编译集成环境,掌握编辑、编译、连接、运行、调试C程序的基本步骤与方法。
6、实验内容及要求:
由教师根据本实验的目的设计本实验的实验内容及要求。
模块2:
顺序结构程序设计(理论8学时,实验4学时)
一、教学目的
理解变量、数据类型、运算符、表达式、C语句概念,初步掌握数据的格式输入与输出,掌握顺序结构程序设计的基本思想、方法。
二、教学重点
变量、数据类型、运算符与表达式、C语句、数据的格式输入与输出、顺序结构程序设计的基本思想与方法。
三、教学难点
变量、数据类型、运算符与表达式、数据的格式输入与输出、顺序结构程序设计的基本思想与方法。
四、讲授要求
从存储结构的角度讲清、讲透变量、数据类型的本质及其作用。
五、讲授要点
变量、数据类型、运算符与表达式、数据的格式输入与输出、顺序结构程序设计的基本思想与方法。
六、实验及实践要求
实验二:
数据类型、运算符和简单的输入输出
1、实验名称:
数据类型、运算符和简单的输入输出
2、实验类型:
验证性、综合性
3、学时分配:
2学时
4、每组人数:
1人
5、实验目的:
理解C语言数据类型,了解字符型数据和整型数据的内在联系。
掌握对各种数值数据的正确输入方法。
学会使用C语言的算术运算符及算术表达式,特别是自增(++)和自减(--)运算符。
学会编写和运行简单的应用程序,进一步熟悉C程序的编辑、编译、连接和运行的过程。
6、实验内容及要求:
由教师根据本实验的目的设计本实验的实验内容及要求。
实验三:
顺序结构程序设计
1、实验名称:
顺序结构程序设计
2、实验类型:
验证性、综合性
3、学时分配:
2学时
4、每组人数:
1人
5、实验目的:
掌握赋值语句的使用方法。
掌握各种类型数据的输入输出的方法,能正确使用各种格式转义符。
进一步掌握编写程序、调试程序的方法。
6、实验内容及要求:
由教师根据本实验的目的设计本实验的实验内容及要求。
模块3:
选择结构程序设计(理论10学时,实验2学时)
一、教学目的
理解选择结构、if语句、关系运算符和关系表达式、逻辑运算符和逻辑表达式、条件运算符和条件表达式、选择结构的嵌套、switch语句。
掌握使用if语句、if语句的嵌套、switch语句语的基本应用。
二、教学重点
判断条件的表示、if语句、if语句的嵌套、switch语句及其基本应用。
三、教学难点
判断条件的表示、if语句的嵌套、switch语句及其基本应用。
四、讲授要求
采用任务驱动法,提出问题,引导学生分析问题、设计算法,并分别用if语句、if语句的嵌套、switch语句实现所设计的算法。
五、讲授要点
判断条件的表示、if语句、if语句的嵌套、switch语句及其基本应用。
六、实验及实践要求
实验四:
选择结构程序设计
1、实验名称:
选择结构程序设计
2、实验类型:
验证性、综合性
3、学时分配:
2学时
4、每组人数:
1人
5、实验目的:
了解C语言表示逻辑量的方法(数值0-假,数值1-真)。
学会正确使用逻辑运算符为逻辑表达式。
熟练掌握if语句的使用,特别是if语句的嵌套。
熟练掌握switch语句。
结合程序掌握一些简单的算法。
进一步学习调试程序的方法。
6、实验内容及要求:
由教师根据本实验的目的设计本实验的实验内容及要求。
模块4:
循环结构程序设计(理论10学时,实验2学时)
一、教学目的
理解while、do…while、for语句的语法格式及其作用;理解嵌套循环的语法格式及其作用;理解break和continue语句在循环结构中的作用。
掌握while、do…while、for、break、continue语句的基本应用。
二、教学重点
while语句、do…while语句、for语句、嵌套循环及其基本应用。
三、教学难点
嵌套循环及其基本应用。
四、讲授要求
采用任务驱动法,提出问题,引导学生分析问题、设计算法,分别用while、do…while、for语句实现所设计的算法。
五、讲授要点
讲法、讲透while语句、do…while语句、for语句的区别和各自适用的场合。
六、实验及实践要求
实验五:
循环结构程序设计
1、实验名称:
循环结构程序设计
2、实验类型:
验证性、综合性
3、学时分配:
2学时
4、每组人数:
1人
5、实验目的:
掌握用while语句、do…while语句和for语句实现循环的方法。
能用循环实现一些常用算法,如穷举、迭代、递推等。
进一步学习调试程序。
6、实验内容及要求:
由教师根据本实验的目的设计本实验的实验内容及要求。
模块5:
数组及其应用(理论8学时,实验2学时)
一、教学目的
理解一维数组、二维数组、字符数组的概念。
掌握一维数组、二维数组、字符数组的定义、初始化、数组元素的下标引用方法。
掌握字符数组的输入输出方法。
二、教学重点
一维数组、二维数组、字符数组的下标引用方法、字符数组的输入输出。
三、教学难点
一维数组、二维数组、字符数组的下标引用方法、字符数组的输入输出。
四、讲授要求
讲清、讲透一维数组、二维数组、字符数组的下标引用方法、字符数组的输入输出。
五、讲授要点
一维数组、二维数组、字符数组的下标引用方法、字符数组的输入输出。
六、实验及实践要求
实验六:
数组的基本操作
1、实验名称:
数组的基本操作
2、实验类型:
验证性、综合性
3、学时分配:
2学时
4、每组人数:
1人
5、实验目的:
掌握一维数组、二维数组的定义、赋值和输入输出的方法。
掌握字符数组和字符串函数的使用。
掌握与数组有关的算法,特别是排序算法。
6、实验内容及要求:
由教师根据本实验的目的设计本实验的实验内容及要求。
模块6:
函数及其应用(理论10学时,实验3学时)
一、教学目的
理解函数、函数调用、函数的声明和函数原型、函数嵌套调用、函数递归调用概念及其作用。
了解数组作为函数参数、局部变量和全局变量、变量的存储方式和生存期、内部函数和外部函数概