第一篇:《数据结构(C语言版)》教学大纲
《数据结构(C语言版)》教学大纲
一、教学要求、能分析数据的内在逻辑关系。、掌握常用数据结构在计算机中的表示方法。、理解数据表示和数据处理之间的关系,理解算法效率的分析方法。4、能利用常见的数据结构,进行算法设计。
二、教学内容
第 1 章 概论、掌握数据结构的基本概念。、掌握数据的逻辑结构、存储结构、算法的概念、特征。3、了解数据类型、抽象数据类型的概念。4、理解时间复杂度的概念。第 2 章 线性表及其顺序存储、掌握线性表的顺序存储结构及其运算的实现。
2、掌握栈的定义、栈的顺序实现及其运算的实现。
3、掌握队列的定义、队列的顺序实现(循环队列)及其运算的实现。
4、掌握循环队列的结构特点。第 3 章 线性表的链式存储
1、掌握单链表的存储结构及其运算的实现。
2、了解循环链表、双向链表的特点。、掌握栈和队列的链接实现及其运算的实现。第4章 字符串、数组和特殊矩阵
1、掌握字符串的基本概念。
2、了解字符串的存储及其实现。
3、掌握数组的顺序存储。
4、了解特殊矩阵的压缩存储。
5、掌握稀疏矩阵的两种存储方式。第 6章 树和二叉树、掌握树的基本概念及树的存储结构。2、理解二叉树的定义和术语、性质。、了解二叉树的存储结构,包括顺序存储实现和指针实现。、掌握二叉树的遍历算法(掌握二叉树的遍历方式,不要求算法!)。5、了解线索树的概念。、了解树、森林与二叉树的转换方法。、掌握哈夫曼树的构造实现及哈夫曼树的应用。第 8 章 图、了解图的基本概念、术语。、掌握图的存储结构(邻接矩阵、邻接表、邻接多重表)。3、掌握图的遍历方法(深度优先遍历、广度优先遍历)。、掌握图的最小生成树的算法(prim 算法、kruskal算法)。(只要求方法,不要求算法!)、掌握图的单源最短路径的dijkstra 算法。(只要求方法,不要求算法!)6、了解所有顶点对之间的最短路径 floyd 算法。(只要求方法,不要求算法!)、掌握拓扑排序的算法。(只要求方法,不要求算法!)第 9 章 检索、掌握检索的基本概念及线性表的三种检索方法。、掌握二叉排序树的创建算法(只要求方法,不要求算法!)。3、了解哈希表检索的过程,掌握创建哈希表的整个过程。第 10 章 内排序、理解排序的基本概念(关键字、内外排序、稳定性、时间效率、空间效率)。、掌握选择排序的方法(简单选择排序、堆排序、树型选择排序)3、掌握插入排序的方法(直接插入排序)4、掌握交换排序的方法(冒泡排序、快速排序)5、了解归并排序的方法。6、了解基数排序的方法。7、了解所有内部排序的稳定性。
三、考题类型、选择题(概念、存储表示、算法描述): 24 % 2、填空题(概念、存储表示、算法描述): 16 % 3、应用题(综合): 40 % 4、算法设计题: 20 % 参考用书:
《数据结构》李云清 杨庆红 揭安全编 人民邮电出版社 2004 年 6 月
第二篇:C语言教学大纲
教
学
大
纲
课
程
名
称: C语言程序设计
修(制)订
人: 刘明军
审
定
人: 杨波
修(制)订日期: 2008年1月
《C语言程序设计》教学大纲
课程编号:120902
计划学时:64 其中讲课:32
实验或实践:0
上机:32 适用专业:理、工科非计算机专业 参考教材:
[1] 刘明军等, C语言程序设计.北京:电子工业出版社2007.[2] 谭浩强, C程序设计(第二版).北京:清华大学出版社.1999.[3] Brian W.Kernighan, Dennis M.Ritchie , The C Programming Language(Second Edition).中译版: 徐宝文,李志译, C程序设计语言(第二版).北京:机械工业出版社,2005.课程的教学目的与任务
《C程序设计》是面向全校的工科类非计算机专业计算机基础的公共基础课程之一。本课程的主要任务是结合一般数值计算向学生介绍计算机程序设计的基本知识,使学生掌握C语言的基本内容及程序设计的基本方法与编程技巧,了解进行科学计算的一般思路,培养学生应用计算机解决和处理实际问题的思维方法与基本能力,为进一步学习和应用计算机打下基础。
教学方法
本课程在教学方法上,主要采取教师课堂讲授,学生课后自学的形式,并辅以一定量的上机操作练习,以掌握C语言的基本内容并会编写简单的程序为主要目的。对算法的实现思路、设计思想方面的问题可辅以网上答疑和小组讨论的形式进行学习。
课程的基本要求
本课程教学要求学生掌握如下知识:
1、了解C语言的产生、发展及特点;
2、掌握C语言的基本语法成分、数据类型及三种基本结构;
3、掌握模块化程序设计的思想;
4、掌握程序设计过程中常用的算法;
5、能阅读、调试、编写简单的程序;
在教学过程中,教师要细致备课,充分组织教案,认真分析学生的实际知识结构,使备课与学生的实际情况紧密结合,使教师本身做到有效的教,使学生做到有效的学。在讲授的过程中,教师应结合TC编译器进行讲解演示。课后一方面要求学生及时复习,另一方面应加强学生的动手能力,在实验环节,通过布置实验内容对课堂知识进一步理解。
先修课要求
《信息技术基础》为本课程的先修课。
各章节授课内容、教学方法及学时分配建议(含课内实验)
第一章:C语言程序基础
建议学时:6学时 第一节:C语言程序基础 第二节:C语言程序运行过程 第三节:编写简单的C语言程序 第四节:C语言基本语法成分 第五节:C语言数据类型 第六节:数据库的输入/输出 第七节:算法
第八节:C语言的产生、发展及特点
授课方法:课堂多媒体授课并结合TC编译器进行讲解。
第二章:C语言程序的基本结构
建议学时:6学时
第一节:分支结构
第二节:关系运算和逻辑运算 第三节:循环结构
第四节:break语句和continue语句 第五节:goto语句 第六节:经典算法举例
授课方法:课堂多媒体授课并结合TC编译器进行讲解。
第三章:模块化程序设计
建议学时:7学时
第一节:模块化程序设计的方法和特点 第二节:函数的定义
第三节:无返回值函数的定义与调用 第四节:有返回值函数的定义与调用 第五节:函数嵌套调用和函数声明 第六节:函数的递归调用 第七节:库函数的使用
第八节:全局变量和局部变量 第九节:指针和指针作为函数参数 第十节:返回指针值的函数 第十一节:函数的指针 第十二节:典型例题
授课方法:课堂多媒体授课并结合TC编译器进行讲解。
第四章:简单构造数据类型
建议学时:8学时
第一节:一维数组的引出及使用 第二节:二维数组的引出及使用 第三节:字符数组 第四节:数组与函数 第五节:数组与指针 第六节:字符串与指针 第七节:典型例题
授课方法:课堂多媒体授课并结合TC编译器进行讲解。第五章:复杂构造数据类型
第一节:结构体
第二节:共用体 第三节:枚举类型
建议学时:3学时
授课方法:课堂多媒体授课并结合TC编译器进行讲解。
第六章:磁盘数据存储
建议学时:2学时
第一节:将数据写入文件 第二节:文件/读写分类函数 第三节:文件定位函数
授课方法:课堂多媒体授课并结合TC编译器进行讲解。
第三篇:《C语言》教学大纲.
《C语言》教学大纲
一 课程性质、目的及开课对象(一)课程性质
专业课
(二)目的
掌握基本的程序设计思想,懂得运用计算机语言解决一般工作中的问题。
(三)开课对象
计算机系计算机科学与技术专业 二
先修课程
三
教学方法与考核方式(一)教学方法
课堂讲授,上机实践(二)考核方式
考试 四 学时分配 总学时: 90 学时 讲授: 54 学时 实验: 36 学时 五 教学内容与学时(一)理论讲授 第一章 C语言概述
§1.1 C语言出现的历史背景 §1.2 C语言的特点 §1.3 简单的C程序介绍 §1.4 C程序的上机步骤 重点:C语言程序的上机步骤 难点:C语言开发环境Turbo C的使用 学生掌握要点: C语言程序的上机步骤 学时数: 1学时
第二章 程序的灵魂-算法 §2.1 算法的概念 §2.2 简单算法举例 §2.3 算法的特性 §2.4 怎样表示一个算法 §2.5 结构化程序设计方法 重点: 程序设计方法 难点:结构化程序设计方法 学生掌握要点: 结构化程序设计方法 学时数: 1学时
第三章 数据类型、运算符和表达式 §3.1 C的数据类型 §3.2 常量与变量 §3.3 整型数据 §3.4 实型数据 §3.5 字符型数据 §3.6 变量赋初值
§3.7 各类数值型数据间的混合运算 §3.8 算术运算符和算术表达式 §3.9 赋值运算符和赋值表达式 §3.10 逗号运算符和逗号表达式
学生掌握要点: C语言数据类型、运算符的运算规则及表达式的使用
重点:运算符的运算规则
难点:运算符的混合运算:类型转换 学时数:4 学时
第四章 最简单的C程序设计-顺序程序设计
§4.1 C语句概述
§4.2 赋值语句 §4.3 数据输入输出的概念及在C 语言中的实现
§4.4 字符数据的输入输出 §4.5 格式输入与输出 §4.6 顺序结构程序设计举例 重点:格式输入输出函数 难点: 格式输入输出函数
学生掌握要点:学时数: 使用输入输出函数和其它语句设计顺序程序设计 学时数: 4学时
第五章 选择结构程序设计 §5.1 关系运算符与关系表达式 §5.2 逻辑运算符与逻辑表达式 §5.3 if语句 §5.4 switch语句 §5.5 程序举例
学生掌握要点:掌握C语言条件语句的使用 重点:if-else的逻辑流程 难点:if的嵌套 学时数: 4学时 第六章 循环控制 §6.1 概述
§6.2 goto语句以及用goto语句构成循环 §6.3 while语句 §6.4 do-while语句 §6.5 for 语句 §6.6 循环嵌套 §6.7 几种循环的比较 §6.8 break和 continue 语句 §6.7 程序举例
学生掌握要点:掌握循环的使用 重点:循环的逻辑流程 难点:循环的嵌套 学时数:4学时 第七章 数 组
§7.1 一维数组的定义和引用 §7.2 二维数组定义和引用 §7.3 字符数组
学生掌握要点:掌握C语言数组变量以及字符串的使用 重点:一维数组的使用,字符串操作 难点:字符串操作 学时数: 6学时 第八章 函 数 §8.1 概述
§8.2 函数定义的一般形式 §8.3 函数参数和函数的值 §8.4 函数调用 §8.5 函数的嵌套调用
§8.6 函数的递归调用
§8.7 数组作为函数参数
§8.8 局部变量和僵局变量
§8.9 变量的存储类别 §8.10 内部函数和外部函数 §8.11 如何运行一个多文件的程序
学生掌握要点:掌握C语言函数的定义、使用、了解变量的生存周期及作用域
重点:函数的定义、参数、返回、调用 难点:函数的递归调用 学时数: 6学时 第九章 预处理命令 §9.1 宏定义 §9.2 文件包含处理 §9.3 条件编译
重点:宏定义及文件包含怕应用 难点:带参数的宏定义的应用 学生掌握要点:预处理命令的使用 学时数:2学时 第十章 指针 §10.1 指针的概念
§10.2变量的指针和指向变量的指针变量 §10.3 指针与数组 §10.4 字符串与指针 §10.5 指向函数的指针
§10.7 指针数组和指向指针的指针
§10.8 有关指针的数据类型和指针运算的小结 学生掌握要点:掌握指针变量的使用 重点:指针的定义、使用
难点:指针与数组的关系、指针数组的使用 学时: 10学时
第十一章 结构与共用体 §11.1 概述 §11.2 定义结构体类型变量的方法 §11.3 结构变量的引用 §11.4 结构变量的初始化 §11.5 结构体数组
§11.6 指向结构体类型数据的指针 §11.7 用指针处理链表
§11.8 共用体
§11.9 枚举类型
§11.10 用typedef定义类型
学生掌握要点:掌握C语言结构变量和链表的使用 重点:结构的定义、引用、链表的操作 难点:结构指针、结构数组、链表操作 学时数:6学时 第十二章 位运算
§12.1 位运算和位运算符 §12.2 位运算举例
学生掌握要点:了解C语言位运算符的使用,整数在内存中存放形式
重点:位运算符的使用 难点:负数的补码 学时数:2学时 第十三章 文 件 §13.1 C文件概念 §13.2 文件类型指针 §13.3 文件的打开与关闭 §13.4 文件的读写 §13.5 文件的定位
§13.6 出错的检测 §13.7 文件输入输出小结
学生掌握要点:掌握C语言的文件操作
重点:文本文件、二进制文件的循序读写、随机读写难点:二进制文件的随机读写 学时数: 4学时
第四篇:《C语言》教学大纲
《C语言》教学大纲
适用范围:适用于网络教育、成人教育学生
一、教学目的和任务
本课程是计算机及相关专业的重要基础课程,它是计算机及相关专业学生掌握高级语言编程方法的入门语言。通过对C语言的基本特点、基本内容、语法规则、程序设计方法等内容的讲解,使学生掌握高级语言的基本知识和结构化程序的设计方法,掌握常规的编程技巧,提高学生的计算机解决问题的能力。为学生进一步学习计算机知识打下必要的基础。
二、教学的内容、基本要求和重点
基本要求注重掌握基本知识,学会计算机程序设计基础,注重程序设计能力培养。教材:《C及C++程序设计》(张富编,人民邮电出版社)教学时间:60学时(讲授40学时,上机辅导20学时)
第1章
对C语言的初步认识
一、教学内容(6学时)
C语言的基础知识,包括:C语言初步,简单输入输出,数据类型,运算符,变量和表达式等。
二、教学要求
1、C语言的基本知识,C语言简介,结构特点和编译方式等。
2、标准的输入和输出函数。
3、C语言数据类型。
4、变量说明。
5、操作符(运算符)和表达式。
三、重点:输入和输出函数,变量,操作符,表达式。
第2章
程序控制语句
(一)一、教学内容(2学时)
程序设计的三种基本结构,顺序结构介绍,分支结构。
二、教学要求
1、结构化程序设计基本内容。
2、顺序结构设计特点。
3、分支结构,if语句和switch语句的语法规则和应用。
三、重点:If语句和Switch语句 第3章
程序控制语句
(二)一、教学内容(4学时)
循环结构,包括:for, while, do while等语句。
二、基本要求
1、循环结构的思想及goto语句。
2、for, while, do while循环语句。
3、多重循环及continue, break语句。
三、重点:for, while , do while语句和多重循环。
四、上机辅导(4学时):分支、循环相关的程序设计。
第4章
数组
一、教学内容(4学时)
构造类型介绍,数组及应用。
二、教学要求
1、一维数组的定义及使用。
2、二维数组和多维数组的定义和使用。
3、字符数组和字符串变量。
三、重点:数组的定义和使用
四、上机辅导(4学时):数组应用程序设计
第5章
指针
一、教学内容(4学时)
指针的定义和使用,指针和数组,字符指针等。
二、教学要求
1、指针的概念,指针操作和指针表达式。
2、指针和数组。
3、字符指针和字符数组。
4、指针数组和二级指针。
三、重点:指针的使用,指针和数组,字符指针。
四、上机辅导(4学时):指针应用程序设计
第6章
函数
(一)一、教学内容(4学时)
函数的定义,函数参数,函数调用,递归。
二、教学要求
1、函数基本知识,函数参数和函数值。
2、函数的调用。
3、函数的嵌套调用和递归调用及应用举例。
三、重点:函数相关知识,递归和应用
第7章
函数
(二)一、教学内容(4学时)
函数的进一步讨论,返回值,变量作用域,参数,函数指针等。
二、要求
1、非整数返回值和变量的作用域。
2、函数的形参和实参,数组作为函数参数。
3、内部函数和外部函数,主函数。
4、函数指针。
三、重点:函数的返回值,形参和实参,数组参数,函数指针。
四、上机辅导(4学时):函数应用程序设计
第8章
数据存储方式及位操作
一、教学内容(4学时)
数据存储方式,位操作。
二、要求
1、数据存储方式,变量修饰符const,变量存储方式,动态存储单元。
2、位操作符,条件运算操作符,括号操作符,符合赋值运算符。
三、重点:变量存储方式,位操作符。
第9章
用户定义数据类型
一、教学内容(4学时)
用户定义数据类型,结构,位域,联合,枚举。
二、要求
1、结构类型的定义,结构数组,结构指针及其结构的应用。
2、位域的定义和应用。
3、联合和枚举的定义和应用。
三、重点:结构类型和位域的定义和应用。
四、上机辅导(4学时):结构应用程序设计
第10章
预处理器和磁盘文件操作
一、教学内容(4学时)
预处理器和磁盘文件操作。
二、要求
1、宏定义和宏替换(#define),文件包含(#include),条件编译。
2、文件概述,控制台I/O,ANSI文件I/O系统。
三、重点:宏定义和文件包含
第五篇:C语言教学大纲
《程序设计基础》课程教学大纲
一、课程名称:程序设计基础
二、学时与学分:64学时
3.5学分
三、适用专业:计算机科学与技术、网络工程、信息安全
四、先修课程:高等数学
五、课程教材:《计算机程序设计基础》
熊壮、刘慧君、伍星编著,朱庆生主审,机械工业出版社,2005
六、参考教材:《The C Programming Language》(Second Edition),Brian W.Kernighan & Dennis M.Ritchie,清华大学出版社
《The C Answer Book Second Editiion》, Clovis L.Tondo & Scott E.Gimpel,清华大学出版社出版
《程序设计方法》Matthias Felleisen等著、黄林鹏等译,人民邮电出版社 《C程序设计的抽象思维》Eric S.Roberts著,机械工业出版社
《C算法:第一卷》Robert Sedgewick著、周良忠译,人民邮电出版社 《C语言》,李智渊编著,电子科技大学出版社出版 《C语言程序设计》,孙家骕等编著,北京大学出版社出版
七、开课单位:计算机学院
八、课程的性质、目的和任务:
本课程是计算机类专业的一门专业基础课。引导学生进入计算机程序设计的广阔空间、培养学生的逻辑思维能力、抽象能力和基本的计算机程序设计能力是课程的主要任务。本书从结构化程序设计技术出发,以C程序设计语言为载体,通过对应用问题的分析引导出解决问题的方法,进而用C程序设计语言代码描述了对应用问题的处理过程,同时展现了在计算机应用过程中如何将方法和编码相联系的具体程序设计过程。通过对本课程的学习,使学生对计算机系统有一个初步的正确的认识,学会阅读用计算机程序设计语言编写的简单应用程序,掌握结构化程序设计的基本方法和用计算机解决实际问题的基本步骤,训练学生的逻辑思维能力,培养其严谨的思维方式和良好的程序设计风格。为进一步学习其它专业基础课程和专业课程打下良好的基础。
九、课程的主要内容:
(一)程序设计的基本概念
1.程序设计语言及处理概述
2.程序设计方法概述
3.计算机中数据表示方法
4.算法特征及算法的描述方法
(二)程序设计的数据基础
1.程序设计中数据表示方法
2.表达式运算基础
3.顺序结构程序设计及程序设计中的数据输入输出
(三)结构化程序设计基础
1.程序设计中的分支处理结构 2.程序设计中的循环处理结构
3.结构化程序设计应用——穷举思想和穷举方法的实现 4.结构化程序设计应用——迭代思想和迭代方法的实现
(四)模块化程序设计基础
1.模块化基本概念及信息的隐蔽和局部化概念
2.程序设计中实现模块化的方法
3.程序设计中标识符的作用域和生存期
4.递归方法的实现
(五)程序设计中数据对象地址的处理方法
1.程序设计中地址的表示方法及地址运算
2.函数与指针的关系
(六)构造类型数据的处理基础
1.相同类型数据对象集合的处理方法
2.不同类型数据对象集合的处理方法 3.数据对象存储区域的分时复用方法
(七)字符串数据的处理基础
1.程序设计中的字符串存储方法和表示方法 2.字符串的常用处理方法
(八)二进制位数据的处理基础
1.位运算的基本概念
2.位运算符及其应用
(九)文件数据的处理基础
1.数据的层次结构和文件概念 2.顺序存取文件的处理方法 3.随机存取文件的处理方法
(十)程序设计的深入话题
1.数据类型的扩展技术
2.特殊类型函数参数的处理技术 3.C系统的编译预处理
十、课程的基本教学要求:
1.掌握计算机程序设计中的基本概念
2.理解和掌握模块化程序设计的概念和方法;
3.掌握结构化程序设计思想,学会应用自顶向下、逐步求精的软件开发方法; 4.掌握C语言中使用的数据结构、C程序结构、语句以及控制结构等的使用方法; 5.掌握在一种实际开发环境下对C程序进行编辑、编译、连接、运行和调试的方法; 6.能根据具体应用问题编写相应的C语言程序;
十一、课程的实践性教学环节
本课程实践性教学环节学时数为28/2,实验环境可以在以下两种开发平台中选择:
1)UNIX/LINUX 操作系统环境,GUN GCC/G++编译器;
2)WINDOWS 9X/2000/XP操作系统环境,TURBO C++ 3.0(及以上)集成环境; 实验内容参照《程序设计基础》课程实验教学大纲执行。
十二、说明:
十三、学时分配:
本课程理论教学学时数为50,各部分学时分配如下:
(一)程序设计的基本概念(2学时)
(二)程序设计的数据基础(4学时)
(三)结构化程序设计基础(6学时)
(四)模块化程序设计基础(6学时)
(五)程序设计中数据对象地址的处理方法(4学时)
(六)构造类型数据的处理基础(10学时)
(七)字符串数据的处理基础(4学时)
(八)二进制位数据的处理基础(2学时)
(九)文件数据的处理基础(4学时)
(十)程序设计的深入话题(6学时)课程复习:(2学时)
十四、考试方式:
本课程考试为闭卷笔试。试题类型为:
1)程序(段)填空
2)根据算法写程序或函数
3)读程序给出运算结果或程序功能 4)按要求编写程序
大纲制定者:熊壮
大纲审定者:
2005年10月