总学时数: 54+36 学分: 3 适用专业: 全校各本科专业
• 课程教学目标
对计算机学科来说, C 语言是计算机学科的基础之一,更是软件技术的基础。学习本门课的知识目标是:掌握 C 语言的基本语法和编程能力。能力目标是:提高学生解决实际问题的能力、提高学生的算法设计和编写高效程序的能力。情感目标是:通过相互合作,做一些综合性的和设计性实验或做一些大的作业培养学生的团队精神。
二、课程的性质、目的和任务
《 C 语言》是计算机专业的一门专业基础课。主要任务是使学生掌握 C 程序设计语言的基本知识,并可运用 C 语言编写应用程序完成特定任务。
通过本课程的学习,使学生深入理解编写 C 语言程序的基本思想,培养学生分析问题、解决问题的能力,培养基本的、良好的程序设计能力,为学习《数据结构》、《操作系统》等课程奠定基础。
三、课程的教学基本要求
熟练掌握 C 数据类型、运算符和表达式、控制结构、数组、函数、指针、结构体和文件等知识,具备基本的 C 语言编程能力。
四、课程教学内容
• C语言概述(共2学时)
(一)本章教学基本要求
本章讨论的是 C 语言的相关知识及基本概念。通过本章学习,学生要了解 C 语言发展过程,掌握基本的概念,熟悉 C 语言程序结构。
1.1 C语言出现的历史背景(0.5学时)
教学内容: C语言的发展过程
1.2 C语言的特点(0.5学时)
教学内容:阐述 C语言的8个特点。
1.3 简单的C程序(1学时)
教学内容:阐述 C语言程序的结构。
(二)重点与难点
重点: 掌握 C语言 的特点,熟悉 C语言程序的结构 。
难点: C语言程序的结构中函数结构 。
(三)小结
本章主要介绍 C 语言的相关知识(如发展过程、特点等), C语言程序的结构 。
• 程序的灵魂—算法(共 3学时)
(一)本章教学基本要求
了解算法的概念和特点,能够把一个实际问题用算法来描述,并用 C语言程序实现;掌握结构化程序设计方法。
2.1 算法的概念(0.5学时)
教学内容:阐述算法的概念,并通过举例引入算法。
2.2 简单算法举例(0.5学时)
教学内容:把算法应用到实例中,进一步理解算法。
2.3 算法的特性(0.5学时)
教学内容:阐述算法的特点,算法的 5个特点:有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性。。
2.4 怎样表示一个算法(1学时)
2.4.1 用自然语言表示算法
教学内容:阐述使用自然语言表示算法的缺点。
2.4.2 用流程图表示算法
教学内容:阐述流程图表示算法的方法,并举例说明。
2.4.3 三种基本结构和改进的流程图
教学内容:阐述三种基本结构,并使用流程图表示这三种基本结构。
2.4.4 用N-S流程图表示算法
教学内容:阐述 N-S 流程图的表示方法, 并举例说明。
2.4.5 用伪代码表示算法
教学内容:阐述 伪代码表示算法的表示方法, 并举例说明。
2.4.6 用计算机语言表示算法
教学内容:阐述 用 C 语言程序来表示算法, 并举例说明。
2.5 结构化程序设计方法 ( 0.5学时)
教学内容:阐述结构化程序设计方法的基本思想,并结构化程序设计方法应用到实例中。
(二)重点与难点
重点: 掌握算法的特点和程序的三种基本结构,能够使用流程表示算法。
难点: 使用流程表示算法 。
(三)小结
本章主要介绍算法的概念,以及使用流程表示算法。
第 3章 数据类型、运算符与表达式(共6学时)
• 本章教学基本要求
掌握数据类型的定义方法、各种运算符的优先级和结合性、表达式的运算方式。熟练掌握栈的不同数据类型运算时的相互转换。
3.1 C语言的数据类型 (0.5学时)
教学内容:阐述 C语言数据类型的分类及关系。
3.2 常量与变量(0.5学时)
3.2.1 常量和符号常量
教学内容:阐述常量的概念,及常量命名的习惯。
3.2.2 变量
教学内容:阐述常量的概念,及标识符命名的规则。
3.3 整型数据(0.5学时)
3.2.1 整型常量的表示方法
教学内容:阐述整型常量的表示形式,包括二进制、八进制和十六进制。
3.2.2 整型变量
教学内容:阐述整型常量的定义,整型常量的分类,整型常量在内存中存放方式,整型常量的溢出。
3.2.3 整型常量的类型
教学内容:阐述整型常量的类型。
3.4 实型数据(0.5学时)
3.4.1实型常量的表示方法
教学内容:阐述实数的表示方式,包括:十进制小数形式和指数形式。
3.4.2 实型变量
教学内容:阐述实数的定义,实数的分类,实数在内存中存放方式,实数的舍入误差。
3.4.3 实型常量的类型
教学内容:阐述实型常量的类型。
3.5 字符型数据(0.5学时)
3.5.1字符常量
教学内容:阐述字符常量的表示方式,转义字符的含义。
3.5.2字符变量
教学内容:阐述字符变量的定义。
3.5.3字符数据在内存中的存储形式及使用方法
教学内容:阐述字符数据在内存中的存储形式及使用方法。
3.5.2字符串常量
教学内容:阐述字符串常量的定义。
3.6 变量赋初值 (0.5学时)
教学内容:阐述变量的赋值形式。
3.7 各类数值型数据之间的混合运算(0.5学时)
教学内容:阐述 C语言中各类数值型数据之间的混合运算及数据转换规则。
3.8 算术运算符和算术表达式(1学时)
3.8.1 C运算符简介
教学内容:阐述运算符及其分类。
3.8.2 算术运算符和算术表达式
教学内容:阐述算术运算符的优先级和结合性,算术表达式的运算规则。
3.9 赋值运算符和赋值表达式(1学时)
教学内容:阐述赋值运算符和复合的赋值运算符的使用规则。
3.10 逗号运算符和逗号表达式(0.5学时)
教学内容:阐述逗号运算符的运算规则,逗号表达式的使用方法。
(二)重点与难点
重点: 掌握数据类型的定义,表达式的运算规则。
难点: 不同类型的数值型数据之间的混合运算及数据转换规则。
(三)小结
本章主要介绍变量和表达式的定义和运算规则。
• 最简单的 C程序设计——顺序程序设计(共3学时)
(一)本章教学基本要求
熟悉 C语言程序结构,掌握数据的输入输出函数,掌握简单的顺序C语言程序设计。
4.1 C语句概述(0.25学时)
教学内容:阐述 C 语言程序结构 , C 语言的语句分类 。
4.2 赋值语句(0.25学时)
教学内容:阐述赋值语句的使用方式。
4.3 数据输入输出的概念及在C语言中的实现(0.5学时)
教学内容:阐述数据输入输出的实现方式。
4.4 字符数据的输入输出(0.5学时)
4.4.1 putchar 函数(字符输出函数)
教学内容:阐述 putchar函数的使用方法。
4.4.1 getchar 函数(字符输入函数)
教学内容:阐述 getchar函数的使用方法。
4.5 格式输入与输出(1学时)
4.5.1 printf函数(格式输出函数)
教学内容:阐述 printf 函数的使用方法。
4.5.1 scanf 函数(格式输入函数)
教学内容:阐述 scanf函数的使用方法。
4.6 顺序结构程序设计举例(0.5学时)
教学内容:举例说明顺序结构程序设计。
(二)重点与难点
重点: 掌握数据格式化输入输出,掌握顺序结构程序设计。
难点: 掌握数据格式化输入输出。
(三)小结
本章主要介绍 数据的格式化输入输出 。
• 选择结构程序设计(共 4学时)
(一)本章教学基本要求
熟悉 C语言选择结构,掌握关系运算符和逻辑运算符的使用方法及其优先次序的判定方法,掌握if语句和switch语句的使用,运用if语句和switch语句实现选择结构。
5.1 关系运算符和关系表达式(0.5学时)
5.1.1 关系运算符及其优先次序
教学内容:阐述关系运算符及其优先次序的判定。
5.1.2 关系表达式
教学内容:阐述关系表达式。
5.2 逻辑运算符和逻辑表达式(0.5学时)
5.2.1 逻辑运算符及其优先次序
教学内容:阐述逻辑运算符及其优先次序的判定。
5.2.2 逻辑表达式
教学内容:阐述逻辑表达式。
5.3 if 语句(1.5学时)
5.3.1 if 语句的三种形式
教学内容:阐述 if语句的三种形式及使用方法。
5.3.2 if 语句的嵌套
教学内容:阐述 if语句的嵌套的使用方法。
5.3.3 条件运算符
教学内容:阐述条件运算符的使用方法。
5.4 Switch 语句 (0.5学时)
教学内容:阐述多分支选择语句 switch语句的使用方法。
5.5 程序举例(1学时)
教学内容:程序实例讲解本章重要语句的使用。
(二)重点与难点
重点: 掌握关系运算符和逻辑运算符的使用方法及其优先次序的判定方法,掌握 if语句和switch语句的使用。
难点: 掌握 if语句和switch语句的使用。
(三)小结
本章主要介绍 关系运算符和逻辑运算符的使用方法及其优先次序的判定方法,掌握 if语句和switch语句的使用,并运用程序实例进行讲解。
第 6章 循环控制(共4学时)
(一)本章教学基本要求
熟悉 C语言循环结构,掌握goto语句、do-while语句、for语句、break语句等语句的使用,并运用这些语句实现选择结构。
6.1 概述(0.25学时)
教学内容:概述本章主要内容。
6.2 goto语句以及用goto语句构成循环(0.25学时)
教学内容:阐述无条件转向语句 goto语句的一般形式及使用方法。
6.3 while 语句(0.5学时)
教学内容:阐述 while语句的使用方法及“当型”循环结构的实现。
6.4 do-while 语句 (0.5学时)
教学内容:阐述 do-while语句的使用方法及与“当型”循环结构的区别。
6.5 for 语句 (0.5学时)
教学内容:阐述的一般形式及使用方法。
6.6 循环的嵌套(0.5学时)
教学内容:阐述循环结构的形式及三种循环的嵌套。
6.7 几种循环的比较(0.5学时)
教学内容:阐述几种循环的不同点及使用。
6.8 break 语句和 continue 语句(0.5学时)
6.8.1 break 语句
教学内容:阐述的一般形式及使用方法。
6.8.2 continue 语句
教学内容:阐述 continue语句的一般形式及使用方法。
6.9 程序举例(0.5学时)
教学内容:程序实例讲解本章重要语句的使用及循环结构的实现。
(二)重点与难点
重点: 掌握 goto 语句、 do-while语句 、 for语句 、 break语句 等语句的使用,并运用这些语句实现选择结构。
难点: 掌握各种语句的使用,运用本章学习的语句实现循环结构。
(三)小结
熟悉 C 语言循环结构,掌握 goto 语句、 do-while 语句、 for 语句、 break 语句等语句的使用,并运用这些语句实现选择结构,并运用程序实例进行分析讲解。
第 7章 数组 (共4学时)
(一)本章教学基本要求
了解如何在 C语言中定义和使用数组。
7.1 一维数组的定义和引用(0.5学时)
7.1.1 一维数组的定义
教学内容:阐述如何定义一维数组。
7.1.2一维数组的引用
教学内容:阐述如何引用一维数组中的元素。
7.1.3 一维数组的初始化
教学内容:阐述如何对一维数组元素初始化。
7.1.4 一维数组程序举例
教学内容:举例如何使用一维数组。
7.2 二维数组的定义和引用(1.5学时)
7.2.1 二维数组的定义
教学内容:阐述如何定义一个二维数组。
7.2.2 二维数组的引用
教学内容:阐述如何引用二维数组中的元素。
7.2.3 二维数组的初始化
教学内容:阐述对二维数组元素初始化。
7.2.4 二维数组程序举例
教学内容:举例如何使用二维数组。
7.3字符数组(2学时)
7.3.1 字符数组的定义
教学内容:阐述如何定义一个字符数组。
7.3.2 字符数组的初始化
教学内容:阐述对字符数组中的各元素初始化。
7.3.3 字符数组的引用
教学内容:阐述如何引用字符数组中的元素。
7.3.4 字符串和字符串结束标志
教学内容 :阐述如何结束一个字符串。
7.3.5 字符数组的输入输出
教学内容 :阐述如何对一个字符串进行输入输出。
7.3.6 字符串处理函数
教学内容 :阐述如何C的函数库中函数来处理字符串的函数。
7.3.7 字符数组引用举例
教学内容 :举例介绍使用字符数组。
(二)重点与难点
重点: 掌握数组的定义、引用和初始化。
难点: 掌握数组的定义和使用
(三)小结
本章主要介绍如何在 C语言中定义和使用数组
第 8章 函数 (共 6学时)
(一)本章教学基本要求
了解掌握 C语言中函数的使用
8.1 概述( 0.25学时)
教学内容:阐述 C语言函数的基本概念
8.2 函数定义的一般形式( 0.25学时)
教学内容:阐述有参函数的定义形式一无参憾事的定义形式以及对形参的声明的传统方式
8.3 函数参数和函数的值( 0.5学时)
8.3.1 形式参数和实际参数
教学内容:阐述什么是形式参数和实际参数及对它们的一些说明
8.3.2 函数的返回值
教学内容:阐述如何获得函数的返回值、返回值的类型以及如何不带回函数值
8.4 函数的调用( 0.5学时)
8.4.1 函数调用的一般形式
教学内容:阐述如何调用一个函数 (调用函数的一般形式)
8.4.2 函数调用的方式
教学内容:阐述三种函数调用的方式 (函数语句、函数表达式、函数参数)
8.4.3 对被调用函数的声明和函数原型
教学内容:阐述调用函数需要具有的条件、函数原型的一般形式及对其的说明
8.5 函数的嵌套调用( 0.5学时)
教学内容:阐述如何对函数嵌套调用
8.6 函数的递归调用( 1学时)
教学内容:阐述如何对函数递归调用
8.7 数组作为函数参数( 1学时)
教学内容:阐述如何用数组元素、数组名和多维数组名做函数参数
8.8 局部变量和全局变量( 0.5学时)
8.8.1 局部变量
教学内容:阐述什么是局部变量及对简单说明
8.8.2 全局变量
教学内容:阐述什么是全部变量及对简单说明
8.9 变量的存储类别( 1学时)
8.9.1 动态存储方式与静态存储方式
教学内容:阐述变量的两种存储方式
8.9.2 auto变量
教学内容:掌握用 auto 变量声明自动变量
8.9.3 用 static声明局部变量
教学内容:掌握用 static声明静态局部变量
8.9.4 register变量
教学内容:掌握用 register声明寄存器变量.
8.9.5 用 extern声明外部变量
教学内容:掌握用 extern在一个文件内或多文件的程序中来声明外部变量以扩展外部变量的作用域
8.9.6 用 static声明外部变量
教学内容:掌握用 static声明外部变量使其只限于本文件引用
8.9.7 关于变量的声明和定义
教学内容:掌握变量的声明和定义之间的区分
8.9.8 存储类别小结
教学内容:对存储类别做小结
8.10 内部函数和外部函数( 0.5学时)
8.10.1 内部函数
教学内容:掌握如何定义内部函数
8.10.2 外部函数
教学内容:掌握如何定义外部函数
(二)重点与难点
重点:掌握 C语言中函数的使用,如函数参数的定义、函数的递归调用、嵌套调用等,以及声明函数变量的四种变量
难点:对函数的递归和嵌套调用
(三)小结
本章主要介绍 C语言中函数的使用,要求学生熟悉这些内容。
第 9章 预处理命令(共4学时)
(一)本章教学基本要求
熟悉 C语言提供的预处理功能,能够用宏定义、文件包含命令、条件编译命令来实现。
9.1 宏定义(2学时)
9.1.1 不带参数的宏定义
教学内容:不带参数宏定义命令的一般形式: #define 标识符 字符串,宏定义的注意事项。
9.1.2 带参数的宏定义
教学内容:带参数宏定义命令的一般形式: #define 宏名(参数表) 字符串,宏定义的注意事项。
9.2 “文件包含”处理(1学时)
教学内容:阐述文件包含的一般形式: #include "文件名"或 #include<文件名>,注意文件包含命令的说明。
9.3 条件编译(1学时)
教学内容:了解条件编译的三种形式。
(二)重点与难点
重点: 预处理命令的几种形式。
难点: "文件包含"处理的使用。
(三)小结
本章主要介绍 预处理命令的使用方法。
第 10章 指针(共8学时)
(一)本章教学基本要求
熟悉 C语言的指针,掌握指针的灵活应用,有效地表示复杂的数据结构,从而使程序简洁、紧凑、高效。
10.1 地址和指针的概念(0.5学时)
教学内容:阐述 指针的概念 ,区分指针和指针变量两个概念。
10.2 变量的指针和指向变量的指针变量(0.5学时)
10.2.1 定义一个指针变量
教学内容:介绍定义指针变量的一般形式。
10.2.2 指针变量的引用
教学内容:通过举例介绍指针变量的引用过程。
10.2.3 指针变量作为函数参数
教学内容:阐述函数的参数类型,介绍所指变量的概念。
10.3 数组与指针(2学时)
10.3.1 指向数组元素的指针
教学内容:阐述指向数组元素的指针的定义方法。
10.3.2 通过指针引用数组元素
教学内容:介绍指针变量的有关内容,及如何通过指针引用数组元素。
10.3.3 用数组名作函数参数
教学内容:举例说明用数组名作函数参数的方法,并重点把用为量名作为函数参数和用数组名作为函数参数作一比较。
10.3.4 多维数组与指针
教学内容:阐述多维数组元素的地址,介绍指向多维数组元素的指针变量,以及用指向数组的指针作函数参数。
10.4 字符串与指针(1.5学时)
10.4.1 字符串的表示形式
教学内容:掌握字符串的表示形式及两种表示方法。
10.4.2 字符串指针作函数参数
教学内容:了解将一个字符串从一个函数传递到另一个函数的方法。
10.4.3 对使用字符指针变量和字符数组的讨论
教学内容:通过举例介绍字符指针变量和字符数组的讨论。
10.5 指向函数的指针(0.5学时)
10.5.1 用函数指针变量调用函数
教学内容:了解指向函数的指针变量的一般定义形式。
10.5.2 用指向函数的指针函数参数
教学内容:掌握用指向函数的指针函数参数。
10.6 返回指针值的函数(0.5学时)
教学内容:了解带回指针值的函数的一般定义形式。
10.7 指针数组和指向指针的指针(1.5学时)
10.7.1 指针数组的概念
教学内容:掌握一维指针数组的定义形式。
10.7.2 指向指针的指针
教学内容:掌握指向指针的指针类型及定义一个指向指针数据的指针变量。
10.7.3 指针数组作main函数的形参
教学内容:了解命令行的一般形式,介绍指针数组作 main函数的形参。
10.8 有关指针的数据类型和指针运算的小结(1学时)
10.8.1 有关指针的数据类型的小结
教学内容:通过表来介绍有关指针的数据类型。
10.8.2 指针运算小结
教学内容:掌握指针的运算规则及方法。
10.8.3 void指针类型
教学内容:了解 void指针类型。
(二)重点与难点
重点: 掌握数组与指针,掌握变量的指针及指向变量的指针变量。
难点: 掌握指向函数的指针及返回指针值的函数。
(三)小结
本章主要介绍 指针的类型及应用 。
• 结构体与共同体(共 4学时)
(一)本章教学基本要求
熟悉结构体与共用体的定义方法,掌握结构体与共用体的使用。
11.1 概述(0.25学时)
教学内容:引入结构体与共同体的必要性。
11.2 定义结构体类型变量的方法(0.25学时)
教学内容:定义结构体类型变量的两种方法,一是先声明结构体类型再定义变量名,二是在声明类型的同时定义变量。
11.3 结构体变量的引用(0.25学时)
教学内容:结构体变量中引用成员的方式为:结构体变量名 .成员名,结构体变量引用的注意事项。
11.4 结构体变量的初始化(0.25学时)
教学内容:阐述结构体变量的初始化方法。
11.5 结构体数组(0.5学时)
11.5.1 定义结构体数组
教学内容:阐述定义结构体数据的方法。
11.5.2 结构体数组的初始化
教学内容:阐述结构体数组的初始化方法:={初值列表}
11.5.1 结构体数组应用举例
教学内容:通过例子进一步阐述结构体数据的使用方法。
11.6 指向结构体类型数据的指针(0.5学时)
11.6.1 指向结构体变量的指针
教学内容:结构体变量的指针成员的引用方法。
11.6.2 指向结构体数组的指针
教学内容:阐述指向结构体数组的指针和需要注意的两点要求。
11.6.3 用结构体变量和指向结构体的指针作函数参数
教学内容:将一个结构体变量的值传递给另个函数的三种方法。
11.7 用指针处理链表(1学时)
11.7.1 链表概述
教学内容:直观形象的表示链表及一般方法。
11.7.2 简单链表
教学内容:阐述如何建立和输出一个简单链表。
11.7.3处理动态链表所需的函数
教学内容:阐述 malloc函数、calloc函数、free函数的使用方法。
11.7.4 建立动态链表
教学内容:通过一个简单的实例说明动态链表的建立。
11.7.5 输出链表
教学内容:阐述输出链表的方法。
11.7.6对链表的删除操作
教学内容:阐述删除链表的方法。
11.7.7 对链表的插入操作
教学内容:阐述链表插入操作方法。
11.7.8 对链表的综合操作
教学内容:通过一个实例加深对链表操作的理解。
11.8 共用体(0.5学时)
11.8.1共用体的概念
教学内容:定义共同体类型变量的一般形式: union 共同体名{成员列表}变量表列。
11.8.2 共用体变量的引用方式
教学内容:阐述共用体变量的引用方法。
11.8.3 共用体类型数据的特点
教学内容:阐述共用体类型数据时要注意的一些特点。
11.9 枚举类型(0.25学时)
教学内容:阐述枚举类型的使用方法。
11.10 用typedef定义类型(0.25学时)
教学内容:阐述 typedef函数的使用方法。
(二)重点与难点
重点: 掌握结构体与共同体的一般定义和使用方法,链表的添加、删除操作。
难点: 链表的综合操作。
(三)小结
本章主要介绍 结构体和共用体的使用方法 。
第 12章 位运算(共2学时)
(一)本章教学基本要求
熟悉 C语言的运算符,熟练使用位运算符和位运算。
12.1 位运算符和位运算(1学时)
12.1.1 “按位与”运算符(&)
教学内容:阐述 “按位与”运算符 的使用方法。
12.1.2 按位或运算符(|)
教学内容:阐述 按位或运算符的 使用方法。
12.1.3 “异或”运算符(∧)
教学内容:阐述 “异或”运算符 的使用方法。
12.1.4 “取反”运算符(~)
教学内容:阐述 “取反”运算符 的使用方法。
12.1.5 左移运算符(<<)
教学内容:阐述 左移运算符的 使用方法。
12.1.6 右移运算符(>>)
教学内容:阐 述右移运算符的 使用方法。
12.1.7位运算赋值运算符
教学内容: 阐述位运算赋值运算符的使 用方法。
12.1.8不同长度的数据进行位运算
教学内容:阐 述不同长度的数据进行位运算 的使用方法。
12.2 位运算举例(0.5学时)
教学内容: 位运算举例 。
12.3 位段 (0.5学时)
教学内容:阐述位段的 使用方法。
(二)重点与难点
重点: 掌握位运算符和位运算的使用方法,掌握 位段的 使用方法。
难点: 掌握位运算符和位运算的使用方法。
(三)小结
本章主要介绍 C 语言的运算符和位运算,熟练使用位运算符和位运算。
第 13章 文件(共4学时)
(一)本章教学基本要求
熟悉 C语言的文件输入输出函数,掌握 fputc 函数、 fgetc函数、fread函数等函数的使用方法,并运用这些语句实现对文件的操作。
13.1 C文件概述(0.25学时)
教学内容:概述本章主要内容。
13.2 文件类型指针(0.25学时)
教学内容:阐述文件类型指针及其使用。
13.3 文件的打开与关闭(0.5学时)
13.3.1 文件的打开(fopen函数)
教学内容:阐述文件的打开的方法。
13.3.2 文件的关闭(fopen函数)
教学内容:阐述文件的关闭的方法。
13.4 文件的读写 (2学时)
13.4.1 fputc 函数和fgetc函数(putc函数和getc函数)
教学内容:阐述 fputc 函数和 fgetc函数的使用方法。
13.4.2 fread函数和fwrite函数
教学内容:阐述 fread函数和fwrite函数的使用方法。
13.4.3 fprintf函数和fscanf函数
教学内容:阐述 fprintf函数和fscanf函数的使用方法。
13.4.4 其他读写函数
教学内容:介绍其他读写函数。
13.5 文件的定位 (0.5学时)
13.5.1 rewind函数
教学内容:阐述 rewind 函数的使用方法。
13.5.2 fseek函数和随机读写
教学内容:阐述 fseek 函数和随机读写的使用方法。
13.5.3 ftell函数
教学内容:阐述 ftell 函数的使用方法。
13.6 出错的检测(0.25学时)
13.6.1 ferror函数
教学内容:阐述 ferror 函数的使用方法。
13.6.2 clearerr函数
教学内容:阐述 clearer 函数的使用方法。
13.7 文件输入输出小结(0.25学时)
教学内容:概括总结本章介绍过的函数。
(二)重点与难点
重点: 掌握 fputc 函数 、 fgetc函数 、 fread函数 等函数的使用方法,并运用这些语句实现对文件的操作。
难点: 熟练掌握 fputc 函数 、 fgetc函数 、 fread函数 等函数的使用方法。
(三)小结
熟悉 C语言的文件输入输出函数,掌握 fputc 函数、 fgetc函数、fread函数等函数的使用方法,并运用这些语句实现对文件的打开与关闭、读写等基本操作。
五、本课程与其它课程的关系
本课程的先修课程是《计算机文化基础》;后续课程是《数据结构》、《操作系统》、《 VC》等。其中,C语言的语法是算法设计的基础,《操作系统》和《数据结构》中的算法、《编译原理》的词法分析、语法分析都采用C语言来描述。
六、 教学时数分配
《数据结构》课程 教学时数分配
总学时数: 54+36 学分:3
章节 | 各章标题名称 | 讲授 学时 | 实验(实践)学时 | 辅导学时 | 备注 |
第一章 | C语言概述 | 2 | 实验学时没填写的 26个学时,其中: 两个综合性实验共用 12学时,两个设计性实验共用14学时 | ||
第二章 | 程序的灵魂——算法 | 3 | |||
第三章 | 数据类型、运算符与表达式 | 6 | |||
第四章 | 最简单的 C程序设计——顺序程序设计 | 3 | |||
第五章 | 选择结构程序设计 | 4 | |||
第六章 | 循环控制 | 4 | 4 | ||
第七章 | 数组 | 4 | |||
第八章 | 函数 | 6 | 6 | ||
第九章 | 预处理命令 | 4 | |||
第十章 | 指针 | 8 | |||
第十一章 | 结构体与共用体 | 4 | |||
第十二章 | 位运算 | 2 | |||
第十三章 | 文件操作 | 4 |
七、实验内容与 学时分配
《数据结构》课程实验 教学一览表
序号 | 实验项目名称 | 学时 | 实验类型(验证、综合、设计) | 是否为开放实验 | 备注 |
1 | 判断某一年是否为闰年 | 4 | 验 证 | ||
2 | 汉诺塔问题的实现 | 6 | 验 证 | ||
3 | 输出 9*9 口诀 | 6 | 设 计 | ||
4 | 将一个数组逆序输出。 | 6 | 设 计 | ||
5 | 链表的实现 | 6 | 综 合 | ||
6 | 用文件存储职工信息 | 8 | 综 合 |
八、教学参考书目
主教材: 《 C程序设计》(第二版) 谭浩强 著 清华大学出版社
参考教材:
1.《C++编程思想》 Bruce Eckel 编著 机械工业出版社
2.《C++大学教程》 Harvey M.Deitel编著 电子工业出版社
3.《C++程序设计教程》 钱能 编著 清华大学出版社
4.《C++程序设计基础》 张基温 编著 高等教育出版社
九、主要教学方法与媒体要求
采用多媒体课件讲授为主,结合辅导、面授或电子邮件答疑,进行必要的上机实验。
十、推荐教学网站和相关专业文献网站
http://www.cstudyhome.com/wenzhang06/default.asp
http://www.pcedu.org/Soft/Ebook/Program/CC/200508/2005080210311.html
http://www.bc-cn.net/bbs/index.asp?boardid=1
制 订:计算机公修教研室
执笔人:李双群
审定人:邹健