C_上机实验(含作业)总的目的、要求和评分标准.doc

上传人:飞****2 文档编号:52197403 上传时间:2022-10-21 格式:DOC 页数:7 大小:51.50KB
返回 下载 相关 举报
C_上机实验(含作业)总的目的、要求和评分标准.doc_第1页
第1页 / 共7页
C_上机实验(含作业)总的目的、要求和评分标准.doc_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《C_上机实验(含作业)总的目的、要求和评分标准.doc》由会员分享,可在线阅读,更多相关《C_上机实验(含作业)总的目的、要求和评分标准.doc(7页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、上机实验(含作业)总的目的、要求和评分标准一、实验目的实验作为教学的一个重要环节,其目的在于更深入地理解和掌握课程教学中的有关基本概念,应用基本技术解决实际问题,从而进一步提高分析问题和解决问题的能力。C程序设计课程实践性很强,即要求独立编写程序,学会独立上机调试程序。学会独立上机调试程序。也就是要善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行。计算机技术是实践性很强的技术,要求从事这一领域的人不仅能了解和熟悉有关理论和方法,还要求自己动手实践。对程序设计来说,要求会编写程序并上机调试通过。因此调试程序本身是程序设计课程的一个重要的内容和基本要求,应给予充分的重视。调试程序的

2、经验固然可以借鉴他人的现成经验,但更重要的是通过自己的直接实践来积累,而且有些经验是只能“会意”难以“言传”。因此,在实验时不但要达到通过程序完成每一次的实验任务,而且应当在已通过的程序基础上作进一步的修改、提高和完善。甚至于“自设障碍”,即把正确的程序改为有错的(如用scanf函数为输入变量输入数据时,漏写“&”符号,double变量使用格式符“%f”;使数组下标出界;使整数溢出等等),观察和分析所出现的情况。这样的学习才会有真正的收获。实验目的可归纳如下: 验证自己已建立起来的概念或所编写的程序是否正确; 加深对课堂所学内容的理解和语法规则的记忆; 理解和掌握运用计算机高级语言进行编程的思

3、想方法; 掌握常用算法的设计与应用实现; 熟悉Turbo C 2.0程序开发环境,掌握C程序常用的调试手段; 学会上机调试程序的方法,不断积累调试经验,提高排错能力; 使自己具有独立的应用编程和熟练的程序调试能力。二、要求: 做好每一次上机前的准备以提高上机效率: 预先认真阅读相关实验内容,做到心中有明确的目的要求和任务,要有备而来; 按照实验内容规定的习题题目,事先在实验预习报告上编写好源程序及运行程序所需的典型数据,并经人工静态检查认为无误;手编程序应书写整齐,应在每个题目之间留出一定的空间,以备记录上机调试情况和运行结果等;对程序中自己有疑问的地方,应作出记号,以便上机时给以注意。 将想

4、要上机验证的问题草拟提纲;制定一个简捷的程序调试计划。 上机时输入和调试自己所编写的程序。在使用键盘时,应采用正确的指法击键,为今后正确使用键盘打下基础;应该一人一组,尽量独立思考,上机过程中出现的问题,除了是系统的问题外,一般应自己独立处理,尤其对“出错信息”,应善于自己分析判断,并充分利用开发工具提供的错误信息和调试手段解决出现的问题,及时修改与完善源程序,随时记录有价值的内容。解决问题是学习调试程序的良好机会。初学者切不可不编程序或抄别人的程序去上机,应从一开始就养成严谨的科学作风。 程序调试通过后,应运行程序并根据事先准备的典型数据验证结果,在运行时要注意在输入不同数据时所得到的不同结

5、果(如解一元二次方程上时,不同的a、b、c组合应得到实根、复根的不同结果)。此时应运行几次,分别检查在不同情况下程序是否正确。 为便于教师、助教检查和以后复习,请不要删除已通过的程序,包括有问题待答疑的程序,应保存在自己的工作目录内。源程序名应能反映哪一次实验的哪一个题目,例如:若已完成第一次实验第二道程序题的编写且学生名称为李明,则完成后的源文件应命名为LM_1_2.C,其中LM是姓名首字母的大写,1表示第一次实验,2表示第二道程序题,下划线“_”不可丢失。若有未完成调试的源程序,可以作存盘保存处理,待课外继续完成。 在实验课堂上至少要完成每次实验任务的前三道程序题,可以课后继续完成其余题目

6、,但每次实验任务中所有的程序题都必须写在实验报告上并递交。三、实验报告内容:上机结束后,应整理出实验报告,实验报告可采用英文或中文书写,每份实验报告总分100分,实验报告必须在该次实验后下一周星期二下午5、6节课前交到学习委员处,由学习委员按学号整理好,在上课前交到讲台上。实验报告应包括以下内容: 实验目的(10分) 实验题目(10分) 程序清单(50分)(此部分要求: 含算法的伪代码描述或流程图描述; 必须包括注释。) 运行结果(10分)(必须是程序清单所对应的输入、数据和打印输出的结果); 调试分析和体会(20分)(这是实验报告中最重要的一项,也是最容忽视的一项。实验过程中大量的工作是程序

7、调试,在调试过程中会遇到各种各样的问题,每解决一个问题就能积累一点经验,提高编程的能力。因此,对实验的总结,最重要的是程序调试经验的总结。调试分析也包括对结果的分析。体会主要是指通过本次实验是否达到了实验目的,有那些基本概念得到了澄清等。)四、实验纪律(参照学生守则): 无故缺勤实验一次,取消期末考试的资格; 在实验进行中,累计2次玩游戏者,取消期末考试的资格; 因故缺勤实验一次,必须补做,补交实验报告。Lab 1Sequence Structure上机前的预习:在实验预习报告上画好流程图,并编写好源程序及运行程序所需的典型数据。在自己的系统上运行“Hello, World”,再让程序遗漏一些

8、部分,观察出现的错误信息。调试并改正下列程序中的错误。该程序能够计算某个数x的平方,并赋值给y,且分别以“y=x *x”和“x *x = y”的形式输出x和y的值。要求记录错误信息,说明错误原因和改正方法,最后写正确的程序。#include void main(void)int x,y;y = x*xprintf(“%d = %d * %d”,x);printf(“d *%d = %d,y);输入两个数,交换它们的值。求摄氏温度26对应的华氏温度。计算公式为 ,其中,c表示摄氏温度;f表示华氏温度。输入某员工的基本工资(以元为单位,工资为整数值),如果他的住房补贴是基本工资的20%,岗位补贴是

9、基本工资的40%,计算该员工的总工资。Lab 2Selection Structure上机前的预习:在实验预习报告上画好流程图,并编写好源程序及运行程序所需的典型数据。输入一个年份,判断其是否为闰年。假设现在90号汽油6.95元/升、93号汽油7.44元/升、97号汽油7.93元/升。为吸引顾客,某自动加油站推出了“自助服务”和“协助服务”两个服务等级,分别可得到5%和3%的折扣。请编写程序,输入顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m为自助服务,e为协助服务),计算并输出应付款(保留小数点后2位)。给一个不多于5位的正整数,求出它是几位数,并计算组成该整数的每位上的数字

