高级语言程序设计(VB)实验评分方法及注意事项

时间:2019-05-15 03:10:45下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《高级语言程序设计(VB)实验评分方法及注意事项》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《高级语言程序设计(VB)实验评分方法及注意事项》。

第一篇:高级语言程序设计(VB)实验评分方法及注意事项

高级语言程序设计(VB)实验评分方法及注意事项

1.高级语言程序设计(VB)综合性实验包括预习和实验两部分,相应提交预习报告和实验报告。实验报告成绩以百分制给出。预习报告成绩占实验成绩的20分,实验报告成绩占实验成绩的80分。2.预习报告主要包括:

(1)界面设计和属性设置(5分)

包括所需对象的名称、数量、在窗体上的布局、属性名和属性值等。属性设置情况要求用表格进行填写。(2)预编程序代码(15分)

程序流程图不作硬性要求,如有且正确可在5分以内适当加分。预编程序代码必须手写。

3.实验报告主要包括:

(1)实验目的(已在实验报告模板中给出)(2)实验内容(已在实验报告模板中给出)(3)实验要求(已在实验报告模板中给出)(4)界面设计和属性设置(5分)(5)源程序代码(60分)

(6)调试和运行结果(要求取截图)(5分)(7)实验中存在的问题(5分)(8)体会和思考(5分)

以上内容要求在A4纸上打印。

5.做实验项目之前,要求学生提前预习,做好实验前的准备工作。

6.学生做完实验后,要按实验要求写出实验报告(连同预习报告一并打印左侧装订),交班长并由班长收齐后按学号排好序交给实验指导教师。

第二篇:vb程序设计方法

发表于《中小学信息技术教育》杂志2005年第7期 VB程序设计方法——今天我来做导演!

教学目标:

1、知道创建一个VB程序的基本步骤

2、了解窗口、事件和消息的含义

3、培养学生的自主探究精神

教学重点和难点:

1、窗口,事件和消息的关系

2、属性的设置

3、代码的输入

学生分析:

高一学生,已经学习了程序的三种基本结构,能辨别三种结构,但不会自己书写程序。对VB基本上一无所知。

教学方法:

采用主动式任务驱动的教学方法,通过创设情境,激发学生对VB的兴趣,使学生产生动手做一个VB程序的欲望.在布置任务的时候,不是教师指定完成什么任务,而是由学生自己提出想完成一个样的任务,即想做一个什么样的VB程序,因为任务是学生自己提出来的,所以学生肯定感兴趣的,这就避免了教师布置的任务不能照顾到全体学生装的弊端.而教师作为引导者和技术帮助者,帮助学生一步步地完成任务,引导学生分解任务,分解为界面的创建,属性的设置,代码的输入等几部分。在实践过程中,使学生掌握用VB进行程序设计的步骤和方法。

教学过程:

一、激趣引入

师:上节课中我们演示了一个抛硬币的VB小程序,大家还有印象吗?(教师演示这个程序)师:下面我再来演示几个其他VB小程序(教师演示若干个趣味小程序,如,和刘德华对话,井字棋,心情好吗,挖地雷,单选复选框与字体,测验记忆力,弹球游戏,剪刀包袱,在演示过程中,让学生注意鼠标单击按钮,或者鼠标移动,窗口上会有什么反应)

师:窗口——舞台,事件——导演的命令,反应——演员的表演,控件——演员(以对比方式说明它们之间的关系,让学生明白,需要哪个演员(控件)作出什么表演,要对这个演员(控件)发号施令,导演不能瞎指挥,不然表演要乱套的。)

师:有了舞台,演员,导演在哪儿呢?导演就是你!今天就是请大家当一回导演(出示课题:今天你来做导演!)意图:

1、在演示过程中,提醒学生注意窗口,事件(点击按钮或移动按钮),消息(事件的反应)。

2、激发学生的兴趣,产生自己动手做一个VB程序的欲望。

二、形成任务 大屏幕展示:

一、确定导演的工作目标,即你想要完成一个什么样的VB程序?

老师引导,启发学生,使每个学生能确定自己的目标,即要完成一个什么样的VB程序,即名称是什么?功能是什么?……。(对于不能确定的学生,建议参考老师演示的例子,从中选择一个自己感兴趣的)

意图:这是很重要的一个过程,要很好地引导学生,使学生清楚地知道自己的任务,即自己要做什么?

三、分解任务

(以演示中的一个小例子,来说明如何完成一个VB程序)大屏幕展示:

二、导演如何完成任务?

师:导演正式上任了,大家都胸有成竹了,明确了要做一个什么样的VB程序,首先做什么呢?

