资源描述
《高级语言程序设计》课程教学大纲
一、课程基本信息
课程名称
高级语言程序设计
学分
3
总学时
48
理论学时
24
实践学时
24
课程性质
专业必修课
先修课程
计算机导论、计算机应用基础
适用专业
计算机相关专业
二、课程性质与目的
课程性质:《高级语言程序设计》是计算机科学与技术专业的一门专业基础课。通过讲 授高级语言程序设计的基本概念、基本思想、基本方法和基本技能,具备高级语言程序设计 能力,进而学会用C语言解决实际应用问题,提高学生应用计算机解决实际问题的能力。 初步积累编程经验,为学生后续的《数据结构》、《Java基础》课程学习、以及《毕业设计》 的开发与设计奠定专业基础。
此课程不仅使学生掌握高级编程语言的知识、编程技术和基本算法,更重要的是掌握程 序设计的思想和方法,具备利用计算机求解各专业实际问题的基本能力。课程的重点集中在 语法知识、程序控制结构、数组、结构体、指针等知识点及其应用。
课程目的:该课程采用案例工程式教学,其基本任务是让学生理解并掌握高级语言程序 设计的基本理论、编程技术和基本算法,掌握计算机处理问题的思维方法,应用VC++软件 进行规范化的软件开发,并能将现实生活中遇到的复杂问题抽象为计算模型,分析解决计算 机处理实际问题的过程,激发学习兴趣和潜能,提升计算机语言的学习能力。
三、课程目标
(一)课程知识目标
要求学生掌握C语言程序设计的基本概念和基本方法。主要包括以下内容:
1. c语言基础知识:包括C语言的基本数据类型、运算符与表达式;
2. C语言基本程序结构:包括顺序结构程序、选择结构程序、循环结构程序;
(2)编写程序查找一个英文句子中的最长单词;
(3)编写基于递归的冒泡排序程序,并编写测试程序进行测试;
(4)编写基于递归的选择排序程序,并编写测试程序进行测试。
主要仪器:计算机,Win7系统+CB或VC
实验六
实验编号:6
实验名称:指针及其应用
实验学时:2
实验类别:验证
实验性质:必做
实验目的:
(1)掌握指针变量的定义与初始化;
(2)掌握指针访问一维数组的方法;
(3)掌握使用字符指针表示及访问字符串的方法;
实验内容:
(1)用指针法编写函数myStrcmp(char*t, char*s),实现与Strcmp等价的功能;
(2)计算学生总分,并按总分降序输出学生成绩信息,编写测试程序进行测试。
主要仪器:计算机,Win7系统+CB或VC
实验七
实验编号:7
实验名称:结构体及其应用
实验学时:2
实验类别:验证
实验性质:必做
实验目的:
(1)掌握结构体类型的定义;
(2)掌握对结构体成员的引用;
(3)掌握结构体变量的定义和应用。
实验内容:
(1)编程设计一个存储手机通讯录的结构体类型,并定义结构体变量,输入某通讯录信息并在屏幕
上输出;
主要仪器:计算机,Win7系统+CB或VC
七、课程成绩考核方法
为了达成课程目标,采用的教学环节有课堂教学、在线教学平台(教学视频、留言板、 作业、测试)、课堂实践。目的是让学生通过课程学习,逐步掌握面向对象编程的应用方法 和技巧。
1 .课堂教学:课堂讲授以传授基本知识、基本原理、程序设计的基本控制结构、复杂 的数据结构(数组、结构体、指针等)的程序分析与设计方法为主,以提出问题、分析问 题、解决问题、案例应用为主要手段,尽可能多地介绍规范化程序设计的具体应用,结合 算法案例、课堂练习,课后配合在线学习平台教学视频、留言板、作业、测试等多种方式 巩固课堂教学内容。
2 .课程成绩:学生应按要求参加全部的课堂教学活动,按要求独立完成作业。
期末考试:针对课程的基本知识、程序设计的基本控制结构、复杂的数据结构(数 组、结构体、指针等)的程序分析与设计方法、综合应用等方面进行考核,题型包括填 空题、选择题、简答题、程序设计题等。
3 .课程成绩评定包括三个局部:在线平台学习占20 %;实验30%;闭卷考试占50 %。
九、教材及参考文献
4 .教材:
5 .参考书:
3. C语言中复杂数据类型及其应用:包括函数的定义和应用、数组的应用、指针的应 用以及结构体的应用。
(二)课程素质目标
L通过编写程序培养学生耐心、细致、有条理的工作作风,通过调试程序培养学生面对 问题时自信、沉着、冷静的心理素质;
2 .培养学生在解决比拟复杂的问题时,把握全局、统筹规划的能力;
3 .培养学生相互协作的能力与团队精神;
4 .使学生初步建立计算思维(程序化思维)的思想。
(三)课程能力目标
1 .能够理解、掌握面向过程软件开发的基本概念、基本原理、基本方法及软件开发规 范;
2 .掌握软件模块化设计思想,能综合运用程序设计的基本原理和基本方法,对软件开 发中的实际问题进行分析;
3 .能够应用软件规范,使用函数进行模块化程序设计,具有在复杂程序中使用数组、 结构体、指针等数据结构解决问题的能力;
4 .具有使用现代开发工具进行程序的编写、运行、调试及进一步学习其他计算机语言 的能力;
(四)课程德育目标
注重在课程课件和实验教学素材中融入思想政治教育的内容,实现思想政治教育工作贯 穿于教育教学全过程,实现知识传授、能力培养与价值引领的有机统一,着力培养有社会责 任、有创新精神、有专门知识、有实践能力、有健康身心的应用型高级专门人才。
四、学时分配
章节(专题)
各章(专题)名称
讲授
学时
实验
学时
第一章(专题一)
C语言概述
2
0
第二章(专题二)
C语言基础知识
2
2
第三章(专题三)
算法与c语言程序设计
4
8
第四章(专题四)
函数
4
4
第五章(专题五)
数组
6
6
第六章(专题六)
指针
2
2
第七章(专题七)
自定义数据类型
2
2
第八章(专题八)
文件
2
0
24
24
五、课程内容及要求
1 . C语言概述(理论2学时)
1.1 程序设计语言
L2C语言简介
1.3 C语言程序的基本结构
L4C语言程序的开发工具
知识要求:
(1)能理解程序、程序设计、程序设计语言的基本概念;
(2)能安装、使用C语言开发环境;
(3)能够编写简单C程序并编译运行;
重点:能理解程序、程序设计、程序设计语言的基本概念;安装、使用C语言开发环境;
编写简单C程序并编译运行;
难点:安装开发环境,编写简单C程序并编译运行;
作业:开发环境安装1题,开发工具使用1题
2 .C语言基础知识(理论2学时,实验2学时)
2.1 C程序中的常见符号
2.2 数据类型
2.3 运算符与表达式
2.4 数据类型转换
要求:(1)能使用C语言的基本数据类型及表示范围;
(2)能进行C语言变量定义及初始化;
(3)能使用C语言算术运算、关系运算、赋值运算和++、--等常用运算符进行数据 运算;
(4)能使用赋值相容规那么和强制类型转换;
重点:能使用数据类型定义变量和常量;使用各种运算符进行数据运算;能进行数据类型转 换。
难点:各种数据类型变量的表示范围;强制类型转换。
作业:各类数据运算5题,数据类型转换1题
3 .算法与C语言程序设计(理论4学时,实验8学时)
3.1 算法与算法描述
3.2 顺序结构
3.3 选择结构
3.4 循环结构
要求:(1)能够理解算法的概念及特点,掌握算法的描述方法;
(2)能进行简单的顺序结构程序设计;
(3)能掌握if语句、if-else语句、嵌套if-else语句及switch多分支语句的使用;
(4)能使用while语句,for语句及do while语句实现循环控制;
(5)能使用break、continue及goto语句实现程序的跳转;
(6)能应用迭代法、穷举法等方法进行问题求解;
重点:理解算法与算法表示方法;掌握选择控制结构语句的使用;使用计数法、标记法等循 环控制语句;通过迭代、递推、穷举等方法实现循环程序设计。
难点:多分支和多重循环控制的设计方法;利用分支与循环控制语句进行问题求解。
作业:选择结构程序设计4题,循环结构程序设计5题
4,函数(理论4学时,实验4学时)
1.1 函数概述;
1.2 函数的定义
1.3 函数调用
1.4 函数嵌套调用
1.5 函数递归调用
1.6 变量的作用域与生存期
要求:(1)能掌握C语言函数的分类,函数声明的方法;
(2)能掌握函数有参、无参,有返回值、无返回值的定义与调用方法;
(3)能掌握函数的嵌套调用和递归调用方法;
(4)能利用模块化程序设计思想,进行问题求解。
(5)能利用变量的作用域与生存期实现数据传递。
重点:函数的定义、声明与调用方法;通过函数调用实现参数传递;通过典型问题实现函数 嵌套与递归调用;利用模块化程序设计思想,进行问题求解;利用变量的作用域与生存期实 现数据传递。
难点:通过典型问题实现函数递归调用;利用模块化程序设计思想求解问题。
作业:函数的定义与调用2题,函数的嵌套与递归调用2题,变量的作用域1题。
5 .数组(理论6学时,实验6学时)
5.1 一维数组
5.2 二维数组
5.3 字符数组
要求:(1)能对一维数组和二维数组进行定义、引用与初始化;
(2)能使用一维数组,实现数据的查找、删除、插入、排序等操作;
(3)能够理解字符串的存储结构特点,利用字符数组存储、处理字符串数据;
(4)能利用字符串函数处理字符数据;
(5)能根据数据特点定义数组存储批量数据,并通过算法实现数据处理;
重点:一维数组和二维数组的定义、引用与初始化;数组作函数参数;利用数组对批量数据 进行存储和处理;字符数组的使用。
难点:数组作函数参数;利用数组对批量数据进行存储和处理。
作业:数组的定义、引用与初始化4题,数组作函数参数2题,字符数组2题。
6 .指针及其应用(理论2学时,实验2学时)
6.1 指针概述
6.2 指针变量
6.3 指针与函数
6.4 指针与数组
6.5 字符指针
6.6 指针的高级应用
要求:(1)能区分指针与指针变量;
(2)能掌握指针变量的定义与初始化,利用指针间接访问变量;
(3)能掌握指针作为函数参数进行参数传递,区分值传递与地址传递;
(4)能应用指针访问数组,进行指针运算;
(6)能理解数据存储空间的动态内存分配。
重点:利用指针间接访问变量;应用指针访问数组,进行指针运算;指针数组的定义及使用;
动态内存分配。
难点:指针作为函数参数进行参数传递;动态内存分配。
作业:指针变量的定义与初始化2题,指针与函数1题,指针与数组3题,字符指针3题。
7 .自定义数据类型(理论2学时,实验2学时)
7.1 结构体变量的定义和使用
7.2 结构体数组
7.3 结构体指针
7.4 动态数据结构
要求:(1)能掌握结构体类型与结构体变量的定义;
(2)能利用指针访问结构体变量成员;
(3)能掌握向函数传递结构体变量;
重点:掌握结构体类型与结构体变量的定义;利用指针访问结构体变量成员;利用结构体数 组存储大规模复杂数据对象。
难点:应用结构体数组存储复杂对象集合。
作业:结构体类型的定义1题,结构体数组2题。
8 .文件(理论2学时)
8.1 文件概述
8.2 文件的翻开和关闭
8.3 文件的读/写操作
要求:(1)能掌握文件的基础知识;
(2)能掌握文件的翻开与关闭操作,实现文件的随机读取及应用;
(3)能利用函数,实现文件的读写操作。
重点:文件的基础知识;文件的翻开与关闭操作;文件读/写函数的使用。
难点:文件读/写函数的使用。
作业:文件的翻开和关闭1题。
六、本课程的实验环节
实验一
实验编号:1
实验名称:数据类型、运算符与表达式
实验学时:2
实验类别:验证
实验性质:必做
实验目的:
(1)熟悉实验环境Visual C++ 6.0;掌握变量和常量的概念;
(2)掌握整形、浮点型和字符型变量的定义和引用方法;
(3)掌握简单算术表达式的书写与求值方法。
实验内容:
(1)调试程序,并分析程序的输出结果;
(2)a为4位整数,编写程序,求其反序数存入变量b后输出;
(3)编写程序,立方体的长、宽、高,计算立方体的体积和各侧面面积并输出。
主要仪器:计算机,Win7系统+CB或VC
实验二
实验编号:2
实验名称:算法与C语言程序设计
实验学时:2
实验类别:验证
实验性质:必做
实验目的:
(1)掌握字符输入/输出函数的使用方法;
(2)掌握格式输入/输出函数的使用方法;
(3)能够应用输入/输出与算术运算符进行顺序结构程序设计。
实验内容:
(1)编程从键盘输入一个小写英文字母,将其转换成大写英文字母及其十进制的ASCII码值显示在
屏幕上;
(2)完善实验一(2)程序,要求a为从键盘上输入的4为整数;
(3)完善实验一(3)程序,要求能够从键盘上输入立方体的长、宽、高,并计算立方体的体积和各 侧面面积并输出。
(4)华氏温度与摄氏温度的转换公式,编写程序从键盘输入华氏温度将其转换成摄氏温度并输 出。
主要仪器:计算机,Win7系统+CB或VC
实验三
实验编号:3
实验名称:程序基本控制结构
实验学时:6
实验类别:验证
实验性质:必做
实验目的:
(1)掌握if语句,if else语句及嵌套if else语句的用法;
(2)掌握switch case多分支语句;
(3)掌握for语句及do while语句实现循环控制的方法;
(4)掌握三种循环控制结构,并设计程序。
实验内容:
(1)编写输入三条边长a、b、c,判断它们能否构成三角形,假设构成三角形,那么进一步判断此三角形 是哪种类型的三角形;
(2)编写一个程序,输入年和月,输出该月有多少天;编写程序从键盘输入一个无符号整数,输出 它的各位数字之和;
(3)编写程序求1! +2! +3! +…+20!的和;
(4)编程找到三位数中所有的幻影素数,并统计共有多少对二
(5)采用循环程序设计,分别在屏幕中央输出到三角形和棱形图形;
(6)编程求正整数a和b的最大公约数;
(7)编程解决“百钱买百鸡”的问题。
(8)编程分析出正确的母子关系,3个母亲为A、B、C, 3个孩子为X、Y、Z。其中3位孩子的回答 如下:A说她的孩子是X; X说他的妈妈是C; C说Z是他的孩子。
主要仪器:计算机,Win7系统+CB或VC
实验四
实验编号:4 实验名称:函数及其应用
实验学时:4
实验类别:验证
实验性质:必做
实验目的:
(1)掌握无参数函数,有参数函数的定义与调用方法;
(2)熟悉函数声明的方法;
(3)初步掌握模块化程序的设计基本思想,并能进行问题求解。
实验内容:
(1)编写一个函数int sum(int n),求1+2+3+…+n的和作为函数的返回结果,并编写main函数进行 测试;
(2)设计函数bool isSxh(int n)判断整数n是否是水仙花数,假设是那么返回turn,否那么返回false。 编写函数输出所有的水仙花数;
(3)编写一个函数print (int n)在屏幕中央按金字塔规律输出n行图形,并编写main函数进行测 试。
主要仪器:计算机,Win7系统+CB或VC
实验五
实验编号:5
实验名称:数组及其应用
实验学时:6
实验类别:验证
实验性质:必做
实验目的:
(1)熟练掌握简单项选择择排序、冒泡排序、二分查找等算法;
(2)理解字符串的存储结构特点;
(3)能够设计基于一维数组的递归算法程序。
实验内容:
(1)设计双向冒泡排序程序,并编写测试程序进行测试;
展开阅读全文