10、的和。输入三角形的三边a,b,c,若能构成三角形,输出YES,否则输出NO。输入某学生语文课程的成绩,输出该成绩的等级。判断规则为:如果成绩在90-100的范围内,则等级为A;若成绩在80-89的范围内,则等级为B;若成绩在70-79的范围内,则等级为C;若成绩在60-69的范围内,则等级为D;若少于60分,则等级为F。(要求:用switch语句实现。)Lab 3Repetition Structure上机前的预习:在实验预习报告上画好流程图,并编写好源程序及运行程序所需的典型数据。从500开始,求被3、5、7除余数均为2的前50个数。打印形状为正方形和直角三角形的乘法九九表。由键盘输入一个正

11、整数,判断它是否为素数(只能被1和自身整除的数)。输入一个正整数n,输出的前n项和之和,保留小数点2位。将一笔零钱(大于8分,小于1元,精确到分)换算成1分、2分和5分的硬币组合。输入金额,输出共有多少种换法及换算的方案。编写程序输出以下的图形: A B C D E F G H I JLab 4Function ( Part )上机前的预习:在实验预习报告上画好流程图,并编写好源程序及运行程序所需的典型数据。要求:从本次实验开始,每一个功能模块都必须用一个函数来实现。输入一批正整数(以0或负数为结束标志),求其中所有奇数的和。要求:定义和调用函数even(n) 判断整数的奇偶性,当n为偶数时返

12、回1,否则返回0。输入两个正整数m和n(1m,n1000),输出mn之间的所有满足各位数字的立方和等于它本身的数(如153 = 13 + 53 + 33)。要求定义并调用函数isnumber(number)判断number的各位数字之立方和是否等于它本身。随机产生50个200至500之间的整数,输出所有的整数,判断每个整数是否为素数;若是素数,则在输出整数时,用*标记。要求每行输出10个数。要求:判断一个整数是否为素数,必须用自定义的函数实现。给定平面任意两点坐标(x1,y1)和(x2,y2),求这两点之间的距离(保留2位小数)。要求:定义和调用函数dist(x1,y1,x2,y2)计算两点间

13、的距离。输入两个正整数,求其最大公约数和最小公倍数。要求:求最小公约数必须用自定义的函数实现。Lab 5Function ( Part )上机前的预习:在实验预习报告上画好流程图,并编写好源程序及运行程序所需的典型数据。编程计算Xn(要求:用递归函数)。编程计算Ackermann函数Ack(m,n)(要求:用递归函数)。 对于m0, n 0, Ack(m,n)定义如下: Ack(0,n)=n+1 Ack(m,0)= Ack(m-1,1) Ack(m,n)= Ack(m-1), Ack(m,n-1) 写出下列程序的输出结果(1) int x1=30,x2=40;void sub(int x,in

14、t y)x1 = x; x =y; y=x1;int main(void)int x3=10,x4=20; sub(x3,x4); sub(x2,x1);printf(“%d,%d,%d,%dn”,x3,x4,x1,x2);return 0; (2) int x=3; void incre() static int x=1; x*=x+1; printf(“%d”,x); int main(void) int i;for(i=1,ix,i+) incre();return 0;Lab6 Array ( Part )上机前的预习:在实验预习报告上画好流程图,并编写好源程序及运行程序所需的典型数据