1、界面的设计(舞台的布置)师:一个程序,你最先看到是什么?

师:舞台如何布局?演员如何选取?窗口如何布局?上面要放哪些东西?这些东西怎么放比较好看?……

意图:引导学生从界面设计入手,学会用控件来输入文字,图片,通过对文字的修饰,图片的插入,引入属性的设置,突破这个难点。

2、如何让对象动起来?

师:窗口布置好了,舞台拱建好了,演员也到位了,那么让演员如何表演呢?每个演员做什么动作呢?导演发布命令的时候(输入代码)的时候,一定要看清对象,不要乱发命令啊!意图:

引入代码的输入。为节省时间,提供演示程序的代码,避免自己书写代码。

四、动手实践

师:各位跃跃欲试的导演们,按照自己刚才确定的任务,动手来完成自己的第一个VB小程序吧!可能问题:

有些学生在输入代码的时候,为分不清代码需要给哪个控件加上,这时一定要让学生明白,导演的指令必须是针对某个演员发的,不能乱发。对于学生碰到的问题,老师做好技术指导工作。

五、评价交流(展示学生作品,交流评价)

师:不同风格的导演设计的效果是不同的,让我们来欣赏一下各位导演的作品吧 意图:

通过电子教室软件,转发一些小组完成的作品,能过交流了解其他同学的制作成果,吸取他人经验

提醒学生在程序中加入制作人信息,即导演的信息,有初步的版权意识

有些学生可能设计的任务比较大,在课内无法完成,则鼓励在课后继续完成,作为拓展作业。

五、总结

师:各位导演感觉如何?做一个导演不容易吧,做一个好的导演更不容易。创建一个VB程序的基本步骤:界面设计,属性设置,代码输入。

导演有大有小,但是基本工作是一样的,就是上面这些步骤,今天我们是小导演,明天我们可能是大导演,期待欣赏到同学们的大作!意图:回顾过程,总结提高。

附:学案

今天我来做导演

——VB程序设计方法

一、明确目标

身为导演,最重要的一件事,就是明确自己的目标,请确定你的目标,即你想做个什么样的VB程序?

提示:如果一时之间想不出来,可以参考老师演示的例子

二、设计舞台(界面的布局)

1、如果你想在窗口上输入文字,方法如下:

(1)用鼠标选择左边工具栏中的“LABEL”标签

(2)在窗口上拖出一个大小合适的矩形(矩形的大小可以用矩形边上的八个小方块进行调整)

2、如果你想插入一张图片,方法如下:

(1)用鼠标选择左边工具栏中的“IMAGES”标签

(2)在窗口上拖出一个大小合适的矩形

3、如果你想在窗口上增加一个按钮,方法如下:

(1)用鼠标选择左边工具栏中的“BUTTON”标签

(2)在窗口上拖出一个大小合适的矩形

4、如果你想在窗口上增加一个文本框,方法如下:

(1)用鼠标选择左边工具栏中的“TEXT”标签

(2)在窗口上拖出一个大小合适的矩形

:),增加其他控件的方法类似,相信自己,试一试!

三、对演员进行分工(属性的设置)

1、如何在窗口上显示文字?

方法如下:

(1)用鼠标选中Label控件

(2)在右边的属性窗口中找到“Caption”属性,在右边输入要显示的文字 思考:如何修改文字的字体?颜色?大小? 提示:修改相应的属性

2、如何插入图片?

方法如下:

(1)用鼠标选中Image控件

(2)在右边的属性窗口中找到“Picture”属性,点击旁边的省略号按钮,选择要插入的图片

3、如何修改Text显示的文字? 方法如下:

(1)用鼠标选中Text控件

(2)在右边鼠性中选中Text属性,输入要显示的文字

4、如何修改按钮上显示的文字? 方法如下:

选中按钮,修改“Caption”属性

四、让演员动起来(输入代码)选择演员,输入想要演员实现的代码

五、检查一下导演工作进展如何? 方法: 运行、播放

六、你是个合格的导演?还是个优秀的导演?

1、你知道如何做一个VB程序了吗?(知道/不知道)

2、你是个合格的/优秀的导演?(是/不是)

第三篇:《高级语言程序设计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 void main(){char c1,c2; c1=97; c2=98;

printf(“%c %cn”,c1,c2); printf(“%d %dn”,c1,c2); } 在此基础上 ①将第二行改为: int c1,c2;再使之运行,分析结果。②再将第三行、第四行改为: c1=300;c2=400;再使之运行,分析其运行结果。

