测绘工程专业(一)课程教学大纲
《C语言与数据结构》课程教学大纲
一、基本信息
注:“课程类别”和“课程性质”中用“√”标记选项。
二、教学目的与任务
本课程要求学生掌握C语言和数据结构的基本概念及其初步应用。掌握C语言基本数据类型、语法规则、各种基本数据结构的特点,熟悉它们的内在逻辑关系及计算机中的表示方法和基本操作的实现方法。掌握算法设计的步骤和基本的算法分析的方法。通过对不同的数据结构与算法的对比,学会根据问题的要求合理选择数据结构,设计算法并控制求解算法的空间和时间的复杂性的能力。掌握数组、指针、结构体、链表、树和二叉树等概念在测绘学科中的应用。
《C语言程序设计》与《数据结构》是软件技术专业的两门专业基础课程,从学科体系上说,前者着重讲授C语言的主要语法和程序设计方法,后者主要讲授线性结构和非线性结构的逻辑结构、存储结构及相关算法。从教学内容看,这两门课程联系密切,C语言程序设计的大部分内容讲解C语言的基础知识,而数据结构通常以类C语言为工具介绍数据结构的知识,两门课程内容交叉较多,但对目前多数院校在教学过程中,由两个不同教师讲授,经常出现教学内容的重复或脱节,影响学生的学习效果。因此,如何将这两门课程有机地进行整合,构建C语言与数据结构课程的新体系,改革教学模式,提高教学质量,成了当前教学改革中亟待解决的问题。
三、教学内容与要求
(一)C语言和数据结构的基础知识2学时
教学目的:C语言和数据结构的基本概念和术语,抽象数据类型的表示与实现,算法和算法分析。
教学内容:
C语言和数据结构简述
基本概念和术语
抽象数据类型的表示与实现
算法和算法分析
C语言基础
基本要求:
理解数据结构中各名词,术语的含义,掌握基本概念(结合一定的实际问题举例说明)
了解C语言,掌握用C语言书写算法的格式和要求
了解抽象数据类型的表示与实现,掌握用C语言实现抽象数据类型的基本思路
掌握算法的概念,理解算法的五个重要特征的确切含义,了解算法设计的要求
熟练掌握算法时间复杂度的分析方法
(二)C语言基本数据类型2学时
教学目的:常量、变量、整型、实型、字符型
教学内容:
1、常量和变量
常量和符号常量;变量的定义和使用。
2、整型数据类型
整型数据类型的表示方法;整型常量;整型常量的类型
3、实型数据类型
实型常量的表示方法;实型常量;实型常量的类型。
4、字符型数据
字符常量;字符变量;字符数据在内存中的存储形式及使用方法;字符串常量。
5、变量赋初值
变量赋初值的方法
6、各类数值型数据间的混合运算
7、格式化输入输出
基本要求:
1、掌握C语言所提供的数据类型以及基本数据类型常量的书写方法和变量的定义、赋值和初始化方法;
2、了解c语言的数据类型体系和运算符体系;
3、能正确书写有基本数据类型组成的基本类型的表达式
4、掌握格式化输入输出
(三)运算和判断控制2学时
教学目的:关系运算、逻辑运算、if语句、switch语句
教学内容:
1、关系运算符和关系表达式
关系运算符及其优先次序;关系表达式。
2、逻辑运算符和逻辑表达式
逻辑运算符及其优先次序;逻辑表达式。
3、if语句
If语句的三种形式;if语句的嵌套;条件运算符。
4、switch语句
Switch语句的用法。
基本要求:
1、掌握关系运算符、逻辑运算符的运算规则以及关系表达式和逻辑表达式的使用;
2、掌握条件运算符、条件表达式的使用;
3、熟练掌握条件选择语句if语句的使用;
4、熟练掌握多分支语句switch语句的使用。
(四)循环控制4学时
c语言基本名词概念
教学目的:掌握循环结构的控制语句:while语句、do-while语句、for语句的用法
教学内容:
1、while语句
While语句的用法
2、do-while语句
Do-while语句的用法
3、for语句
For语句的用法
4、break语句和continue语句
Break语句和continue语句
基本要求:
1、熟练掌握循环结构的控制语句:while语句、do-while语句、for语句的用法;
2、掌握三种循环控制语句的区别和联系;
3、掌握break、continue语句的功能和语法格式;
4、能够根据循环结构的要求正确选取循环语句来实现循环,掌握循环程序的执行过程。(五)数组2学时
教学目的:掌握数组的概念、一维数组、二维数组和多维数组的定义和使用
教学内容:
1、一维数组的定义和使用
一维数据的定义;一维数组元素的引用;一维数据的初始化;一维数据程序举例
2、二维数据的定义和使用
二维数据的定义;二维数组元素的引用;二维数据的初始化;二维数据程序举例
3、字符数组
字符数组的定义;字符数组的初始化;字符数组的引用;字符串和字符串结束标志;字符数组的输入输出;字符串处理函数
基本要求:
1、掌握数组的概念、一维数组、二维数组和多维数组的定义和使用;
2、掌握字符数组、字符串的区别和具体应用。
(六)指针2学时
教学目的:掌握指针的概念及其使用方法
教学内容:
1、指针和地址的概念
内存地址及其访问方式;
2、变量指针和指向变量的指针变量
变量的指针;指针变量的定义;指针变量的引用;
3、数组和指针
指向数组元素的指针;通过指针引用数组元素的方法;数组名
基本要求:
1、掌握地址和指针的概念及二者之间的关系;
2、熟练掌握定义指针变量和访问该变量的方法;
3、掌握指针变量的各种使用方法。
(七)结构体与共用体(2学时)
教学目的:掌握结构体与共用体的概念及其使用方法
教学内容:
⑴定义结构体类型变量的方法;
⑵结构体变量的引用与结构体变量的初始化;
⑶结构体数组与指向结构体数据的指针;
⑷指向结构体类型数据的指针及用指针处理链表;
⑸共用体;
⑹枚举类型;
⑺用typedef定义类型。
(八)文件2学时
教学目的:掌握文件的读写方法,掌握文件操作的相关标准函数及
教学内容:
⑴文件类型指针;
⑵文件的打开与关闭;
⑶文件的读写;
⑷文件的定位。
(九)线性表4学时
教学目的:线性表的类型定义,线性表的顺序表示和实现,线性表的链式表示和实现。
教学内容:
线性表的类型定义
线性表的顺序表示和实现
线性表的链式表示和实现
应用举例:一元多项式的表示及相加
基本要求:
了解线性表的逻辑结构特性,了解线性表的定义
掌握线性表的两种存储结构:顺序存储结构和链式存储结构
顺序表:掌握C描述方法,熟练掌握查,插入,删除算法
单链表:掌握C描述方法,熟练掌握查,插入,删除算法
掌握算法的时间复杂度的概念,掌握计算语句频度和估算算法时间复杂度的方法.了解算法的空间复杂度的概念,了解计算算法的空间复杂度的方法能够从时间和空间复杂度的角度综合比较线性表两种存储结构的不同特点及其适用场合
(十)栈和队列2学时
教学目的:栈和队列的定义,存储结构,基本操作和实现算法。
教学内容:
栈定义、表示和实现
栈的应用举例
队列的链式表示和实现
队列的顺序表示和实现
基本要求:
掌握栈的有关概念和特点
熟练掌握栈类型的两种实现方法(顺序栈和链栈),特别应注意栈满和栈空的条件以及它们的描述方法
熟练掌握初始化栈,进栈和出栈操作的实现算法

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。