15、。产生10005000之间的100个随机整数,找出其中的素数,用冒泡法对找出的素数进行排序。请将产生的随机数、找出的素数和排序后的素数分别输出。有一个按非递增排列好的数组,今输入一个数,要求按原来排序的规律将它插入到数组中。计算以下整数的标准差和平均值。-6, -12, 8, 13, 11, 6, 7, 2, -6, -9, -10, 11, 10, 9, 2 其中,标准差的计算公式为:输入数组x的全部10个元素,求出数组x中各相邻两个元素的和并依次存放到a数组中,然后输出a数组的所有元素。有15个已经排序好的数存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果

16、该数不在数组中,则打印出“no found”。输入字符串(以回车结束),统计该字符串中元音字母(a,e,i,o,u)的个数。Lab 7Array ( Part )上机前的预习:在实验预习报告上画好流程图,并编写好源程序及运行程序所需的典型数据。将N行N列(N不超过5)的二维数组中每一行的元素进行排序,第0行从小到大排序,第1行从大到小排序,第2行从小到大排序,第3行从大到小排序,以此类推。用递推法打印杨辉三角形(提示:利用二维数组)。找出二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。编程找出一个二维数组中值最大和值最小的元素,并告知所在行号和列号。输入两个正整数

17、m和n(m1,n6),然后输入该m行n列二维数组a中的元素,将该二维数组a中的每个元素向右移一列,最后一列换到第一列,移动后的数组存到另一个二维数组b中,按矩阵形式输出b数组。Lab 8Pointers上机前的预习:在实验预习报告上画好流程图,并编写好源程序及运行程序所需的典型数据。要求:本次实验的所有题目要求用指针来实现。输入10个整数,将其中最大 的数与第一个数对换,把最小的数与最后一个数对换。要求:输入、处理和输出分别用一个函数实现。 输入一个以#结束的字符串s,将该字符串中的所有数字字符放入另外一个数组d中,最后输出d中的数字字符串。要求:对字符的逐个扫描需要用指针来实现。输入一个以回

18、车结束的字符串(长度少于30个字符),删除字符串中所有的数字字符。要求:逐个取出字符的工作变量要用指针来实现。输入10个整数,再输入一个待查找的整数,采用二分查找法在前10个整数中搜索,若存在输出“found”,否则输出“not exist”。要求:二分查找时搜索的工作变量要用指针来实现。假设有一个数组int AnSize,假设其中隐藏着若干0,其余非0整数,写一个函数int Fun(int* A, int nSize),使把0移至后面,非0整数移至数组前面并保持原来的顺序,返回值为原数据中第一个元素为0的下标。Lab 9Strings, Preprocessor上机前的预习:在实验预习报告上

19、画好流程图,并编写好源程序及运行程序所需的典型数据。有n个国家名,要求按字母先后顺序排列,并按升序输出。(要求:尽量使用标准字符串函数)输入字符串1和字符串2,若字符串1比字符串2大,则把字符串2连接到字符串1的后面;若字符串2比字符串1大,则把字符串1连接到字符串2的后面,并输出连接后的新字符串的长度。输入一个以回车结束的字符串(少于30个字符),将它的内容逆序输出。如“ABCD”输出为“DCBA”。输入一行字母字符,根据需要设置条件编译,使之能升序输出或降序输出。定义一个求三个数中最大值的宏,并在在主函数中使用这个宏,求出输入的三个整数的最大值。Lab 10Structures and L

20、inked Lists上机前的预习:在实验预习报告上画好流程图,并编写好源程序及运行程序所需的典型数据。编写时间换算程序。用结构体类型表示时间的时、分、秒,输入一个时间数值,再输入一个秒数n(n60),以hh:mm:ss的格式输出该时间再过n秒后的时间值(超过24点就从0点开始计时)。 例如: 输入:time : 11:59:40 n: 30 输出:12:0:10编写程序,从键盘输入n(n10)本书的名称和定价并存入结构体数组中,从中查询定价最高和最低的书的名称和定价,并输出。 有10个职工,每个职工的数据包括:职工号、姓名、基本工资、奖励工资、扣项合计和实发工资,从键盘输入这10个人的数据(不含实发工资)。要求实发工资由前三项工资计算,找出工资最高者的职工号和姓名,并打印整张职工工资表。 建立一个链表,每个结点中包括学号、姓名、性别和成绩。要求输入一个成绩x,查找该链表中是否有成绩等于x的结点。建立一个结点按学生成绩从小到大顺序排列的链表,每个结点中包括学号、姓名、性别和成绩。要求:输入一个新的学生结点信息,根据其成绩,插入到原链表中并将链表输出;要求:输入一个学生的学号,查找该链表中是否有学号等于x的结点,若存在,则删除该结点。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com