实验部分 基本要求:熟练地掌握程序设计的全过程,即独立编写出源程序,独立上机 调试程序,独立运行程序和分析结果。 项目总表:其中9个实验项目全为必做。 序号 实验项目名称 学时数项目类别 项目类型 C程序的运行环境和运行C程序的方法 2 基础 必做 2 数据类型、运算符和表达式 2 基础 必做 3 顺序结构程序设计 设计 必做 选择结构程序设计 单 必做 循环结构程序设计 6 设计 必做 6 数组 6 设计 必做 函数 6 设计 必做 指针 必做 9 结构体 2 设计 必做 实验内容: 1.C程序的运行环境和运行一个C程序的方法 实验内容:熟悉Visual C+系统环境,输入并运行一个简单的程序。 实验目的:了解Visual C+系统的使用方法,掌握在该系统上如何编辑 编译和运行一个程序。 实验要求:事先准备好待运行的一个C程序。 2.数据类型、运算符和表达式 实验内容:输入并运行有关C的数据类型、运算符和表达式的程序。 实验目的:掌握C语言数据类型,掌握不同类型数据之间的赋值规律,学会 使用算术运算符。 实验要求:事先准备好五个有关C语言的数据类型、算术运算符和表达式的 程序。 3.顺序结构程序设计 实验内容:掌握格式转换符的使用方法:按习题4.8要求编写程序:利用字
实验部分 基本要求:熟练地掌握程序设计的全过程,即独立编写出源程序,独立上机 调试程序,独立运行程序和分析结果。 项目总表:其中 9 个实验项目全为必做。 实验内容: 1.C 程序的运行环境和运行一个 C 程序的方法 实验内容:熟悉 Visual C++系统环境,输入并运行一个简单的程序。 实验目的:了解 Visual C++系统的使用方法,掌握在该系统上如何编辑、 编译和运行一个程序。 实验要求:事先准备好待运行的一个 C 程序。 2.数据类型、运算符和表达式 实验内容:输入并运行有关 C 的数据类型、运算符和表达式的程序。 实验目的:掌握 C 语言数据类型,掌握不同类型数据之间的赋值规律,学会 使用算术运算符。 实验要求:事先准备好五个有关 C 语言的数据类型、算术运算符和表达式的 程序。 3.顺序结构程序设计 实验内容:掌握格式转换符的使用方法;按习题 4.8 要求编写程序;利用字 序号 实验项目名称 学时数 项目类别 项目类型 1 2 3 4 5 6 7 8 9 C 程序的运行环境和运行 C 程序的方法 数据类型、运算符和表达式 顺序结构程序设计 选择结构程序设计 循环结构程序设计 数组 函数 指针 结构体 2 2 2 2 6 6 6 8 2 基础 基础 设计 设计 设计 设计 设计 设计 设计 必做 必做 必做 必做 必做 必做 必做 必做 必做
符输入输出函数编写程序。 实验目的:掌握赋值语句的使用方法:掌握各种类型数据的输入输出方法, 能正确使用各种格式转换符。 实验要求:事先准备好有关格式转换符、习题3.1、3.2、3.3、3.6、3.7 对应的程序。 4.选择结构程序设计 实验内容:上机输入并调试运行五个选择结构程序。 实验目的:学会运用if语句和switch语句设计选择结构程序。 实验要求:事先编制好习题4.5、4.8、4.9、4.10、412对应的程序。 5.循环结构程序设计 实验内容:输入十二个循环结构程序,并上机调试运行。 实验目的:掌握用while语句、do-while语句和for语句实现循环的方法。 实验要求:事先编写好习题5.3、5.4、5.5、5.6、5.8、5.9、5.10、5.11、 5.12、5.14、5.16、5.17对应的程序。 6.数组 实验内容:输入十个有关数组的程序,并上机调试运行。 实验目的:掌握一维数组和二维数组的定义、赋值和输入输出的方法:掌握 与数组有关的算法(特别是排序算法)。 实验要求:事先编制好习题6.1、6.2、6.3、6.4、6.5、6.6、6.8、6.9、 6.10和6.11对应的程序。 7.函数 实验内容:输入十三个有关函数的程序,并上机调试运行。 实验目的:掌握定义函数的方法;掌握函数实参与形参的对应关系及值传递 的方式;掌握嵌套调用和递归调用的方法:掌握全局变量和局部变量及动态变量 和静态变量的概念和使用方法;学习对多文件程序的编译和运行。 实验要求:事先编制好习题7.1、7.2、7.3、7.4、7.5、7.6、7.7、7.8、 7.9、7.10、7.11、7.13和7.14对应的程序。 8.指针 实验内容:输入十五个用指针方法实现的程序,并上机调试运行
符输入输出函数编写程序。 实验目的:掌握赋值语句的使用方法;掌握各种类型数据的输入输出方法, 能正确使用各种格式转换符。 实验要求:事先准备好有关格式转换符、习题 3.1、3.2、3.3、3.6、3.7 对应的程序。 4.选择结构程序设计 实验内容:上机输入并调试运行五个选择结构程序。 实验目的:学会运用 if 语句和 switch 语句设计选择结构程序。 实验要求:事先编制好习题 4.5、4.8、4.9、4.10、4.12 对应的程序。 5.循环结构程序设计 实验内容:输入十二个循环结构程序,并上机调试运行。 实验目的:掌握用 while 语句、do-while 语句和 for 语句实现循环的方法。 实验要求:事先编写好习题 5.3、5.4、5.5、5.6、5.8、5.9、5.10、5.11、 5.12、5.14、5.16、5.17 对应的程序。 6.数组 实验内容:输入十个有关数组的程序,并上机调试运行。 实验目的:掌握一维数组和二维数组的定义、赋值和输入输出的方法;掌握 与数组有关的算法(特别是排序算法)。 实验要求:事先编制好习题 6.1、6.2、6.3、6.4、6.5、6.6、6.8、6.9、 6.10 和 6.11 对应的程序。 7.函数 实验内容:输入十三个有关函数的程序,并上机调试运行。 实验目的:掌握定义函数的方法;掌握函数实参与形参的对应关系及值传递 的方式;掌握嵌套调用和递归调用的方法;掌握全局变量和局部变量及动态变量 和静态变量的概念和使用方法;学习对多文件程序的编译和运行。 实验要求:事先编制好习题 7.1、7.2、7.3、7.4、7.5、7.6、7.7、7.8、 7.9、7.10、7.11、7.13 和 7.14 对应的程序。 8.指针 实验内容:输入十五个用指针方法实现的程序,并上机调试运行
实验目的:掌握指针的概念,学会定义和使用指针变量:能正确使用数组的 指针和指向数组的指针变量;能正确使用字符串的指针和指向字符串的指针变 量;能正确使用指向函数的指针变量:了解指向指针的指针的概念及其使用方法。 实验要求:事先编制好习题8.1、8.2、8.3、8.4、8.5、8.6、8.7、8.8、 8.9、8.10、8.12、8.14、8.15、8.17和8.18对应的程序。 8.结构体 实验内容:输入四个有关编译预处理结构体的程序,并上机调试运行。 实验目的:掌握结构体类型和结构体变量定义的方法;掌握结构体数组和指 针联合使用来处理复杂数据。 实验要求:事先编制好习题9.1、9.2、9.3和9.5对应的程序。 考核要求: 考核内容:运用if语句和switch语句设计选择结构程序;用while语句、 do-hile语句和for语句实现循环结构程序:利用数组这种数据类型设计程序: 通过函数调用的方式设计程序,掌握全局变量和局部变量及动态变量和静态变量 的概念和使用方法:利用指针方法来设计程序。 考核方式:笔试 考核要求:闭卷考试,在120分钟内答完试卷。 三、参考书目 [1]谭浩强.《C程序设计(第四版)》,北京:清华大学出版社,2010. 2)谭浩强。《C语言程序设计习题解答与上机指导》(第四版), 北京:中国铁道出版社,2016 [3]K.N.King著,吕秀峰译.《C语言程序设计现代方法》(第2版),北京:人民邮电 出版社,2010. 本课程使用教具和现代散育技术的指导性意见。 使用教具:计算机 意见:教材应力求内容新颖,应采用多样化的方式进行教学,让学生在 理论与实践相结合的基础上,对《C语言》课程所要求的程序设计能力有进一步 的提高
实验目的:掌握指针的概念,学会定义和使用指针变量;能正确使用数组的 指针和指向数组的指针变量;能正确使用字符串的指针和指向字符串的指针变 量;能正确使用指向函数的指针变量;了解指向指针的指针的概念及其使用方法。 实验要求:事先编制好习题 8.1、8.2、8.3、8.4、8.5、8.6、8.7、8.8、 8.9、8.10、8.12、8.14、8.15、8.17 和 8.18 对应的程序。 8.结构体 实验内容:输入四个有关编译预处理结构体的程序,并上机调试运行。 实验目的:掌握结构体类型和结构体变量定义的方法;掌握结构体数组和指 针联合使用来处理复杂数据。 实验要求:事先编制好习题 9.1、9.2、9.3 和 9.5 对应的程序。 考核要求: 考核内容:运用 if 语句和 switch 语句设计选择结构程序;用 while 语句、 do-while 语句和 for 语句实现循环结构程序;利用数组这种数据类型设计程序; 通过函数调用的方式设计程序,掌握全局变量和局部变量及动态变量和静态变量 的概念和使用方法;利用指针方法来设计程序。 考核方式:笔试 考核要求:闭卷考试,在 120 分钟内答完试卷。 三、参考书目 [1] 谭浩强.《C 程序设计(第四版)》,北京:清华大学出版社,2010. [2] 谭浩强.《C 语言程序设计习题解答与上机指导》(第四版), 北京:中国铁道出版社,2016. [3] K.N.King 著,吕秀峰译.《C 语言程序设计现代方法》(第 2 版),北京:人民邮电 出版社,2010. 本课程使用教具和现代教育技术的指导性意见。 使用教具:计算机 意 见:教材应力求内容新颖,应采用多样化的方式进行教学,让学生在 理论与实践相结合的基础上,对《C 语言》课程所要求的程序设计能力有进一步 的提高
数据结构 一、说明 课程性质:该课程是信息与计算科学专业专业平台必修课程之一,第3学 期开设,周4+2学时。 数据结构是计算机科学中一门综合性的专业基础课,也是信息与计算科学专 业的专业必修课。它是许多涉及数据结构设计和算法设计课程,如操作系统、编 译原理、计算机图形学等的先导课。也是培养学生软件设计能力重点选择的一门 课程。该课程主要介绍如何合理地组织数据、有效地存储数据和处理数据,正确 地设计算法以及对算法的分析与评价。 教学目的:通过本课程的学习,使学生深透地理解数据结构的逻辑结构和物 理结枸的基本概念以及有关算法,培养基本的、良好的程序设计技能,编制高效 可靠的程序,为学习操作系统、编译原理和数据库等课程奠定基础。具体达到以 下基本要求: 1.了解数据结构及其分类、数据结构与算法的密切关系。 2.熟练掌握各种基本数据结构的概念、特点、存贮方式、算法及分析评估。 3.掌握设计算法的步骤和算法分析方法。 4.掌握数据结构在排序等常用算法中的应用。 5。熟悉各种基本数据结构及其操作,学会根据实际问题要求来选择数据结 构。 教学内容:数据结构课程的基本知识模块是以数据的逻辑结构为主线,顺序 介绍线性结构(线性表、栈、队列、串、数组、广义表)、树形结构、图结构。 在介绍每种数据结构时,再讨论其存储结构以及相关的算法。在介绍完基本的数 据结构及其存储结构和相关的算法后,介绍了两种常用技术:查找和排序。 教学时数:108学时(课程讲授72学时,实验教学36学时)。 教学方式:讲授与上机实践相结合。 二、大纲正文 理论部分 第1章概论
数据结构 一、说明 课程性质:该课程是信息与计算科学专业专业平台必修课程之一,第 3 学 期开设,周 4+2 学时。 数据结构是计算机科学中一门综合性的专业基础课,也是信息与计算科学专 业的专业必修课。它是许多涉及数据结构设计和算法设计课程,如操作系统、编 译原理、计算机图形学等的先导课。也是培养学生软件设计能力重点选择的一门 课程。该课程主要介绍如何合理地组织数据、有效地存储数据和处理数据,正确 地设计算法以及对算法的分析与评价。 教学目的:通过本课程的学习,使学生深透地理解数据结构的逻辑结构和物 理结构的基本概念以及有关算法,培养基本的、良好的程序设计技能,编制高效 可靠的程序,为学习操作系统、编译原理和数据库等课程奠定基础。具体达到以 下基本要求: 1. 了解数据结构及其分类、数据结构与算法的密切关系。 2. 熟练掌握各种基本数据结构的概念、特点、存贮方式、算法及分析评估。 3. 掌握设计算法的步骤和算法分析方法。 4. 掌握数据结构在排序等常用算法中的应用。 5. 熟悉各种基本数据结构及其操作,学会根据实际问题要求来选择数据结 构。 教学内容:数据结构课程的基本知识模块是以数据的逻辑结构为主线,顺序 介绍线性结构(线性表、栈、队列、串、数组、广义表)、树形结构、图结构。 在介绍每种数据结构时,再讨论其存储结构以及相关的算法。在介绍完基本的数 据结构及其存储结构和相关的算法后,介绍了两种常用技术:查找和排序。 教学时数:108 学时(课程讲授 72 学时,实验教学 36 学时)。 教学方式:讲授与上机实践相结合。 二、大纲正文 理论部分 第 1 章 概论
教学要点:数据、数据元素、数据结构、数据类型、抽象数据类型的概念: 算法、算法描述与算法分析。 散学时数:4学时。 教学内容: §1.1数据结构的概念及内容(2学时):数据结构的基本概念:数据结构的 内容;数据的逻辑结构和物理结构。 §1.2算法及其性能分析(2学时):抽象数据类型的表示和实现:算法的特 点:算法性能分析。 考核要求:理解数据、数据元素、数据项、数据结构等概念:区分数据的逻 辑结构与物理结构;了解评价算法优劣的标准及方法,并能分析算法的时间复杂 度。 第2章线性表 教学要点:线性表的逻辑结构定义、基本操作和在两种存储结构中基本操作 的实现;链表;用线性表表示一元多项式及实现稀疏多项式的相加等运算。 教学时数:10学时。 教学内容: §2.1线性表的定义及抽象操作(1学时):线性表的概念及逻辑特点:线 性表的常用操作。 §2.2线性表的顺序存贮结构及算法。(3学时):顺序表的存储类型定义: 顺序表的初始化及插入、删除算法。 §2.3线性表的链式存贮结构及算法。(6学时):单链表的存储结构及插入、 删除算法;双链表的常用算法:循环链表的算法设计;链表的应用举例。 考核要求:理解线性表的逻辑结构及其特点:区分头结点和头指针:掌握顺 序表的存储方式及常用算法;掌握单链表的存储方式及常用算法:理解双链表、 循环链表的存储方式及常用算法:能综合利用线性表解决诸如有序表的合并、多 项式求和等实际问题。 第3章栈和队列 教学要点:栈和队列的结构特性、基本操作及在两种存储结构上基本操作的 实现:栈和队列的应用
教学要点:数据、数据元素、数据结构、数据类型、抽象数据类型的概念; 算法、算法描述与算法分析。 教学时数:4 学时。 教学内容: §1.1 数据结构的概念及内容(2 学时):数据结构的基本概念;数据结构的 内容;数据的逻辑结构和物理结构。 §1.2 算法及其性能分析(2 学时):抽象数据类型的表示和实现;算法的特 点;算法性能分析。 考核要求:理解数据、数据元素、数据项、数据结构等概念;区分数据的逻 辑结构与物理结构;了解评价算法优劣的标准及方法,并能分析算法的时间复杂 度。 第 2 章 线性表 教学要点:线性表的逻辑结构定义、基本操作和在两种存储结构中基本操作 的实现;链表;用线性表表示一元多项式及实现稀疏多项式的相加等运算。 教学时数:10 学时。 教学内容: §2.1 线性表的定义及抽象操作(1 学时): 线性表的概念及逻辑特点;线 性表的常用操作。 §2.2 线性表的顺序存贮结构及算法。(3 学时):顺序表的存储类型定义; 顺序表的初始化及插入、删除算法。 §2.3 线性表的链式存贮结构及算法。(6 学时):单链表的存储结构及插入、 删除算法;双链表的常用算法;循环链表的算法设计;链表的应用举例。 考核要求:理解线性表的逻辑结构及其特点;区分头结点和头指针;掌握顺 序表的存储方式及常用算法;掌握单链表的存储方式及常用算法;理解双链表、 循环链表的存储方式及常用算法;能综合利用线性表解决诸如有序表的合并、多 项式求和等实际问题。 第 3 章 栈和队列 教学要点:栈和队列的结构特性、基本操作及在两种存储结构上基本操作的 实现;栈和队列的应用