2.输入并运行教材第三章习题3.6,在上机前先用人工分析程序写出应得结果,上机后将二者对照。

3.输入并运行习题3.10。即: #include void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf(“%d,%d,%d,%d”,i,j,m,n);} 分别作以下改动并运行: ①将第4行改为: m=i++;n=++j;②程序改为: #include void main(){int i,j;i=8;j=10;printf(“%d,%d”,i++,j++);} ③在②的基础上,将printf语句改为: printf(“%d,%d”,++i,++j);④再将printf语句改为:

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.有一个函数 xy2x13x11x11x10 x10用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 7133915511 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七年八月

第五篇:C高级语言程序设计实验内容

实验一 C语言的运行环境和基础知识

一、实验目的

1.掌握c程序设计编程环境visual c++,掌握运行一个c程序设计的基本步骤,包括编辑、编译、连接和运行。

2.熟练掌握Visual C++ 6.0环境运行的C程序上机步骤 3.数据类型、常量和变量的使用 4.表达式及运算符的应用 5.C程序的调试。

二、实验内容和源程序清单、测试数据、结果。

1、最简单的C程序。(要求文件名:1_1.c)#include int main(){

printf(“Hello world!n”);return 0;}

2、一个具有致命错误的程序,请修改。(要求文件名:1_2.c)#include int main(){ int i scanf(“%d”,i);

printf(“i=%dn”,i);

return 0;}

3、一个具有警告语法错的程序。(要求文件名:1_3.c)#include int main(){ int i=9,j,s;

s=i+j;printf(“s=%dn”,s);return 0;}

4、写出一个程序测试整型、字符型数据表示,并输出以验证是否正确。(要求文件名:1_4.c)#include int main(){

int x=010,y=10,z=0x10;

/* 整型数据表示 */ char c1='M',c2='x4d',c3='115',c4=77,c;

/* 字符型数据表示 */

/* 整型数据的输出 */ printf(“x=%o,y=%d,z=%xn”,x,y,z);

/* 数据以原进制输出,注意是否有前导0或0x */ printf(“x=%d,y=%d,z=%dn”,x,y,z);

/* 数据以10进制输出,换算到10进制,结果对吗? */ /* 字符型数据的输出 */ printf(“c1=%c,c2=%x,c3=%o,c4=%dn”,c1,c2,c3,c4);

/* 数据以原进制输出,注意是否有前导0或0x ?*/ printf(“c1=%c,c2=%c,c3=%c,c4=%cn”,c1,c2,c3,c4);

/* 结果都是什么字符?,也就是说字符可以自由的表示成几种形式? */ printf(“c1=%d,c2=%d,c3=%d,c4=%dn”,c1,c2,c3,c4);

/* 看看这些字符的10进制ASCII码,哦,ASCII码一样,同一种字符 */

/* 字符型数据参与算术运算 */ c=c1+32;

/* 字符怎么参加了数学运算,哦,是字符对应的ASCII码-整数 /* 参与数学运算;结果还是一个整数-另外一个字符的ASCII码 */ printf(“c=%c,c=%dn”,c,c);

/* 看看这个字符是什么?哇,'M'+32='m'了,看看ASCII码表,原来如此!*/ return 0;} 参考结果: x=10,y=10,z=10 x=8,y=10,z=16 c1=M,c2=4d,c3=115,c4=77 c1=M,c2=M,c3=M,c4=M c1=77,c2=77,c3=77,c4=77 c=m,c=109

三、实验报告要求

将题目:2和4的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。2

实验二

顺序结构程序设计

一、实验目的:

1.掌握顺序结构程序设计 2.掌握赋值语句的用法

3.熟练地进行数据输入和输出

二、实验内容和源程序清单、测试数据、结果。

1、已知:a=2,b=3,x=3.9,y=2.3(a,b整型,x,y浮点),计算算术表达式(float)(a+b)/2+(int)x%(int)y的值。试编程上机验证。(要求文件名:2_1.c)提示编程要点:

(1)先判断结果值类型,可设置一个此类型的变量用于记录表达式结果,本例用r存放结果;(2)程序先给几个变量赋初值,然后将表达式赋值给变量r;(3)最后打印变量r的值就是表达式的值。参考程序:

#include int main(){

int a=2,b=3;float x=3.9,y=2.3;

float r;

r=(float)(a+b)/2+(int)x%(int)y;

printf(“%fn”,r);return 0;} 参考结果: 3.500000 思考:为什么是这个结果?

2、分析下面程序结果,并上机验证。(要求文件名:2_2.c)#include int main(){

