《C语言程序设计》教学大纲
课程名称:
| C语言程序设计
|
|
|
课程编号:
| 420003
| 408003
| 436003
|
适用专业:
| 网络工程
| 计算机科学与技术
| 软件工程
|
课程类别:
| 专业必修
|
|
|
课程学分:
| 4
|
|
|
总学时:
| 72
|
|
|
其中:理论学时
| 42
|
|
|
实验学时
| 30
|
|
|
先修课程:
| 无
|
一、课程的性质、目的与任务
《C语言程序设计》是网络工程专业、计算机科学与技术专业、软件工程专业的必修课,目的是使学生掌握一门高级程序设计语言,学会利用C语言解决一般应用问题,并为后续的专业课程奠定程序设计基础。主要任务是介绍C语言中的数据类型,运算,语句结构及其程序设计的基本方法。《C语言程序设计》是一门实践性很强的课程,必须通过上机操作才能掌握所学的知识,所以要特别强调讲授与上机操作相结合,要保证学生有充分的上机条件。
通过本课程的学习,要求学生达到:
1.掌握赋值语句的使用方法及各种类型数据的输入输出;
2.掌握实现选择和循环的编程方法,学习调试程序;
3.掌握一维、二维数组的定义、赋值和输入输出方法,掌握字符数组和字符串函数的使用,掌握与数组有关的算法(如排序算法)等;
4.掌握定义函数及调用函数的方法,初步掌握全局变量和局部变量的概念和使用方法;
5.通过实验进一步掌握指针的概念,学会定义和使用指针变量,能正确使用指向数组的指针变量,能正确使用指向字符串的指针变量;
6.掌握结构体类型变量的定义和使用,掌握结构体类型数组的概念和使用;
7.掌握文件以及文件指针的概念,初步学会使用文件的打开、关闭、读、写等文件操作函数。
二、课程教学基本内容与要求
第一章 C语言概述及程序设计基础
(一)基本教学内容
1.1 C语言程序设计的基本特点;
1.2 C语言程序设计的基本结构;
1.3 算法的概念及描述方法;
1.4 结构化程序的结构与描述工具;
1.5 程序编辑、编译方法;
(二)基本要求
教学目的:了解C语言的历史背景、C语言的特点、C语言源程序的结构、理解算法的概念、特点;理解并掌握结构化程序的三种基本结构和N-S结构流程图、掌握C程序的上机步骤,开发环境及其基本操作方法。
教学重点:C程序的基本结构;C程序的编辑、编译工具使用。
教学难点:使用流程图对算法的描述
第二章 简单的C语言编程
(一)基本教学内容
标识符、常量与变量的概念与定义;
2.1标识符
2.3常量与变量
2.4基本数据类型
2.5 C语言语句
2.6运算表达式与赋值语句
2.7位运算
2.8格式化输入输出语句
2.9字符数据的输入与输出
(二)基本要求
教学目的:了解标识符、常量与变量的概念;了解C语言中数据类型;了解表达式的概念及C语言中各种表达式的特点;理解数据类型转换,理解并掌握运算符的优先级与结合性,掌握位运算工作原理,掌握输入/输出格式。
教学重点:常量与变量的特点和区别;各种运算符的运算规则与优先级;各种表达式的运算结果;数据输入/输出;位运算。
教学难点:各种运算符的使用;各种表达式的计算;位运算。
第三章 选择结构程序设计
(一)基本教学内容
3.1 关系运算符和关系表达式;
3.2 逻辑运算符及逻辑表达式
3.3 条件运算符与条件表达式
3.4 if语句的结构与执行原理;
3.5 Switch语句的结构与执行原理;
3.6 复杂的分支结构程序设计;
(二)基本要求
教学目的:了解关系运算符与关系表达式;了解逻辑运算符与逻辑表达式;理解并掌握If语句与Switch语句的使用;理解并掌握复杂的分支结构程序设计
教学重点:if语句与switch语句的格式与执行原理;复杂分支结构程序的设计;
教学难点:嵌套的if语句;
第四章 循环结构程序设计
(一)基本教学内容
4.1 while语句
4.2 do...while语句
4.3 for语句
4.4三种循环语句的比较
4.5改变循环执行的状态
4.6多重循环
(二)基本要求
教学目的:了解Goto语句及用Goto语句构成循环;了解While语句、Do-While语句和For语句的语法和用法;理解Break语句与Continue语句的语法和用法;理解并掌握循环语句的工作原理与设计思想。
教学重点:for循环的格式与循环条件;while循环的格式与循环条件;do-while循环的格式与循环条件;嵌套循环的使用。
教学难点:嵌套循环定义与运行规则;while与do-while中死循环的预防。
第五章 数组
(一)基本教学内容
5.1 数组的概念与定义;
5.2 数组和数组元素;
5.3 一维数组的定义、数据间关系及数组的使用;
5.4 二维数组的定义、数据间关系及数组的使用;
5.5 字符数组的应用;
(二)基本要求
教学目的:了解一维数组的定义与引用;了解二维数组的定义与引用;理解并掌握字符数组的应用;
教学重点:一维数组的定义、初始化、引用;二维数组的定义、初始化、引用;字符的存储与数组的关系。
教学难点:二维数组的使用;字符串与数组的关系。
第六章 函数和编译预处理
(一)基本教学内容
6.1模块化程序设计
6.2函数的定义
6.3函数的调用
6.4函数的嵌套调用与递归调用
6.5数组做函数参数
6.6变量的作用域
6.7变量的存储类别
6.8内部函数和外部函数
(二)基本要求
教学目的:了解函数的定义;了解函数的参数和函数调用;理解函数的嵌套调用;理解递归的概念;理解数组作为函数的参数;理解变量的作用域及存储类别;理解宏定义、文件包含及条件编译。
教学重点:函数的定义、调用、参数;递归的原理;变量的作用域;编译预处理。
教学难点:函数的递归;变量的作用域;编译预处理。
第七章 结构体与共用体
(一)基本教学内容
7.1结构体类型及变量的定义
7.2结构体变量的初始化和引用
7.3结构体数组
7.4共用体
7.5枚举类型
7.6用typedef定义用户自定义类型
(二)基本要求
教学目的:了解结构体类型的定义;了解结构体变量的引用、初始化;理解结构体数组;理解指针与结构体数组;理解链表的概念与链表的相关操作;理解共用体与用户自定义类型。
教学重点:结构体定义;结构数组;链表。
教学难点:链表的增、删、改、遍历操作;共用体与结构体的区别。
第八章 指针
(一)基本教学内容
8.1相关概念
8.2指针变量的定义和使用
8.3指针变量做函数参数
8.4数组的指针和指向数组的指针变量
8.5字符串的指针和指向字符串的指针变量
8.6函数的指针和指向函数的指针变量
8.7返回指针值的函数
8.8指针数组和指向指针的指针
8.9指向结构体类型数据的指针
8.10用指针处理链表
(二)基本要求
教学目的:了解指针与地址的概念;理解变量的指针和指针变量的指针变量;理解数组的指针与指向数组的指针变量;理解字符串的指针与指向字符串的指针变量;理解指针与函数;理解指针数组;理解多级指针。
教学重点:指针与地址的概念;数组的指针及指向数组的指针变量;指向二维数组的指针;二级指针。
教学难点:指向二维数组的指针;指向字符串的指针。
第九章 文件
(一)基本教学内容
9.1 C文件的概念
9.2打开与关闭文件
9.3顺序读写文件数据
9.4随机读写文件数据
9.5文件检测函数
(二)基本要求
教学目的:理解文件类型指针;理解文件的相关操作。
教学重点:文件类型指针;文件的读写操作。
教学难点:文件操作;
三、课程各章节学时分配
序号
| 内容
| 理论学时
| 实验学时
|
计科
| 网工
| 软工
| 计科
| 网工
| 软工
|
1
| C语言概述及程序设计基础
| 2
| 2
| 2
|
|
|
|
2
| 简单的C语言编程
| 4
| 4
| 4
| 2
| 2
| 2
|
3
| 选择结构程序设计
| 2
| 2
| 2
| 2
| 2
| 2
|
4
| 循环结构程序设计
| 6
| 6
| 6
| 6
| 6
| 6
|
5
| 数组
| 6
| 6
| 6
| 4
| 4
| 4
|
6
| 函数
| 6
| 6
| 6
| 4
| 4
| 4
|
7
| 结构体与共用体
| 4
| 4
| 4
| 4
| 4
| 4
|
8
| 指针
| 8
| 8
| 8
| 6
| 6
| 6
|
9
| 文件
| 4
| 4
| 4
| 2
| 2
| 2
|
合计
| 42
| 42
| 42
| 30
| 30
| 30
|
四、本课程课外学习与修学指导
由于该课程是上述三个专业的第一门语言课程,涉及程序设计的基本思想、算法的实现、各种数据类型的应用,且具有很强的实践性,所以要学好本课程,必须做到理论与实践紧密结合,才能达到较好的学习效果。要求学生多上机实验,掌握程序的编写、调试,为后续课程的学习奠定良好的程序设计基础。
五、本课程考核方式及成绩评定标准
考核方式:闭卷考试
成绩评定标准:本课程的考核是平时成绩和期终考试成绩相结合,平时成绩的评定包括作业、课堂提问,平时成绩占课程考核成绩的20%,实验占20%,期末考试成绩占60%。
其中期未考试总分100分,基础题占50%,中等难度题占40%,较难题占10%。考试题型主要有:选择题、填空题、程序填空题、程序分析题、程序设计题等。
六、教材及参考书
教材:《C语言程序设计》,羊四清、易叶青主编,北京:中国水利水电出版社,2012.1
主要参考书:
[1]谭浩强著.《C程序设计》(第三版).北京:清华大学出版社,2005
[2]杨路明主编.《C语言程序设计》.北京:北京邮电大学出版社,2005
[3]谭浩强著.《C程序设计题解与上机指导》.北京:高等教育出版社,2005
[4]杨路明主编.《C语言程序设计上机指导与习题解答》.北京:北京邮电大学出版社,2005
大纲撰写人:阙清贤
大纲审阅人: 罗如为
教学副主任:
编写日期:2012.6