第一篇:高级程序设计-教学大纲
高级程序设计
Advanced Programming Languages
课程编码:05305100 学分:2.5 课程类别:专业方向课(必修)计划学时:48 其中讲课:32 实验或实践:0 上机:16 适用专业:电子商务
推荐教材:王路群《JAVA高级程序设计》,中国水利水电出版社,2006年。
参考书目:陈静,杨青,郑世珏,《高级语言程序设计与应用教程》,清华大学出版社,2006年。
王浩,《高级语言程序设计》,武汉理工大学出版社,2006年。
课程的教学目的与任务
通过本课程的讲授,使学生在已有JAVA基础上,进一步深入的学习,为今后从事信息系统开发与研究奠定程序基础。该课程围绕着JAVA开发的整个过程,系统地讲解JAVA基础知识基础上,对更难的部分进行学习,如AWT编程、Swing编程、JAVA中流传输的语法、技巧和应用,并对数据库访问进行讲述,对网络编程等高层次的程序进行了深入研究,涉及很多J2EE方面的知识。其目的是扩大学生的程序学习及写作技巧,以提高未来应对不同类型信息系统开发的能力。
课程的基本要求
1、JAVA语言的基本特点及基本语法。
2、异常处理基本原则。
3、AWT和Swing、Applet应用。
4、多线程机制、流传输、数据库访问
5、网络编程。
6、JAVA中API的介绍,JAVABEAN的简单使用。
各章节授课内容、教学方法及学时分配建议(含课内实验)
第一章 JAVA基础知识回顾 建议学时:2 [教学目的与要求]
回顾JAVA的基本写法,完成程序要求。[教学重点与难点] 如何写一个完整的、标准的程序。
[授 课 方 法] 以课堂讲授为主,课堂讨论和课下自我调试为辅。[授 课 内 容] 第一节 JAVA语言基础
一、JAVA语言特点、开发平台、两种程序类型
二、标识符、关键字、常量与变量、数组 第二节 运算符、表达式
一、运算符、表达式
二、流程控制语句
三、随机数产生、数的处理(例1:水仙花数;例2:随机数产生并排序)第三节 类、对象、接口
第二章 异常 建议学时:4 [教学目的与要求] 异常处理方法。
[教学重点与难点] try…catch,throws与finally使用。[授 课 方 法]
以课堂讲授为主,课堂讨论和课下自学为辅。[授 课 内 容] 第一节 什么是异常
一、异常处理基础
二、JAVA异常处理机理 第二节 异常常用方法
一、JAVA内置异常
二、聊天室的异常处理
第三章 用户界面GUI 建议学时:6 [教学目的与要求] AWT组件、常用组件使用方法、JAVA2D、JAVA3D [教学重点与难点] Graphics类、布局设计、Component组件。[授 课 方 法]
以课堂讲授为主,课堂讨论和课下自学为辅。[授 课 内 容] 第一节 AWT组件工具集 第二节 GUI组件上的图形操作
一、Graphics类
二、组件重绘
三、绘制基本图形
四、建立字体
第三节 常用的AWT组件
一、文本框和文本区
二、画板和画布
三、Component类使用方法 第四节 Dialog类
第四章 Swing 建议学时:8 [教学目的与要求] Swing使用、框架、图标标签。
[教学重点与难点] 各种组件使用、JButton、JCheckBox、JRadioButton等等。[授 课 方 法]
以课堂讲授为主,课堂讨论和课下自学为辅。[授 课 内 容] 第一节 从AWT到Swing
一、Swing框架
二、Jframe、JDialog、JApplet 第二节 图标与标签 第三节 各种组件
一、Jbutton
二、JcheckBox
三、Jtextfield、Jmenu、JtoolBar
四、Jtree 第五章 I/O输入输出流 建议学时:8 [教学目的与要求] I/O输入输出流。
[教学重点与难点] 流的概念、字节流、字符流、预定义流、File类。[授 课 方 法]
以课堂讲授为主,课堂讨论和课下自学为辅。[授 课 内 容] 第一节 流的概念
第二节 字节流、字符流、预定义流
一、字节流
二、字符流
三、预定义流 第三节 File类
一、InputStream和outStream
二、FileInputStream和FileOutStream
三、Reader和Writer
四、RangdomAccessFile 第六章 JAVA数据库连接 [教学目的与要求] JDBC原理、配置、程序。[教学重点与难点] 配置、数据存储、读取。
[授 课 方 法]
以课堂讲授为主,课堂讨论和课下自学为辅。[授 课 内 容] 第一节 JDBC原理
一、JDBC概述
二、JDBC体系结构
三、JDBC连接步骤 第二节 JDBC编程
一、配置数据库
二、查询
三、更新、添加、删除
第七章 JAVA网络编程 [教学目的与要求] 网络编程基础知识、JAVA提供的网络类与接口。[教学重点与难点] JAVA套接字、网络类、接口。
[授 课 方 法]
以课堂讲授为主,课堂讨论和课下自学为辅。[授 课 内 容]
建议学时:8
建议学时:6 第一节 网络编程基础
一、URL
二、Internet编址与端口号
三、客户/服务器模式
四、代理服务器
五、Tcp/IP和Udp协议 第二节 JAVA和网络
一、网络类与接口
二、InetAddress类
三、URL类
四、URLConnection类 第三节 JAVA编写TCP网络程序
一、套接字概述
二、客户套接字
三、服务器套接字
第八章 JAVA API 建议学时:6 [教学目的与要求] 掌握API常用的数学的方法,JAVA.Lang包中的系统类。[教学重点与难点] JAVA.Util中的实用工具集。
[授 课 方 法]
以课堂讲授为主,课堂讨论和课下自学为辅。[授 课 内 容] 第一节 理解API概念 第二节 数据类型类
一、java.Lang包
二、Number及其子类 第三节 字符串处理
一、java.lang.String
二、java.lang.StringBuffer 第四节 java.lang 包 第五节 java.util包
撰稿人:马金柱 审核人:徐伟
第二篇:高级程序设计教学大纲
华中科技大学文华学院 《高级程序设计》课程教学大纲
一、课程名称:高级程序设计 Senior Program Design
二、课程编码:
三、学时与学分:32/2
四、先修课程:C语言程序设计
五、课程性质:必修
六、课程教学目标及要求 高级程序设计是计算机相关类本科生的一门专业必修课,是在程序设计基础(C 语言)后的一门重要的后续课程,它是为学生掌握当前最基本的程序设计方法而设置的。高级程序设计对降低软件的复杂性,改善其重用性和可维护性,提高软件的生产率,有着十分重要的意义。通过本课程的学习,使学生理解面向对象程序设计思想,掌握面向对象程序设计的基本概念和技术。由于程序设计思想、概念和技术离开了具体的实现语言会显得太抽象,本课程选择 C++ 作为面向对象程序设计的实现语言。
通过本课程的学习,学生对面向对象的程序设计思想、概念和技术有较好的理解。通过面向对象思维的训练,使学生逐渐掌握现代编程能力,为今后的软件开发和各种信息处理打下良好的基础。
七、适用学科专业
计算机相关专业
八、基本教学内容与学时安排
第一章 面向对象程序设计基本概念(2学时)
【内容】
面向对象程序的主要结构特点、对象与类、对象的状态、对象的交互、数据的抽象和分装、继承与封装、多态与重载的基本概念。
【基本要求】
要求能用 C++ 语言编写结构和类、并实现类的抽象与封装,分清类与对象的
不同,并初步掌握多态与重载。
【重点与难点】
重点:类、封装、继承、多态的概念;
难点:多态与重载。
第二章 C++ 面向对象技术特点和概述(4学时)
【内容】
I/O 流、变量说明与作用域、函数声明与参数传递、结构、联合与类的比较、const 修饰符、inline 关键字、函数重载、作用域运算符、类型转换、new 和 delete、指针和应用。
【基本要求】
要求能用 C++ 语言编写含有 I/O 流输入输出的程序 , 理解 inline 关键字的作用,能用 new 和 delete 实现对象的内存管理,掌握和理解 this 指针。
【重点与难点】
重点:内存管理;
难点:this指针。
第三章 类和对象的基本概念(2学时)
【内容】
结构与类、类的声明、私有成员和公有成员、成员函数和数据成员的定义、对象的定义及引用、构造函数与析构函数、带缺省参数的构造函数、构造函数重载、拷贝构造函数、对象数组和对象指针、向函数传递对象、静态成员、友员成员、类对象成员。
【基本要求】
要求能用 C++ 语言编写程序,进一步掌握私有成员和公有成员的概念,定义成员函数和数据成员,掌握对象的定义和引用,自定义和重载构造和析构函数,灵活运用静态成员、友员成员、类对象成员和正确使用对象数组和对象指针。
【重点与难点】
重点:构造函数、析构函数;
难点:友元、对象数组和指针。
第四章 派生类与继承(2学时)
【内容】
继承、派生类声明、公有派生和私有派生、保护成员、派生类的构造与析构、多重继承、多重继承的构造与析构、多重继承的二义性和虚基类。
【基本要求】
要求能用 C++ 语言编写结构和类、并实现类的抽象与封装,分清类与对象的不同,并初步掌握多态与重载。
【重点与难点】
重点:多重继承;
难点:虚基类。
第五章 多态性(2学时)
【内容】
编译时的多态性和运行时的多态性、函数重载、运算符重载(成员和友员、单目和双目)、++ 和 — 的重载(++ 在前和在后)、+ 和-的重载、= 和 []()重载、类型转换、虚函数、纯虚函数和抽象类。
【基本要求】
要求能用 C++ 语言编写程序,着重掌握运算符的重载,正确使用成员函数重载和友员函数重载,掌握类型转换、虚函数和抽象类。
【重点与难点】
重点:运算符的重载,虚函数;
难点:抽象类。
第六章 面向对象程序设计基本概念(2学时)
【内容】
面向对象程序的主要结构特点、对象与类、对象的状态、对象的交互、数据的抽象和分装、继承与封装、多态与重载的基本概念。
【基本要求】
要求能用 C++ 语言编写程序并掌握函数模板和类模板的使用。【重点与难点】
重点:类、封装、继承、多态的概念;
难点:多态与重载。
第七章 模板(2学时)
【内容】
函数模板与模板函数、函数模板的异常处理、类模板与模板类。
【基本要求】
要求能用 C++ 语言编写程序并掌握函数模板和类模板的使用。【重点与难点】
重点:函数模板;
难点:类模板。
第八章C++ 的输入输出流(2学时)
【内容】
C++ 流、流类库、输入输出格式控制、文件输入输出、输入输出流运算符 << 和 >> 的重载。
【基本要求】
要求理解 C++ 的流技术,能使用 Cin、Cout 实现 C++ 语言的输入输出(包括文件),掌握 << 和 >> 运算符的重载。
【重点与难点】
重点:输入输出方式;
难点:运算符重载
第九章 可视化的面向对象编程技术(2学时)
【内容】
可视化编程基本概念、属性方法和事件、可视类和非可视类、容器类和非容器类、控件 / 类和对象、控件和类的封装、自定义控件、控件的继承和重载、软件重用概念。
【基本要求】
要求初步掌握可视化编程的基本概念,理解可视化技术是面向对象编程技术发展的结果,进一步掌握面向对象技术的特点和概念。
【重点与难点】
重点:可视化编程概念;
难点:控件的掌握。
九、使用教材与参考资料
教 材:《C++面向对象程序设计》 谭浩强,清华大学出版社,2006 1版
十、课程考试
考核方式:笔试(闭卷)
评分方式:平时成绩占30%,考试占70%
修订人:吕植成 审定人:
年 月 日
第三篇:高级语言程序设计-教学大纲
《高级语言程序设计》教学大纲(Visual FoxPro)
课程编号:030202 总学时:54学时(含上机24学时)
适用专业:全院管理类所有本、专科专业
一、教 学 内 容
1、数据库基本知识 ①数据库的特点; ②数据库系统分代; ③数据库系统的分类;
④Visual FoxPro文件的主要技术指标; ○5 Visual FoxPro的界面和工作方式
2、数据库的基本操作
①数据库文件的建立,CREATE、APPEND、LIST、DISPLAY;
② Visual FoxPro的命令工资方式,菜单和命令方式、表达式、数组和常用函数;
③修改数据库文件。MODIFY STRUCTURE、INSERET、DELETE、RECALL、PACK、EDIT、CHANGE、BROWSE、REPLACE、SCATTER、GATHER;
④复制数据库文件。COPY STRUCTURE、COPY TO、数据库的结构文件、成批记录的复制; ⑤磁盘文件的基本操作。COPY FILE、RENAME FILE、DELETE FILE、DIR、TYPE FILE;
3、查询和统计
①排序和索引sort、index;
②查询命令locate、find、seek、continue、skip;
③数据工作期、视图文件、表的关联、多工作区查询、库文件的关联; ④SELECT-SQL查询。
○5统计命令COUNT、SUM、AVERAGE、CALCULATE、TOTAL;
4、程序设计初步
①程序文件。程序文件的建立和执行MODIFY COMMAND<命令文件>、DO <命令文件>和菜单方式执行、状态命令设置、INPUT、ACCEPT、WAIT、?、??、; ②程序控制命令。程序设计的三种结构顺序、分支、循环;
③多模块化程序设计。基本概念、子程序、函数、过程、全程变量和局部变量;
5、窗口设计
①窗口操作命令。窗口的定义与修改DEFINE WINDOW、ACTIVATE WINDOW、MODIFYWINDOW、HIDE WINDOWS、SHOW WINDOW、DEACTIVATE WINDOWRELEASE WINDOW、CLEAR WINDOW、CLEAR ALL;
②窗口着色。颜色对与颜色模式、SET COLOR TO、COLOR SCHEME、SET COLOROFSCHEME; ③BROWSE窗口设计。定义BROWSE窗口、定义功能键。
6、菜单设计
①下拉式菜单设计 ②弹出式选单设计
7、表单设计基础 ① 表单向导 ② 表单设计器
③面向对象的程序设计方法(基本概念、对象的引用)
8、表单控件设计
① 输出类控件(标签、图象、线条、形状)
② 输入类控件(文本框、编辑框、列表框与组合框、微调控件)③ 控制类控件(美丽按钮与美丽按钮组)④ 容器类控件(表格、页框、容器)
⑤ 连接类控件(ActiveX控件、ActiveX绑定控件)
9、表单高级设计
①多表单应用程序(应用程序界面、表单集)
②用户定义属性与方法程序(用户定义属性、用户定义方法程序)③类(基本概念、用户定义类)④表单/表单集设计实例
10、报表设计
①打印基础。打印准备、打印方法、打印命令 ②传统的打印设计
③报表设计器的基本操作(打开标本设计器窗口、快速制表、标本打印)④报表设计器的高级操作,了解
9、系统开发实例(对本科做基本的讲解)①开发的基本步骤
○2以具体的实例进行讲解
二、《高级语言程序设计(Visual FoxPro语言)》大纲说明
1、教学目的与任务
在当今时代,计算机已经在世界范围内得到广泛的推广和应用。其中信息管理和数据处理已成为计算机应用的主流领域,而数据库技术是这个领域的核心之一。
Visual FoxPro系统是一个优秀的多用户关系数据库管理系统。本课程详细地讲解了Visual FoxPro的各种命令、函数的功能,以及Visual FoxPro程序设计的方法,培养学生能灵活地应用Visual FoxPro 语言设计程序、进行维护管理,充分发挥计算机在信息管理和数据处理方面的优越性。
《高级语言程序设计(Visual FoxPro语言)》是面向全院所有专业本、专科生的计算机高级语言程序,它侧重于数据库的基本概念、数据库的基本操作、简单的程序设计、菜单程序设计、窗口菜单设计以及必须掌握的表单设计和简单的菜单生成程序设计。侧重于计算机对数据的基本处理、表单的数据输出,使学生具备一定的计算机高级语言程序设计的能力,为学生利用计算机解决问题(特别是专业中的问题)准备必要的知识;本大纲重点基于数据库的基本操作和简单的程序设计,为学生学习相应的语言打下一定的基础。
2、本课程与其他课程的关系
学习本课程,需要有一定的计算机基本操作技能,对计算机有一定的了解和使用。它是学 要求学生掌握计算机高级语言以及对计算机对数据处理方式和方法的掌握。为学习今后学习计算机解决问题和高年级学习专业课打下坚实的基础。
3、教学基本要求
具有使用计算机高级语言解决基本问题的能力,掌握计算机对数据处理的方法和掌握计算机对数据处理的基本操作技能。要求学生学习了本课程后,能编制简单的程序解决数据处理的问题,掌握程序设计的基本方法。
了解数据库的基本原理和数据库与数据库管理系统的关系,了解Visual FoxPro的基本性能指标,掌握数据库的基本使用方法。
掌握数据库的基本统计和数据库记录的查询。
掌握程序设计的三种方法和简单的程序设计,这是全书的重点。
掌握菜单设计、窗口设计、菜单设计,对菜单设计,只要求掌握屏幕菜单方式和屏幕生成程序,对命令方式只做基本的了解。
4、实验课程
附实验大纲,按实验大纲的要求完成实验。
5、课程学时安排
学时安排遵循理论重于实践,理论课的学时分配占总学时的60%,实验课的操作,要求严格按照实验大纲,以循序渐进的方式进行,如果学生没有完成当天实验课程的任务,学生可以自己找时间自己解决。
章 次
讲 课 内 容
授课
上机 第一部分 数据库的基本概念第二部分 数据库的基本操作第三部分 查询与统计、SQL 第四部分 程序设计基础第五部分 菜单设计第六部分 表单设计及基础第七部分 表单高级设计第八部分 报表设计合计
22
6、教学参考资料
《数据库及其应用》 牛允鹏等 经济科学出版社
《Visual FoxPro活学活用》 张佑挺 张锦川等 重庆大学出版社
《Visual FoxPro及其应用系统开发》 史济民 汤观全编著 清华大学出版社 《FoxPro用户参考大全》 金荣得 胡传国等 电子出版社 《FoxBASE数据库应用教程》 北京希望电子出版社 《FoxPro命令与函数》 张锦豪等 学苑出版社
《FoxPro数据库实用教程》 王跟东等编著 四川大学出版社
第四篇:《高级语言程序设计C》实验教学大纲
《高级语言程序设计C》实验教学大纲
课程编号:1021742 总学时:56学时
适用专业:非计算机理工科各专业 总实验学时:24 实验次数: 12 次 应开实验个数:13 已开实验个数:13 实验开出率:100%
实验一
熟悉C 程序的运行环境
一、学时:2
二、实验类型:演示、验证
三、实验目的和主要内容:
1.了解计算机系统对高级语言的基本操作方法
2.熟悉和了解Turbo C 系统软件的使用和操作
3.能进行简单的C语言程序录入、调试、编译和运行
四、需用仪器、设备:
1.硬件环境
PC-486以上微机
32M以上的内存
VGA显卡
2.软件环境
西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统
Turbo C(2.0版)
五、实验方法及步骤:
1.熟悉开机操作,使用单机或计算机上网。
2.进入 Turbo C 系统。
3.熟悉Turbo C 系统各菜单命令的使用和操作
4.模仿简单的源程序,编写自己的小程序,并能运行这些程序。
5.录入、调试、编译和运行C语言程序
实验二
数据类型、表达式及输入输出函数实验
一、学时:2
二、实验类型:验证、设计
三、实验目的和主要内容:
1. 熟悉和了解C语言的数据类型
2. 使用C语言的有关算术运算符,以及包含这些运算符的表达式
3.进行简单的C语言输入输出函数的使用,格式控制符的涵意,简单C程序的设计、调 试、编译和运行
四、需用仪器、设备:
1.硬件环境
PC-486以上微机
32M以上的内存
VGA显卡
2.软件环境
西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统
Turbo C(2.0版)
五、实验方法及步骤:
1.进入 Turbo C 系统。
2.编写简单的有输入输出的C程序,并进行该程序的运行、调试、编译。
3.编写一个输入三条边,计算三角形面积的程序。
4.编写程序,计算a+b×c÷d-d3,其中:a,b为整型变量,c,d为实型变量。
5.编写一个有关数据计算程序,验证运算符及表达式的结果。
6.可从布置的作业中,再任选一编程题,进行上机。
实验三
顺序程序结构程序设计
一、学时:2
二、实验类型:验证、设计
三、实验目的和主要内容:
1.进一步掌握C程序的编辑、编译、连接和运行的过程。2.熟悉顺序结构的程序设计方法。3.熟练使用C的各种表达式。
4.熟练掌握输入、输出函数的使用。
四、需用仪器、设备:
1.硬件环境
PC-486以上微机
32M以上的内存
VGA显卡
2.软件环境
西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统
Turbo C(2.0版)
五、实验方法及步骤:
1.输入x,y,编写程序求z=x+|y|的值。实验步骤与要求:
(1)程序中用scanf函数输入x和y的值,请分析以下两个语句 scanf(“%f%f”,x,y);scanf(“%f%f”,&x,&y);
哪一个是正确的,分别运行之,分析程序运行结果。
(2)如果scanf函数改为scanf(“%f,%f”,&x,&y);应该怎样输入数据。2.编写输入三角形的三边长a、b、c,求三角形面积area的程序。实验步骤与要求:
(1)输入前要加提示语句。
(2)输出结果前要有必要的文字说明。(3)输入一组数据3,4,5,观察运算结果。
(4)输入另外一组数据3,4,8,观察运算结果,分析这个运算结果是否有效。
实验四
分支控制语句实验
一、学时:2
二、实验类型:验证、设计
三、实验目的和主要内容:
1.熟悉和了解C语言系统分支语句的使用和操作
2.进行C语言分支控制语句的设计、调试、编译和运行
四、需用仪器、设备:
1.硬件环境
PC-486以上微机
32M以上的内存
VGA显卡
2.软件环境
西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统
Turbo C(2.0版)
五、实验方法及步骤:
1.进入 Turbo C 系统。
2.进行分支控制源程序的设计,并进行该程序的运行、调试、编译。
3.编辑一个分支控制程序,求:任意输入数(n>2)是否为素数。
4.编辑一个分支控制程序,求:任意输入3个数,求其最大数。
实验五
循环语句实验
一、学时:2
二、实验类型:验证、设计
三、实验目的和主要内容:
1.熟悉和了解C语言循环语句的使用和操作
2.进行C语言循环语句的设计、调试、编译和运行
四、需用仪器、设备:
1.硬件环境
PC-486以上微机
32M以上的内存
VGA显卡
2.软件环境
西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统
Turbo C(2.0版)
五、实验方法及步骤:
1.进入 Turbo C 系统。
2.进行循环源程序的设计,并进行该程序的运行、调试、编译。
3.编辑一个循环程序,求:1到100的和及平方和。
4.编辑一个循环程序,求:任意输入10个数,求其最大数。
5.可从布置的作业中,再任选一编程题,进行上机。
实验六
数组实验
一、学时:2
二、实验类型:验证、设计
三、实验目的和主要内容:
1.熟悉和了解C语言数组程序的设计方法
2.学会使用C语言数组进行程序设计
3.进行C语言数组语句的设计、调试、编译和运行
四、需用仪器、设备:
1.硬件环境
PC-486以上微机
32M以上的内存
VGA显卡
2.软件环境
西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统
Turbo C(2.0版)
五、实验方法及步骤:
1.进入 Turbo C 系统。
2.进行数组的定义和使用方法,即:一维和二维数组的应用。
3.进行数组语句源程序的设计,并进行该程序的运行、调试、编译。
4.编辑数组应用程序:
(1)任意输入20个数在一维数组a中,求20个数的平均值。
(2)定义2个二维数组A[2][3]、B[2][3],分别对这2个数组输入数据,求A+B和A-B的值。
(3)用字符数组存储任意输入10字符,求其最大字符。
(4)编辑一个有5个学生,考 3门功课。求出每一个学生的总分及平均分,统计平均成绩低于 60 分的学生人数。
5.可从布置的作业中,再任选一编程题,进行上机。
实验七
有关数组的程序设计
一、学时:2
二、实验类型:验证、设计
三、实验目的和主要内容:
1.掌握有关数组和字符串的程序设计方法。
四、需用仪器、设备:
1.硬件环境
PC-486以上微机
32M以上的内存
VGA显卡
2.软件环境
西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统
Turbo C(2.0版)
五、实验方法及步骤: 已知一组数据如下:6,3,42,23,35,71,98,67,56,38。编写程序,把它们按 从小到大的次序排列起来。求2行3列矩阵A 的转置矩阵。
实验八
函数实验
一、学时:2
二、实验类型:验证、设计
三、实验目的和主要内容:
1.熟悉和了解C语言函数程序的设计方法。
2.学会使用C语言函数的定义及调用,并进行程序编制。
3.进行C语言函数语句的设计、调试、编译和运行
四、需用仪器、设备:
1.硬件环境
PC-486以上微机
32M以上的内存
VGA显卡
2.软件环境
西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统
Turbo C(2.0版)
五、实验方法及步骤:
1.进入 Turbo C 系统。
2.进行函数的定义及调用。
3.进行函数语句源程序的设计,并进行该程序的运行、调试、编译。
(1)任意输入一个数n,用两个子函数实现1+2+3„n以及n!,在主函数中输出该结果。
(2)在主函数中定义二维数组A[3][4]、B[4],用子函数对数组A[3][4]每一行求和,其值放在数组B[4]中,在主函数中输出该值。
(3)用字符数组存储任意输入的10字符,在子函数中把该字符数组的小写字母转换成大写字母。
4.可从布置的作业中,再任选一编程题,进行上机。
实验九
常用指针实验
(一)一、学时:2
二、实验类型:验证、设计
三、实验目的和主要内容:
1.熟悉和了解C语言指针一般设计方法
2.学会使用C语言指针进行程序设计
3.进行简单C语言指针语句的设计、调试、编译和运行
四、需用仪器、设备:
1.硬件环境
PC-486以上微机
32M以上的内存
VGA显卡
2.软件环境
西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统
Turbo C(2.0版)
五、实验方法及步骤:
1.进入 Turbo C 系统。
2.进行C语言指针语句的定义和使用方法。
3.进行C语言指针语句源程序的设计,并进行该程序的运行、调试、编译。
4.编辑一个找出字串 str1中 str2出现的位置,用指针编程实现。
5.可从布置的作业中,再任选一编程题,进行上机。
实验十
复杂指针实验
(二)一、学时:2
二、实验类型:验证、设计
三、实验目的和主要内容:
1.进一步熟悉和了解C语言指针语句设计方法
2.进行C语言中的指针与函数、指针数组、多级指针语句的设计、调试、编译和运行
四、需用仪器、设备:
1.硬件环境
PC-486以上微机
32M以上的内存
VGA显卡
2.软件环境
西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统
Turbo C(2.0版)
五、实验方法及步骤:
1.进入 Turbo C 系统。
2.进行C语言指针与函数、指针数组、多级指针语句的定义和使用方法。
3.进行C语言该指针语句源程序的设计,并进行该程序的运行、调试、编译。
4.编辑一个在主程序里输入十个不等长的字串,调用自编的函数把它们按升序排列,用指针编程实现。
5.可从布置的作业中,再任选一题编程题,进行上机。
实验十一
结构类型实验
一、学时:2
二、实验类型:验证、设计
三、实验目的和主要内容:
1.熟悉和了解C语言结构、联合数据的定义及设计方法
2.学会使用C语言结构、联合数据类型进行程序设计
3.进行C语言结构、联合语句的设计、调试、编译和运行
四、需用仪器、设备:
1.硬件环境
PC-486以上微机
32M以上的内存
VGA显卡
2.软件环境
西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统
Turbo C(2.0版)
五、实验方法及步骤:
1.进入 Turbo C 系统。
2.进行C语言结构、联合数据类型的定义和使用。
3.进行C语言结构、联合数据类型源程序的设计,并进行该程序的运行、调试、编译。
4.编辑一个能处理学生综合信息的程序(包括:学号、姓名、班级、语文成绩、数学成绩、英语成绩等)。
实验十二
有关结构的程序设计
一、学时:2(课后完成或选作)
二、实验类型:验证、设计
三、实验目的和主要内容:
1.掌握结构体类型和结构体变量的定义。2.掌握结构类型变量的定义和使用;
3.掌握链表的概念,初步学会对链表进行操作;
四、需用仪器、设备:
1.硬件环境
PC-486以上微机
32M以上的内存
VGA显卡
2.软件环境
西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统
Turbo C(2.0版)
五、实验方法及步骤:
1.有五个学生,每个学生的数据包括学号,姓名,三门课的成绩,从键盘输入五个学生的数据,要求打印出每个学生的平均成绩,以及最高分的学生的数据(包括学号,姓名,三门课的成绩,平均分数)。实验步骤与要求:
用一个函数输入五个学生的数据;用一个函数求总平均分;用函数找出最高分学生数据,总平均分和最高分的学生的数据都在主函数中输出。
2.三个人围成一圈,从第一个人开始顺序报号1,2,3。凡报到“3”者退出圈子,找出最后流在圈子中的人原来的序号。
3.建立一个链表,每个结点包括:学号,姓名,性别,年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。
实验十三
文件实验
一、学时:2
二、实验类型:验证、设计
三、实验目的和主要内容:
1.熟悉和了解C语言文件系统的组成及设计方法。
2.学会使用C语言文件系统进行程序设计
3.进行C语言文件语句的设计、调试、编译和运行
四、需用仪器、设备:
1.硬件环境
PC-486以上微机
32M以上的内存
VGA显卡
2.软件环境
西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统
Turbo C(2.0版)
五、实验方法及步骤:
1.进入 Turbo C 系统。
2.进行C语言文件系统类型的定义和使用。
3.进行C语言文件系统类型源程序的设计,并进行该程序的运行、调试、编译。
4.编辑程序。
(1)用数组存储10个数据,并存储在“date.dat”文件中
(2)对存储在“date.dat”文件中的数据读入到一个数组中,求出总和及最大值,并把它存储在“dsum.dat”文件中
第五篇:高级语言程序设计(C语言)实验教学大纲
信息技术系《高级语言程序设计》实验教学大纲
一、教材名称:<
二、课程总学时:108学时 [理论: 72 学时;实验与上机:36学时]
三、适用专业和开课学期:软件技术专业,第2学期。
四、实验的目的与任务:
《C程序设计》是一门实践性很强的课程。通过实验使学生加深对课堂讲授的概念、语法、算法、编程技术的理解;熟悉C程序设计的开发环境;掌握程序设计和调试的基本技能。并通过实践激发学生进一步学习的积极性,培养学生的学习兴趣和创新思维。通过8个实验,使学生经过一定数量的上机训练,了解和掌握C程序设计的环境、程序的数据表示、程序的执行流程控制、程序的整体结构等C程序设计的基本概念和应用技术。
五、主要仪器设备及台(套)数
安装Windowsxp,TC2.0等软件的计算机,每生一台。
六、主要实验教材(指导书)及参考用书:
谭浩强主编,《C程序设计题解与上机指导》,清华大学出版社。
七、成绩考核方式及评分标准
实验占课程总课时1/3,每项实验按该实验说明要求规定的评分标准积分,学期末合计的实验成绩占课程总成绩的18%。
八、实验开出率:100%
九、实验项目与要求
实验一:C程序的运行环境和运行一个C程序的方法(2学时)
实验性质:验证性实验
一、实验目的
1.了解所用的计算机系统的基本操作方法,学会独立使用该系统。2.了解在该系统上如何编辑、编译、连接和运行一个C程序。3.通过运行简单的C程序,初步了解C源程序的特点。
二、实验内容
1.调用编辑程序,输入教材第一章例1.1程序,并进行编译和运行。应了解所用的系统是用什么命令进行编译和连接运行的。编译和连接后所得到的目标程序的后缀是什么形式的?
2.输入并运行教材第一章中例1.2。
3.输入并运行教材第一章中例1.3,了解如何在运行时向程序变量输入数据。
实验二 数据类型、运算符和表达式(2学时)
实验性质:验证性实验
一、实验目的
1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。
2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。
3.进一步熟悉C程序的编辑、编译、连接和运行的过程。
二、实验内容
1.输入并运行教材第三章例3.6.即: #include
printf(“%c %cn”,c1,c2); printf(“%d %dn”,c1,c2); } 在此基础上 ①将第二行改为: int c1,c2;再使之运行,分析结果。②再将第三行、第四行改为: c1=300;c2=400;再使之运行,分析其运行结果。
2.输入并运行教材第三章习题3.6,在上机前先用人工分析程序写出应得结果,上机后将二者对照。
3.输入并运行习题3.10。即: #include
printf(“%d,%d,%d,%d”,i,j, i++,j++);⑤程序改为: main(){int i,j,m=0,n=0;;i=8;j=10;m+=i++;n-=--j;printf(“i=%d,j=%d,m=%d,n=%d”,i,j,m,n);}
实验三 最简单的C程序设计(2学时)
实验性质:验证性实验
一、实验目的
1.掌握C语言中使用最多的一种语句—赋值语句的使用。2.掌握数据的输入输出的方法,能正确使用各种格式转换符。
二、实验内容
1.输入并运行以下程序:
#include
void main(){int a,b; float d,e; char c1,c2; double f,g; long m,n;
unsigned int p,q; a=61;b=62; c1=’a’;c2=’b’; d=3.56;e=-6.87;
f=3157.890121;g=0.123456789; m=50000;n=-60000; p=32768;q=40000;
printf(“a=%d,b=%dn c1=%c,c2=%cnd=%6.2f,e=%6.2fn”,a,b,c1,c2,d,e); printf(“f=%15.6f,g=%15.12fnm=%ld,n=%ldnp=%u,q=%un”,f,g,m,m,p,q); } 在此基础上,做以下改动: ① 将程序第8-13行改为: a=61;b=62; c1=a;c2=b;
f=3157.890121;g=0.123456789; d=f;e=g;
p=a=m=50000;q=b=n=-60000; 运行程序,分析结果。
② 在①的基础上将printf语句改为:
printf(“a=%d,b=%dn c1=%c,c2=%cnd=%15.6f,e=%15.12fn”,a,b,c1,c2,d,e);
printf(“f=%f,g=%fn m=%ld,n=%ldn p=%d,q=%dn”,f,g,m,n,p,q); 运行程序。
2.编写程序,用getchar函数读入两个字符c1、c2,然后分别用putchar函数和printf函数输出这两个字符。
上机运行程序,比较用printf和putchar函数输出字符的特点。
实验四 选择结构程序设计(2学时)
实验性质:设计性实验
一、实验目的
1.了解C语言表示逻辑量的方法(以0代表“假”,以1代表“真”); 2.学会正确使用逻辑运算符和逻辑表达式; 3.熟练掌握if语句和switch语句。
二、实验内容
先编程序,解决以下问题,然后上机调试运行程序。1.有一个函数 xy2x13x11x11x10 x10用scanf函数输入x的值(分别为x<1、1~
10、≥10三种情况),求y值。2.给出一个百分制成绩,要求输出成绩等级‘A’,‘B’,‘C’,‘D’,‘E’。90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。
实验五 循环控制(4学时)
实验性质:设计性实验
一、实验目的
1.熟悉用while语句,do-while语句和for语句实现循环的方法。2.掌握在程序设计中用循环的方法实现各种算法(如穷举、迭代、递推等)。
二、实验内容
编程序并上机调试运行。
1.输入两个正整数,求其中最大公约数和最小公倍数。2.用牛顿迭代法求方程2x3-4x2+3x-6=0在1.5附近的根。
实验六 数组(4学时)
实验性质:设计性实验
一、实验目的
1.掌握一维数组和二维数组的定义、赋值和输入输出的方法; 2.掌握字符数组和字符串函数的使用。3.掌握与数组有关的算法(特别是排序算法)。
二、实验内容
编程序并上机调试运行。
1.用选择法对10个整数排序。10个整数用scanf函数输入。2.将两个字符串连接起来,不要用strcat函数。实验七 函数(4学时)
实验性质:设计性实验
一、实验目的
1.掌握定义函数的方法;
2.掌握函数实参与形参的对应关系,以及“值传递”的方式; 3.掌握函数的嵌套调用和递归调用的方法;
4.掌握全局变量和局部变量,动态变量和静态变量的概念和使用方法。
二、实验内容
编程序并上机调试运行。
1.写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的信息。2.求两个整数的最大公约数和最小公倍数,用一个函数求最大公约数。用另一函数根据求出的最大公约数求最小公倍数。
(1)用全局变量的方法。将两个整数的最大公约数、最小公倍数都设为全局变量。
(2)不用全局变量,两个整数在主函数中输入,并传送给函数1,求出的最大公约数返回主函数,然后再与两个整数一起作为实参传递给函数2,以求出最小公倍数,返回到主函数输出最大公约数和最小公倍数。
实验八 预处理命令(2学时)
实验性质:设计性实验
一、实验目的
1.掌握宏定义的方法; 2.掌握文件包含处理方法; 3.掌握条件编译的方法。
二、实验内容
编程序并上机调试运行。
1.定义一个带参数的宏,使两个参数的值互换。在主函数中输入两个数作为使用宏的实参,输出已交换后的两个值。
说明:在程序主函数使用宏时只能用两个实参,如SWAP(a,b),不能用三个参数。2.用条件编译方法实现以下功能:
输入一行电报文字,可以任选两种输出,一为原文输出;一为将字母变成其下字母(如‘a’变成‘b’,„,‘z’变成‘a’。其它字符不变)。用#define命令来控制是否要译成密码。例如: #define CHANGE 1 则输出密码。若 #define CHANGE 0 则不译成密码,按原码输出。用条件编译方法来处理。
实验九 指针(4学时)
实验性质:设计性实验
一、实验目的
1.掌握指针的概念,会定义和使用指针变量; 2.学会使用数组的指针和指向数组的指针变量; 3.学会使用字符串的指针和指向字符串的指针变量; 4.学会使用指向函数的指针变量;
二、实验内容
编程序并上机调试运行程序(都要求用指针处理)。1.输入三个整数,按由小到大的顺序输出。
2.将一个3*3的矩阵转置,用一函数实现之。在主函数中用scanf函数输入以下矩阵元素:
1 7133915511 19将数组名作为函数实参。函数调用后在主函数中输出已转置的矩阵。3.用一个函数实现两个字符串的比较,即自己写一个strcmp函数: strcmp(s1,s2)如果s1=s2,则函数返回值为0;如果s1≠s2,返回它们二者第一个不同字符的ASCII码差值(如“BOY”与“BAD”,第二个字母不同,“O”与“A”之差为79-65=14);如果s1>s2,则输出正值;如s1 两个字符串s1,s2由main函数输入,strcmp函数的返回值也在main函数输出。 实验十 结构体和共用体(4学时) 实验性质:设计性实验 一、实验目的 1.掌握结构体类型变量的定义和使用; 2.掌握结构体类型数组的概念和应用; 3.掌握共用体的概念与使用。 二、实验内容 编程序,然后上机调试运行。 1.有5个学生,每个学生的数据包括学号、姓名、三门课的成绩,从键盘输入5个学生数据,要求打印出三门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、三门课的成绩、平均分数)。 要求用一个input函数输入5个学生数据;用一个average函数求总平均分;用max函数找出最高分学生数据;总平均分和最高分的学生的数据都在主函数中输出。 2.输入和运行以下程序: #include union data {int i[2]; float a; long b; char c[4]; }; void main(){union data u; scanf(“%d,%d”,&u.i[0],&u.i[1]); printf(“i[0]=%d,i[1]=%dna=%fnb=%ldnc[0]=%c,c[1]=%c,c[2]=%c,c[3]=%cn”,u.i[0],u.i[1],u.a,u.b,u.c[0],u.c[1],u.c[2],u.c[3]);} 输入两个整数10000、20000给u.i[0]和u.i[1]。分析运行结果。 然后将scanf语句改为: scanf(“%ld”,&u.b); 输入60000给b。分析运行结果。 实验十一 位运算(1学时) 实验性质:设计性实验 一、实验目的 1.掌握位运算的概念和方法,学会使用位运算符; 2.学会通过位运算实现对某些位的操作。 二、实验内容 编写程序,上机调试并运行。 1.设计一个函数,使给出一个数的原码,能得到该数的补码,用八进制形式输入和输出。 实验十二 文件(1学时) 实验性质:设计性实验 一、实验目的 1.掌握文件以及缓冲文件系统、文件指针的概念; 2.学会使用文件打开、关闭、读、写等文件操作函数。3.学会用缓冲文件系统对文件进行简单的操作。 二、实验内容 1.从键盘输入一个字符,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符以“!”结束。实验十三 学生成绩管理(4学时) 实验性质:综合性设计性实验 一、实验目的 1.综合运用C程序设计知识,解决实际问题。 二、实验内容 1.有5个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号、姓名、三门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stud”中。 2.将上题“stud”文件中的学生数据,按平均分进行排序处理,将已排序的学生数据存入一个新文件“stu-sort”中。 3.将上题已排序的学生成绩文件进行插入处理。插入一个学生的三门课成绩。程序先计算新插入学生的平均成绩,然后将它按成绩高低顺序插入,插入后建立一个新文件。 学生的原有数据为: 91101 Wang 89,98,67.5 91103 Li 60,80,90 91106 Fun 75.5,91.5,99 91110 Ling 100,50,62.5 91113 Yuan 58,68,71 要插入的学生数据为: 91108 Xin 90,95,60 制 订:程世辉 教研室:软件教研室 执笔人:程世辉 审定人: 二00七年八月