int i,j,m,n;

i=8;

j=10;

m=++i;

n=j++;

printf(“i=%d, j=%d, m=%d, n=%dn”,i,j,m,n);

return 0;} 参考结果:

i=9, j=11, m=9, n=10

3、用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。从键盘如何输入?(要求文件名:2_3.c)#include int main(){ int a,b;float x,y;char c1,c2;scanf(“a=%d b=%d”,&a,&b);scanf(“%f %e”,&x,&y);scanf(“%c%c”,&c1,&c2);printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%cn”,a,b,x,y,c1,c2);return 0;}

4、编程序,用getchar函数读入两个字符给c1、c2,然后分别用 putchar函数和 printf函数输出这两个字符。(要求文件名:2_4.c)参考程序:

#include int main(){ char c1,c2;c1=getchar();c2=getchar();putchar(c1);putchar(c2);printf(“n%c,%c”,c1,c2);return 0;}

三、实验报告要求

将题目:1和3的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。

实验三

选择结构程序设计

一、实验目的

1.2.3.4.了解C语句表示逻辑量的方法(以0代表“假”以1代表“真”);

学会正确使用逻辑运算符和逻辑表达式;

熟练掌握if语句和switch语句;

熟练掌握switch语句中break语句的作用。

二、实验内容和源程序清单、测试数据、结果。

(1)掌握各种格式转换符的正确使用方法,输出结果。(要求文件名:3_1.c)#include int main(){ int a=5,b=7;float x=67.8564,y=-789.124;char c='A';long n=1234567;unsigned u=65535;printf(“%d%dn”,a,b);printf(“%3d%3dn”,a,b);printf(“%f,%fn”,x,y);printf(“%-10f,%-10fn”,x,y);printf(“%8.2f,%8.2f,%.4f,%.4f,%3f,%3fn”,x,y,x,y,x,y);printf(“%e,%10.2en”,x,y);printf(“%c,%d,%o,%xn”,c,c,c,c);printf(“%ld,%lo,%xn”,n,n,n);printf(“%u,%o,%x,%dn”,u,u,u,u);printf(“%s,%5.3sn”,“COMPUTER”,“COMPUTER”);return 0;}

(2)1.从键盘任意输入一个年号,判断它是否是闰年。若是闰年,输出“Yes”,否则输出“No”。已知符合下列条件之一者是闰年:(1)能被4整除,但不能被100整除;(2)能被400整除。(要求文件名:3_2.c)参考程序:

#include int main(){

int year, flag;printf(“Enter year:”);scanf(“%d”, &year);if(year%4==0&&year%100!=0 || year%400==0)

{

flag = 1;

} else

{

flag = 0;

} if(flag)

{

printf(“Yesn”);

} else

{

printf(“Non”);} return 0;}(3)编程序,并给出程序的运行结果,注意思考case中break的用法以及为什么是这样的结果?(要求文件名:3_3.c)参考程序:

#include int main(){

int x=2,y=1,a=1,b=2;switch(x){ case 2:

switch(y)

{

case 1:a++;

case 2:b++;break;

}

case 3:a++;b++;break;} printf(“%d %dn”,a,b);return 0;}(4)编程序:输入4个整数,要求按由小到大的顺序输出。(要求文件名:3_4.c)参考程序:

#include int main(){

int t,a,b,c,d;scanf(“%d,%d,%d,%d”,&a,&b,&c,&d);printf(“a=%d,b=%d,c=%d,d=%dn”,a,b,c,d);if(a>b){t=a;a=b;b=t;} if(a>c){t=a;a=c;c=t;} if(a>d){t=a;a=d;d=t;} if(b>c){t=b;b=c;c=t;} if(b>d){t=b;b=d;d=t;} if(c>d){t=c;c=d;d=t;} printf(“%d,%d,%d,%dn”,a,b,c,d);return 0;}

三、实验报告要求

将题目:2和3的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。

实验四 循环结构程序设计

一、实验目的

1.2.3.4.5.熟练使用while、for语句实现循环程序设计

理解循环条件和循环体,以及while、for语句的相同及不同之处 掌握嵌套循环程序设计

熟练掌握下拉菜单Debug的程序调试方法 掌握break和continue的用法

二、实验内容和源程序清单、测试数据、结果。

(1)输入两个正整数m和n,求它们的最大公约数和最小公倍数。(要求文件名:4_1.c)参考程序:

#include int main(){ int x,y,i,m,max;scanf(“%d,%d”,&x,&y);if(x>y)

m=x;else

