高级语言程序设计.docx
- 文档编号:25418238
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:31
- 大小:28.63KB
高级语言程序设计.docx
《高级语言程序设计.docx》由会员分享,可在线阅读,更多相关《高级语言程序设计.docx(31页珍藏版)》请在冰豆网上搜索。
高级语言程序设计
《高级语言程序设计》课程教学大纲
一、《高级语言程序设计》课程说明
(一)课程代码:
(二)课程英文名称:
AdvancedLanguageProgramDesign
(三)开课对象:
计算机相关本科专业
(四)课程性质:
本课程是计算机各专业学生必修的专业教育课,是数据结构、C++、操作系统等课程的前导课程。
同时它也是一门实践性很强的课程,既要掌握概念,又要动手编程,还要上机调试运行。
本课程的目的在于使学生初步具备软件开发的能力,为今后计算机的编程打下良好、扎实的理论基础。
(五)教学目的:
本课程的教学目的在于培养学生学会分析问题的方法和基本问题的解决能力,初步了解程序设计的技巧和方法、掌握C语言的基本内容及程序设计的基本方法与编程技巧,并能够运用TurboC集成开发工具编写一些小程序,为以后继续学习打下基础。
(六)教学内容:
本课程本课程主要通过适当的示例,系统、详细地讲解程序设计的基础知识、C程序设计语言的基本语法、编程方法和常用算法。
通过教学的各个环节使学生达到各章中所提的基本要求。
讲授时应以培养学生的程序设计实际软件开发能力和实践应用能力为侧重点。
(七)学时数、学分数及学时数具体分配
学时数:
84学时
分数:
4学分
学时数具体分配:
教学内容
讲授
实验/实践
合计
第一章C语言概述
2
2
第二章程序的灵魂――算法
2
2
第三章数据类型、运算符与表达式
4
4
第四章最简单的C程序设计――顺序程序设计
3
3
第五章选择结构程序设计
4
4
第六章循环控制
4
4
第七章数组
6
6
第八章函数
8
8
第九章预处理命令
2
2
第十章指针
10
10
第十一章结构体与共用体
8
8
第十二章位运算
1
1
第十三章文件
2
2
合计
28
84
(八)教学方式
以黑板讲学和多媒体教学手段相结合的课堂教学。
通过典型的示例讲解、必要的现场实际操作演示、适量的课堂练习、课后的上机编程调试以及及时地辅导答疑,在教学过程中增强师生之间的互动性,充分发挥学生在学习过程中的自主性、能动性和创造性。
(九)考核方式和成绩记载说明
考核方式为考试。
严格考核学生出勤情况,达到学籍管理规定的旷课量取消考试资格。
综合成绩根据平时成绩、实验成绩和期末成绩评定,平时成绩占20%,实验成绩占20%,期末成绩占60%。
二、讲授大纲与各章的基本要求
第一章C语言概述
教学要点:
通过本章的教学使学生初步了解C语言出现的历史背景、特点;初步建立简单C程序的框架;熟练掌握C语言上机的具体步骤
1、使学生了解C语言出现的历史背景。
2、使学生了解C语言不同于其他语言的特点。
3、通过几个简单的C程序,领会并分析C程序的特性,掌握其基本结构框架。
4、通过简单程序介绍,熟悉C源程序的书写格式。
5、在学习了简单的程序之后,掌握在TurboC集成开发环境下建立和运行C程序的方法,熟悉C程序的运行环境及上机步骤。
教学时数:
2学时
教学内容:
第一节C语言出现的历史背景
第二节C语言的特点
第三节简单的C程序介绍
一、介绍三个简单的C程序,讲解C程序的组成和结构形式
二、main函数、数据说明、函数的开始和结束标志
三、C源程序的风格和书写格式
第四节C程序的上机步骤
一、运行C程序的步骤
二、上机运行C程序的方法
第二章程序的灵魂——算法
教学要点:
算法是编程的灵魂,有了正确的算法,加上相关的计算机语言知识,就能够顺利地编写出任何一种语言地程序。
让学生认识到学习程序设计的目的不只是学习一种特定的语言,而是学习进行程序设计的一般方法。
通过本章的教学使学生初步了解有关算法的基本知识,以便为后面各章的学习建立一定的基础。
1、使学生了解算法的概念。
2、通过简单、典型的算法举例,帮助学生了解如何设计一个算法。
3、领会结构化程序设计的基本概念,掌握模块化设计思想和方法。
4、理解结构化程序的三种基本结构和N-S结构流程图作用。
教学时数:
2学时
教学内容:
第一节算法的概念
第二节简单算法举例
一、求阶乘
二、判定闰年
三、有规律的分式求和
四、求素数
第三节算法的特性
第四节怎样表示一个算法
一、用自然语言表示算法和用流程图表示算法
二、三种基本结构(顺序、选择和循环)和改进的流程图(传统流程图的弊端)
三、用N-S流程图表示算法
四、用伪代码表示算法
五、用计算机语言表示算法
第五节结构化程序设计方法
一、“自顶向下,逐步细化”(结构化程序设计的核心思想)
二、“自下而上,逐步积累”
三、模块化程序设计思想
第三章数据类型、运算符与表达式
教学要点:
通过本章的学习掌握C语言的各种基本数据类型及它们的定义、赋值、使用,熟练掌握C语言的各种运算符及相应的表达式。
1、使学生了解C语言的数据类型的种类。
2、使学生理解C语言常量与变量的定义,符号常量的使用及合法标识符的定名规则。
3、掌握各种基本数据类型常量的表示方法以及他们各自变量的定义。
4、熟练掌握C语言的各种运算符(优先级、结合方向)及相应的表达式。
掌握各类数值型数据间的混合运算。
教学时数:
4学时
教学内容:
第一节C语言的数据类型
第二节常量与变量
一、常量和符号常量(使用符号常量的好处及)注意事项
二、变量的含义及使用时注意事项
三、标识符的定名规则
第三节整型数据
一、整型常量的表示方法(十进制、八进制和十六进制整数)
二、整型变量(整型数据在内存中的存放形式、整型变量的分类、整型变量的定义以及整型数据的溢出)
第四节浮点型数据
一、浮点型常量的表示方法(十进制小数形式和指数形式)
二、浮点型变量(浮点型变量的分类及浮点型数据的舍入误差)
三、浮点型常量的类型
第五节字符型数据
一、字符常量(表示形式及转义字符)
二、字符变量
三、字符数据在内存中的存储形式及其使用方法(强调字符型数据和整型数据可通用)
四、字符串常量(区分字符常量与字符串常量、字符串结束标志)
第六节变量赋初值(变量赋初值的方法及注意事项)
第七节各类数值型数据间的混合运算(以实例讲解不同类型数据进行混合运算自动转
换的规则)
第八节算术运算符和算术表达式
一、C语言运算符简介(了解运算符的优先级和结合方向)
二、算术运算符和算术表达式(掌握“/”除法运算符、“%”模运算符;介绍强制类型转换运算符时强调变量的类型未发生变化;重点掌握自增、自减运算符,注意其结合方向及变形)
第九节赋值运算符和赋值表达式
一、赋值时的类型转换
二、复合的赋值运算符
三、赋值表达式
第十节逗号运算符和逗号表达式
第四章最简单的C程序设计——顺序程序设计
教学要点:
通过本章的学习了解C语句的概念及种类,掌握字符输入getchar、字符输出putchar函数以及熟练掌握格式输入scanf函数和格式输出printf函数的调用格式,功能和使用方法。
1、使学生对C语言的基本语句有一定的认识。
2、了解数据输入输出的概念及在C语言中的实现。
3、掌握字符数据的输入输出。
4、熟练掌握格式输入与输出函数的调用格式,功能和使用方法。
尤其注意输入函数scanf的格式要求(初学者很容易犯错)。
5、通过实例让学生了解三大结构中的顺序结构程序设计方法,学会简单的编程。
教学时数:
3学时
教学内容:
第一节C语句概述(控制语句、表达式语句,重点掌握函数调用语句、空语句以及复
合语句)
第二节赋值语句
第三节数据输入输出的概念及在C语言中的实现(注意头文件的使用)
第四节字符数据的输入输出
一、putchar函数(字符输出函数)
二、getchar函数(字符输入函数)
第五节格式输入与输出
一、printf函数(printf函数的一般形式,格式字符的说明以及带域宽的格式输出)
二、scanf函数(scanf函数的一般形式,格式说明以及使用scanf函数时应注意的问
题)
第六节顺序结构程序设计举例(让学生知道分析问题并写出简单程序的方法)
第五章选择结构程序设计
教学要点:
通过本章的学习掌握关系运算符及关系表达式;掌握逻辑运算符及逻辑表达式;重点掌握if语句的三种形式;熟练掌握if语句的嵌套使用和多分支switch语句的格式、功能及其使用。
1、掌握关系、逻辑运算符及其优先次序以及关系表达式的使用
2、重点掌握if语句的三种形式和各自功能(让学生区分清楚)
3、熟练掌握if语句的嵌套,使得学生对if…else的配对有清晰的认识
4、掌握条件运算符的使用
5、熟练掌握多分支switch语句的格式、功能及其使用。
教学时数:
4学时
教学内容:
第一节关系运算符和关系表达式
一、关系运算符及其优先次序(自身关系运算符的优先级及与其他运算符混合运算时的优先级)
二、关系表达式(关系表达式值的逻辑判断)
第二节逻辑运算符和逻辑表达式
一、逻辑运算符及其优先次序(自身逻辑运算符的优先级及与其他运算符混合运算时的优先级)
二、逻辑表达式(逻辑表达式值的判断,尤其要掌握(a&&b&&c)与(a||b||c)这样特殊的式子的运算规则)
第三节if语句
一、if语句的三种形式(区分三种形式各自的特点以及用法,还应对if语句中表达式的可能出现形式作重点讲解)
二、if语句的嵌套(阐明if…else的配对关系(本节的重点))
三、条件运算符(条件运算符的结合方向及嵌套)
第四节switch语句(注意switch语句格式和执行过程及配合break的使用)
第五节程序举例(判断闰年的例子重点分析让学生重点掌握选择结构编程)
第六章循环控制
教学要点:
通过本章的学习领会程序设计中构成循环的方法。
掌握for、while、do-while语句的用法,掌握它们的区别及三循环之间的嵌套,了解break、continue在循环语句中的作用。
1、了解goto语句以及用goto语句构成循环
2、掌握while语句和do…while语句实现的循环的用法和两者区别
3、重点掌握用for语句实现循环(形式最为灵活)
4、for、while、do-while三循环之间的嵌套也是本章的重点
5、了解break、continue在循环语句中的作用,能灵活使用。
教学时数:
4学时
教学内容:
第一节概述
第二节goto语句以及用goto语句构成循环(goto语句一般不宜采用)
第三节用while语句实现循环(其一般形式及用法)
第四节用do…while语句实现循环
一、其一般形式及用法
二、重点讲解while语句和do…while语句实现的循环的区别
第五节用for语句实现循环
一、其一般形式及用法
二、for语句中表达式的缺省以及循环体语句的形式
第六节循环的嵌套(for、while、do-while三循环之间的嵌套是本章的重点,要深刻领会)
第七节几种循环的比较(for、while、do-while三循环之间的比较,for语句的功能最强)
第八节break语句和continue语句
一、break语句(了解其在循环语句中所起的作用,灵活运用)
二、continue语句(了解其在循环语句中所起的作用,注意区分break语句)
第九节程序举例(这是本章重点,一定要将例子透彻,使学生能灵活地应用循环进行编程)
第七章数组
教学要点:
通过本章的学习熟练掌握一维数组、二维数组、字符数组的定义、初始化和引用方法;掌握字符数组、字符串的输入输出以及字符串的处理函数。
1、熟练掌握一维数组、二维数组、字符数组的定义、初始化和引用方法
2、起泡(冒泡)排序和选择排序等一维数组的应用实例要作详细讲解
3、了解字符串和字符串结束标志
4、掌握字符数组的输入输出以及字符串处理函数
教学时数:
6学时
教学内容:
第一节一维数组的定义和引用
一、一维数组的定义(阐明C不允许对数组的大小作动态定义及最小下标从0开始等概念)
二、一维数组元素的引用
三、一维数组的初始化
四、一维数组程序举例(起泡(冒泡)排序等一维数组的应用实例要作详细讲解)
第二节二维数组的定义和引用
一、二维数组的定义(“按行存储”)
二、二维数组的引用
三、二维数组的初始化(注意第一维长度可省而第二维长度不能省的情况)
四、二维数组程序举例(矩阵转置、求矩阵最大值等相关实例)
第三节字符数组
一、字符数组的定义
二、字符数组的初始化
三、字符数组的引用(输出图形)
四、字符串和字符串结束标志(讲清楚逐个字符初始化和字符串常量初始化数组的区别)
五、字符数组的输入输出(明确格式说明“%s”和“%c”输入输出的区别)
六、字符串处理函数(puts(),gets(),串连接strcat(),串复制strcpy(),串比较strcmp(),求串长strlen()等)
七、字符数组应用举例
第八章函数
教学要点:
通过本章的学习理解模块化程序设计的思想;掌握函数定义的形式;了解形式参数与实际参数的概念;熟练掌握参数传递、函数值的返回;掌握函数调用的一般形式、调用方式;掌握数组作为函数参数的使用;理解并掌握局部变量与全局变量的概念、作用范围、存储方式;了解内部函数、外部函数的含义和使用。
1、领会模块化程序设计的思想
2、掌握函数的基本结构及定义方式
3、熟练掌握函数调用,函数嵌套调用和参数传递(本章重点)
4、掌握函数的递归调用和递归函数设计
5、了解变量存储类型的概念及各种存储类型变量的生存期和有效范围
6、明确函数定义与函数声明的区别
7、了解内部函数、外部函数的含义和使用
教学时数:
8学时
教学内容:
第一节概述
一、模块化程序设计的思想
二、库函数的正确调用和用户自定义函数
第二节函数定义的一般形式
一、无参函数定义的一般形式
二、有参函数定义的一般形式
三、空函数(空函数在实际编程中的作用)
第三节函数参数和函数的值
一、形式参数和实际参数(阐明两者的区别、“值传递”)
二、函数的返回值(注意函数返回值和return语句中表达式值的类型不一致的情
况)
第四节函数的调用
一、函数调用的一般形式(注意TurboC对实参按自右而左的顺序求值)
二、函数调用的方式(函数语句,函数表达式,函数参数)
三、对被调用函数的声明和函数原型(区分函数的定义和声明,阐明函数原型的一
般形式,函数声明的意义等)
第五节函数的嵌套调用(阐明嵌套调用的特点即C语言不能嵌套定义函数,但可以
嵌套调用函数,注意对被调函数的适当声明)
第六节函数的递归调用(一般递归函数的程序段的设计(用if语句实现),要求掌
握n!
这一类问题的递归解法)
第七节数组作为函数参数
一、数组元素作函数实参
二、数组名作函数参数(本节重点,用实例阐明它与别的函数参数的不同)
三、多维数组名作函数参数
第八节局部变量和全局变量
一、局部变量(局部变量的定义、使用,注意其在复合语句中的使用)
二、全局变量(阐明其有效范围从定义处开始,分析全局变量的优缺点)
第九节变量的存储类别
一、动态存储方式与静态存储方式(阐明作用域和生存期的不同)
二、auto变量
三、用static声明局部变量(本节重点,阐明其生存期和作用域,赋初值及执行情况)
四、register变量(一般了解内容)
五、用extern声明外部变量(阐明用extern声明外部变量的作用是扩展外部变量的作用域,分在一个文件内声明外部变量和在多文件的程序中声明外部变量介绍)
六、用static声明外部变量(阐明加static声明外部变量只起限制作用范围而已)
七、关于变量的声明和定义(阐明定义性声明和引用性声明的区别)
八、存储类别小结(结合实例让学生领会并灵活运用)
第十节内部函数和外部函数(一般了解内容)
一、内部函数
二、外部函数
第九章预处理命令
教学要点:
通过本章的学习了解宏定义的格式,不带参数与带参数宏定义的区别、用法;掌握文件包含处理;了解条件编译的命令格式、用途、使用方法等。
1、了解预处理命令的特点
2、掌握宏定义的一般形式及使用方法
3、重点掌握带参数的宏定义(尤其注意参数括号的使用,了解带参函数调用与带参数
宏定义的区别)
4、领会文件包含处理的用途及使用方法
5、了解条件编译
教学时数:
2学时
教学内容:
第一节宏定义
一、不带参数的宏定义(其一般形式及使用方法,#undef的使用)
二、带参数的宏定义(其一般形式及使用方法,重点阐明宏定义中替换的形参使用括号与否的区别,带参函数调用与带参数宏定义的区别)
第二节“文件包含”处理(领会其在程序设计中的作用及使用方法)
第三节条件编译(一般了解内容)
第十章指针
教学要点:
通过本章的学习重点掌握指针与指针变量的概念,指针与地址运算符的关系;熟练掌握变量、数组、字符串的指针以及指向变量、数组、字符串的指针变量,并能通过指针灵活引用这些类型的数据;熟练掌握指针变量作函数参数的用法以及数组名作函数参数的使用;理解指向函数的指针的定义,使用及返回指针值的函数的使用,;掌握指向指针的指针和指针数组的概念及使用。
1、重点掌握指针与指针变量的概念,指针与地址运算符的关系
2、熟练掌握变量的指针、指针变量含义和区别,重点掌握指针变量的定义、初始化、
赋值和引用方法。
明确取地址运算符&和指针运算符*的使用。
3、熟练掌握变量、数组、字符串的指针以及指向变量、数组、字符串的指针变量,并
能通过指针灵活引用这些类型的数据
4、熟练掌握指针变量作函数参数(注意区分普通变量作函数参数)的用法以及数组名
作函数参数的使用
5、理解指向多维数组的指针和指针变量(以二维数组为主)
6、理解指向函数的指针变量和返回指针值的函数的定义和引用方法
7、掌握指针数组和二级指针变量的定义、初始化和引用
8、了解指针数组作main函数的形参
教学时数:
10学时
教学内容:
第一节地址和指针的概念(形象化导入指针概念,理解指针、地址、指针变量的关
系)
第二节变量的指针和指向变量的指针变量
一、定义一个指针变量(定义的一般形式,阐明定义形式中的“*”和基类型)
二、指针变量的引用(明确地应用取地址运算符&和指针运算符*)
三、指针变量作为函数参数(阐明指针变量与普通变量作为函数参数的异同,并能灵活应用)
第三节数组与指针
一、指向数组元素的指针(阐明数组名的含义)
二、通过指针引用数组元素(理解引用数组元素的下标法和指针法,同时注意阐明指针变量的运算)
三、用数组名作函数参数(本节重点内容,结合实例讲解)
四、多维数组与指针(多维数组的地址,指向多维数组的指针变量及多维数组的指针作函数参数)
第四节字符串与指针
一、字符串的表示形式(明确C语言对字符串常量按字符数组处理,掌握字符串指针变量的用法)
二、字符指针作函数参数
三、对使用字符指针变量和字符数组的讨论(掌握字符指针变量和字符数组实现字符串的异同)
第五节指向函数的指针
一、用函数指针变量调用函数(指向函数的指针变量的一般定义形式,通过函数指针调用函数的方法、格式,给函数指针变量赋值)
二、用指向函数的指针作函数参数
第六节返回指针值的函数(带回指针值的函数的一般定义形式及使用)
第七节指针数组和指向指针的指针
一、指针数组的概念(指针数组的定义形式及用法)
二、指向指针的指针
三、指针数组作main函数的形参(一般了解内容)
第八节有关指针的数据类型和指针运算的小结
一、有关指针的数据类型的小结
二、指针运算小结
三、void指针类型
第十一章结构体与共用体
教学要点:
通过本章的学习了解自定义数据类型以及为何要引入结构体和共用体;熟练掌握结构体变量、共用体变量和结构体数组的定义、使用、初始化;了解指向结构体类型数据的指针的用法;掌握枚举类型的使用及用指针处理链表;了解用typedef定义类型。
1、使学生了解自定义数据类型以及引入结构体和共用体的目的
2、熟练掌握结构体变量、共用体变量和结构体数组的定义、使用、初始化方法
3、熟练掌握指向结构体类型数据的指针的用法
4、领会链表的概念、建立、输出及常用的操作,能明确地应用指针处理链表
5、掌握枚举类型的使用及用typedef定义类型
教学时数:
8学时
教学内容:
第一节概述(阐明自定义数据类型,为何要引入结构体和共用体及结构体类型的定
义格式)
第二节定义结构体类型变量的方法(阐述定义结构体类型变量三种方法,结构体的
嵌套,类型与变量的区别等)
第三节结构体变量的引用(引用结构体变量中成员的方式等)
第四节结构体变量的初始化
第五节结构体数组
一、定义结构体数组(阐明结构体数组与数值型数组的异同)
二、结构体数组的初始化
三、结构体数组应用举例
第六节指向结构体类型数据的指针
一、指向结构体变量的指针(注意引入指向结构体变量的指针后访问结构体变量成员的三种形式)
二、指向结构体数组的指针(结合实例阐明“->”运算符和指针的自增自减运算相结合的使用情况)
三、用结构体变量和指向结构体的指针作函数参数
第七节用指针处理链表
一、链表概述(了解链表的简单概念)
二、简单链表(掌握如何建立和输出简单链表)
三、处理动态链表所需的函数(malloc函数,calloc函数及free函数)
四、建立动态链表
五、输出链表
六、对链表的删除操作
七、对链表的插入操作
八、对链表的综合操作(将建立、输出、插入、删除等组织在一起讲解一综合实例,为数据结构课程中的链表打下基础)
第八节共用体
一、共用体的概念(共用体类型变量的一般形式,共用体类型变量的定义方式)
二、共用体变量的引用方式
三、共用体类型数据的特点(阐明其与结构体的区别)
第九节枚举类型(定义形式,枚举类型变量的定义,枚举元素的初值等)
第十节用typedef定义类型(一般用法,何时使用typedef定义类型及其与宏定义
的区别
第十二章位运算
教学要点:
通过本章的学习了解位运算的基本概念,掌握位运算符的用法和表达式的使用;了解位段的使用。
1、掌握位运算符和位运算
2、了解位运算的举例
3、简单了解位段的使用
教学时数:
1学时
教学内容:
第一节位运算符和位运算
一、“按位与”运算符(&)
二、“按位或”运算符(|)
三、“异或”运算符(∧)
四、“取反”运算符(~)
五、左移运算符(<<)
六、右移运算符(>>)
七、位运算赋值运算符
八、不同长度的数据进行位运算
第二节位运算举例
第三节位段
第十三章文件
教学要点:
通过本章的学习熟练掌握文件类型指针,了解文件定义、打开、读写、定位及关闭基本操作的实现。
1、熟练掌握文件类型指针
2、了解文件定义
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 语言程序设计