m=y;for(i=1;i<=m;i++){

if((x%i==0)&&(y%i==0))

max=i;} printf(“%dn”,max);printf(“%dn”,x*y/max);return 0;}(2)从键盘输入一个 int 类型的正整数,输出它的所有因子。如输入6,输出1,2,3;输入20,输出1,2,4,5,10。(要求文件名:4_2.c)参考程序:

#include int main(){ int x,i;scanf(“%d”,&x);for(i=1;i

printf(“%dn”,i);} return 0;}(3)输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。(要求文件名:4_3.c)参考程序:

#include #include int main(){ char c;int letter=0,digit=0,space=0,other=0;printf(“please input string:”);while((c=getchar())!='n'){

if(c>='a'&&c<='z'||c>='A'&&c<='Z')

letter++;

else if(c>='0'&&c<='9')

digit++;

else if(c==' ')

space++;

else other++;} printf(“%d,%d,%d,%dn”,letter,digit,space,other);return 0;}(4)编程计算111111的值。(要求文件名:4_4.c)23499100参考程序:

#include int main(){

int sign = 1;double sum = 1;double deno = 2;double term = 1;while(deno<=100){

sign =(-1)*sign;

term = sign*(1/deno);

sum = sum+term;

deno++;} printf(“%lfn”,sum);return 0;}

三、实验报告要求

将题目:3和4的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。

实验五

数组

一、实验目的

1.掌握一维、二维数组的定义、引用、应用 2.掌握字符数组的定义、引用、应用 3.掌握字符串处理函数

二、实验内容和源程序清单、测试数据、结果。

(1)给出下面程序的结果,思考为什么?(要求文件名:5_1.c)#include int main(){

char a[]=“Chinaren”,b[]=“Tiananmen”;char *p1,*p2;

int k=0;p1=a;

p2=b;for(k=0;k<10;k++)

if(*(p1+k)==*(p2+k))

printf(“%c”,*(p1+k));printf(“n”);return 0;}(2)有一个3×4的矩阵,要求输出其中值最大的元素的值,以及它的行号和列号。(要求文件名:5_2.c)参考程序: #define M 3 #define N 4

#include int main(){ int max,i,j,r,c;

int a[M][N]={{123,94,-10,218},{3,9,10,-83},{45,16,44,-99}};

max=a[0][0];

for(i=0;i

for(j=0;j

if(a[i][j]>max)

{

max= a[i][j];

r=i;

c=j;

}

printf(“max=%d , row =%d , colum=%d n”,max , r, c);

return 0;}(3)编程序用于读入10个字符串,然后找出最大的字符串并打印。(要求文件名:5_3.c)参考程序:

#include #include main(){

char str[10][80],maxstring[80];

int i;printf(“Enter ten strings:n”);for(i=0;i<10;i++)

{

scanf(“%s”, str[i]);} strcpy(maxstring, str[0]);

for(i=1;i<10;i++)

{

if(strcmp(str[i],maxstring)>0)

{

strcpy(maxstring,str[i]);

} } printf(“The max string is:%sn”,maxstring);}(4)给出下面程序的运行结果,思考为什么?(要求文件名:5_4.c)#include int main(){

int a[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};int i,j,s=0;for(i=0;i<4;i++){

for(j=0;j<4;j++)

{

if(a[i][j]<0)continue;

if(a[i][j]==0)break;

s+=a[i][j];

} } printf(“%dn”,s);return 0;}(5)测试二维数组的各个地址值,结果是什么,思考原因。(要求文件名:5_5.c)#include #define M 3 #define N 4 int main(){

int a[M][N];printf(“%xn”,a);printf(“%xn”,a[0]);for(int i=0;i

printf(“%x,”,&a[i][j]);

return 0;}

三、实验报告要求

将题目:2和3的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。

实验六

函数

一、实验目的

1.掌握C语言函数的定义方法、函数的声明及函数的调用方法。

2.了解主调函数和被调函数之间的参数传递方式。

二、实验内容和源程序清单、测试数据、结果。

(1)给出下面程序的结果,思考为什么?(要求文件名:6_1.c)#include void swap(int x,int y){ int t;t=x;x=y;y=t;printf(“%d %d ”,x,y);} int main(){ int a=5,b=7;swap(a,b);printf(“%d %dn ”,a,b);return 0;}(2)写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息。(要求文件名:6_2.c)参考程序:

#include int prime(int number);int main(){ int number;printf(“please input a num:n”);scanf(“%d”,&number);if(prime(number))

printf(“%d is prime!”,number);else

printf(“%d is not!”,number);return 0;} int prime(int number)/*此函数用于判别素数*/ { int flag=1,n;for(n=2;n

if(number%n==0)

flag=0;return(flag);}(3)求两个整数的最大公约数和最小公倍数。写一个函数求最大公约数。(要求文件名:6_3.c)参考程序:

#include int max_ys(int x,int y);int main(){ int x,y,i,max;scanf(“%d,%d”,&x,&y);max=max_ys(x,y);printf(“%dn”,max);printf(“%dn”,x*y/max);return 0;} int max_ys(int x,int y){ int i,m,max;if(x>y)m=x;else m=y;for(i=1;i<=m;i++){ if((x%i==0)&&(y%i==0))

max=i;} return(max);}(4)写一函数,输入一个十六进制数,输出相应的十进制数。(要求文件名:6_4.c)参考程序:

#include #include #include long change(char shu[]){ long i,k,sum=0;k=strlen(shu)-1;for(i=k;i>=0;i--)

if(shu[i]>=48&&shu[i]<=57)

sum=sum+(shu[i]-48)*pow(16,k-i);

else if(shu[i]>=65&&shu[i]<=70)

sum=sum+(shu[i]-55)*pow(16,k-i);

else if(shu[i]>=97&&shu[i]<=102)

sum=sum+(shu[i]-87)*pow(16,k-i);

else

{

printf(“error!n”);

break;

} return sum;} int main(){ char str[100];long s;gets(str);s=change(str);if(!s)

printf(“The number is not oxn”);else

printf(“change:%ldn”,s);return 0;}

三、实验报告要求

将题目:3和4的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。

实验七

指针

一、实验目的

1.掌握指针变量的定义与引用。

2.熟练使用函数指针、数组指针、字符串指针编写应用程序。

二、实验内容和源程序清单、测试数据、结果。

(1)输入三个整数,按由小到大的顺序输出,然后将程序改为:输入三个字符串,按由小到大顺序输出。参考程序:(输入三个整数,按由小到大的顺序输出)(要求文件名:7_0.c)#include void swap(int *p1,int *p2);int main(){ int n1,n2,n3,*p1,*p2,*p3;scanf(“%d,%d,%d”,&n1,&n2,&n3);p1=&n1;p2=&n2;p3=&n3;if(n1>n2)swap(p1,p2);if(n1>n3)swap(p1,p3);if(n2>n3)swap(p2,p3);printf(“the order is:%d,%d,%dn”,n1,n2,n3);return 0;} void swap(int *p1,int *p2){ int temp;temp=*p1;*p1=*p2;*p2=temp;} 参考程序:(输入三个字符串,按由小到大顺序输出)(要求文件名:7_1.c)#include #include void swap(char *p1,char *p2);int main(){ char s1[20],s2[20],s3[20];char *ps1=s1,*ps2=s2,*ps3=s3;scanf(“%s”,ps1);scanf(“%s”,ps2);scanf(“%s”,ps3);if(strcmp(ps1,ps2)>0)swap(ps1,ps2);if(strcmp(ps1,ps3)>0)swap(ps1,ps3);if(strcmp(ps2,ps3)>0)swap(ps2,ps3);printf(“the order is:%s,%s,%sn”,ps1,ps2,ps3);return 0;} void swap(char *p1,char *p2){ char temp[20];strcpy(temp,p1);strcpy(p1,p2);strcpy(p2,temp);}(2)用指向指针的指针的方法对x个整数排序并输出。要求将排序单独写成一个函数。x和各整数在主函数中输入,最后在主函数中输出。(要求文件名:7_2.c)参考程序:

#include void maopao(int *p,int x);int main(){

int x,a[100],*p,i;p=a;scanf(“%d”,&x);for(i=0;i

scanf(“%d”,p++);p=a;printf(“n”);maopao(p,x);printf(“the sorted numbers:n”);p=a;for(i=0;i

printf(“%dt”,*p);

return 0;} void maopao(int *p,int x){ int i,j,temp;for(i=0;i

for(j=0;j

if(*(p+j)>*(p+j+1))

{

temp=*(p+j);

*(p+j)=*(p+j+1);

*(p+j+1)=temp;

} }(3)利用函数和指针将给定字母字符串的第一个字母变成大写字母,其它字母变成小写字母。在main函数中接收字符串的输入,改变后的字符串的输出也在main函数中实现。(要求文件名:7_3.c)参考程序:

#include #include void change(char *s);int main(){ char s[100];char *ps=s;scanf(“%s”,ps);change(ps);printf(“%s”,ps);return 0;} void change(char *s){ int x,i;x=strlen(s);if(*s>='a'&&*s<='z')

*s-=32;s++;

} for(i=0;i='A'&&*s<='Z')

*s+=32;

三、实验报告要求

将题目2和3的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。

实验八

结构体和共用体

一、实验目的

1.掌握结构体类型和结构体变量的定义。

2.掌握结构类型变量的定义和使用。

3.掌握链表的概念,初步学会对链表进行操作。

二、实验内容和源程序清单、测试数据、结果。

(1)给出下面程序的运行结果,思考为什么?(要求文件名:8_1.c)#include struct STU {

char num[10];

float score[3];};

int main(){

struct STU s[3]={{“1122301”,90,95,85}, {“1122302”,80,90,75}, {“1122303”,98,92,85}}, *p=s;

int i;

float sum = 0;

for(i=0;i<3;i++){

sum = sum + p->score[i];

} printf(“%6.2fn”,sum);

return 0;}(2)有10个学生,每个学生的数据包括学号,姓名,三门课的成绩,从键盘输入十个学生的数据,要求打印出每个学生的平均成绩,以及最高分的学生的数据(包括学号,姓名,三门课的成绩,平均分数)。(要求文件名:8_2.c)#include #define N 10 struct student {

char num[6];

char name[8];

float score[3];

float avr;} stu[N];

int main(){ int i,j,maxi;

float sum,max,average;

for(i=0;i

{ printf(“input scores of student %d:n”,i+1);

printf(“NO.:”);

scanf(“%s”,stu[i].num);

printf(“name:”);

scanf(“%s”,stu[i].name);

for(j=0;j<3;j++)

{ printf(“score %d:”,j+1);

scanf(“%f”,&stu[i].score[j]);

}

}

average=0;

max=0;

maxi=0;

for(i=0;i

{ sum=0;

for(j=0;j<3;j++)

sum+=stu[i].score[j];

stu[i].avr=sum/3.0;

average+=stu[i].avr;

if(sum>max)

{ max=sum;

maxi=i;

}

}

average/=N;

printf(“

NO.name

score1

score2

score3

averagen”);

for(i=0;i

for(j=0;j<3;j++)

printf(“%9.2f”,stu[i].score[j]);

printf(“

%8.2fn”,stu[i].avr);

}

printf(“average=%5.2fn”,average);

printf(“The highest score is : student %s,%sn”,stu[maxi].num,stu[maxi].name);printf(“his scores are:%6.2f,%6.2f,%6.2f,average:%5.2f.n”,stu[maxi].score[0],stu[maxi].score[1],stu[maxi].score[2],stu[maxi].avr);return 0;}(3)建立一个链表,每个结点包括:学号,姓名,性别,年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。(要求文件名:8_3.c)

#include #include #define LEN sizeof(struct student)struct student {

char num[6];char name[8];char sex[2];int age;struct student *next;} stu[10];

int main(){

struct student *p,*pt,*head;int i,length,iage,flag=1;int find=0;

//找到待删除元素 find=1,否则find=0 while(flag==1){

printf(“input length of list(<10):”);

scanf(“%d”,&length);

if(length<10)

flag=0;}

//建立链表

for(i=0;i

p=(struct student *)malloc(LEN);

if(i==0)

head=pt=p;

else

pt->next=p;

pt=p;

printf(“NO.:”);

scanf(“%s”,p->num);

printf(“name:”);

scanf(“%s”,p->name);

printf(“sex:”);

scanf(“%s”,p->sex);

printf(“age:”);

scanf(“%d”,&p->age);

}

p->next=NULL;

p=head;printf(“n NO.name

sex agen”);

//显示

while(p!=NULL){

printf(“%4s%8s%6s%6dn”,p->num,p->name,p->sex,p->age);

p=p->next;}

// 删除

printf(“input age:”);

//输入待删年龄

scanf(“%d”,&iage);pt=head;p=pt;

if(pt->age==iage)

//链头是待删元素

{

p=pt->next;

head=pt=p;

find=1;

}

else

//链头不是待删元素

pt=pt->next;

while(pt!=NULL){

if(pt->age==iage)

{

p->next=pt->next;

find=1;

}

else

// 中间结点不是待删元素

p=pt;

pt=pt->next;

}

if(!find)

printf(“ not found %d.”,iage);

p=head;

printf(“n NO.name

sex agen”);//显示结果

while(p!=NULL){

printf(“%4s%8s”,p->num,p->name);

printf(“%6s%6dn”,p->sex,p->age);

p=p->next;

}

return 0;}

三、实验报告要求

将题目3的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。

实验九

文件操作

一、实验目的

1.掌握文件和文件指针的概念以及文件的定义方法。

2.了解文件打开和关闭的概念和方法。

3.掌握有关文件的函数。

二、实验内容和源程序清单、测试数据、结果。

(1)对data.dat文件写入100条记录。(要求文件名:8_1.c)

#include int main(){ FILE *fp;

int i;

float x;

fp=fopen(“c:data.dat”,“w”);

for(i=1;i<=100;i++)

{

scanf(“%f”,&x);

fprintf(fp,“%fn”,x);

}

fclose(fp);

return 0;}

(2)设有一文件cj.dat存放了50个人的成绩(英语、计算机、数学),存放格式为:每人一行,成绩间由逗号分隔。计算三门课平均成绩,统计个人平均成绩大于或等于90分的学生人数。(要求文件名:8_2.c)

#include int main(){ FILE *fp;

int num=0;

float x , y , z , s1 , s2 , s3;

fp=fopen(“c:cj.dat”,“r”);

while(!feof(fp))

{

fscanf(fp,“%f,%f,%f”,&x,&y,&z);

s1=s1+x;

s2=s2+y;

s3=s3+z;

if((x+y+z)/3>=90)

num=num+1;

}

printf(“分数高于90的人数为:%dn”,num);

fclose(fp);

return 0;}

(3)统计上题cj.dat文件中每个学生的总成绩,并将原有数据和计算出的总分数存放在磁盘文件“stud”中。(要求文件名:8_3.c)

#include “stdio.h” int main(){

FILE *fp1,*fp2;

float x,y,z;

fp1=fopen(“c:cj.dat”,“r”);

fp2=fopen(“c:stud”,“w”);

} while(!feof(fp1)){

fscanf(fp1,“%f,%f,%f”,&x,&y,&z);

printf(“%f,%f,%f,%fn”,x,y,z,x+y+z);

fprintf(fp2,“%f,%f,%f,%fn”,x,y,z,x+y+z);}

fclose(fp1);fclose(fp2);return 0;

三、实验报告要求

将题目1、2和3的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。

下载高级语言程序设计(VB)实验评分方法及注意事项word格式文档
下载高级语言程序设计(VB)实验评分方法及注意事项.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    VB语言程序设计教与学专题

    作者简介:杨远花(1984.1.28),女,汉族,四川达州,助教,大学本科,四川文化传媒职业学院,程序设计语言教学 邮寄地址:四川省成都市崇州市三和东街28号四川文化传媒职业学院 收件人:杨远花 联......

    vb程序设计实验心得(大全)

    vb程序设计实验心得 vb程序设计实验心得一:数据库VB课程设计心得体会 数据库课程设计大赛的尘嚣渐渐远去,怀着对这次大赛的些许不舍,怀着对当初课程设计开始时候的豪情万丈的......

    《高级语言程序设计》课程设计大纲

    《高级语言程序设计》课程设计教学大纲 课程名称:高级语言程序设计课程设计 课程总学时:32 适用专业:广播电视工程、电子信息工程、电子科学与技术 课程类别:必修 一、 课程设计......

    VB语言程序设计-在线作业_C 答案

    VB语言程序设计-在线作业_C 用户名:W310201132227最终成绩:100.0 一 单项选择题 1. 当一个工程含有多个窗体时,其中的启动窗体是()。 窗体 最后一个添加的窗体 第一个添加的窗体......

    C语言程序设计实验指导及报告

    太原理工大学现代科技学院 C语言程序设计课程 实验报告 专业班级学号姓名指导教师C语言程序设计 实验指导及报告 实验说明: 1、共4次实验,每次实验完成1个内容。 2、实验报告......

    《C语言程序设计》实验四

    电子科技大学 计算机 学院 标 准 实 验 报 告 (实验)课程名称C语言程序设计 电子科技大学教务处制表电 子 科 技 大 学 实 验 报 告四 学生姓名:学 号:指导教师:刘 勇 实验地点:......

    《C语言程序设计》实验四

    电子科技大学 计算机 学院 标 准 实 验 报 告 (实验)课程名称C语言程序设计 电子科技大学教务处制表电 子 科 技 大 学 实 验 报 告四 学生姓名:学 号:指导教师:王瑞锦 实验地点......

    C语言程序设计实验安排

    C语言实验指导 实验一 顺序结构程序设计(2学时) 一、实验目的熟悉在VC运行环境下,编辑调试C语言程序的一般步骤。掌握顺序结构程序设计的基本思想和基本方法。二、实验要求1. 仔......