上机考试练习技巧.doc
上传人:sy****28 上传时间:2024-09-12 格式:DOC 页数:7 大小:134KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

上机考试练习技巧.doc

上机考试练习技巧.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

上机考试练习实验要求熟悉程序改错题、程序编写题,熟练掌握做题方法与应试技巧,明确考试要求,能够处理考试中遇到的简单问题。试验内容一、程序改错题程序改错题的做法和评分方法与程序填空题类似,下面的程序改错题为例讲解程序改错题的做题方法。在TC这里的tc是另外一种C的编译器,类似于VC++6.0中打开源程序MODI1.C,将源程序代码附录如下。#include<stdio.h>/**********found**********/fun(intm){doubley=0,d;inti;/**********found**********/for(i=100,i<=m,i+=100){d=(double)i*(double)I;y+=1.0/d;}return(y);}main(){intn=2000;printf(“\nTheresultis%if\n”,fun(n));}考试时程序改错题只有一道题,共30分。这道程序改错题中有两三处错误需要更改,这几个错误总共30分,我们可以看到,在程序中也有两个“/**********found**********/”。与程序填空类似,它表示程序中有两处错误需要修改。注意,每处错误均在这个标记的紧接着的下一行。如上面的程序中,其两处错误分别在这两行中:fun(intn)for(i=100,i<=m,i++)做错题的时候,首先按F9键这是TC里面的编译命令哦,注意你们的VC里面,老师介绍过,界面上有直接的快捷按钮,指到按钮可以看见其快捷键。(自己去发现),由系统检查是否有语法错误,如果有,可根据系统的提示进行修改。如上面的例子,我们按F9键后系统提示在for(i=100,i<=m,i+=100)这一行有语法错误,因此我们看看这行到底有什么语法错误,。很快我们发现,原来在for循环中间隔符号用错了,因该是分号而不是逗号,将上面一行改为:for(i=100,i<=m,i+=100)注意:前后两个地方都要改,这在系统中算是一处错误。改完这一处错误后再按F9键,如果有语法上的错误,按照同样的做法改正错误。如果按F9键有警告错误,这是也需要注意,比如程序将==写成了=就会报警告错误。但是警告信息不等同于错误,有警告不一定有错误。如果按F9键没有错误信息,则程序就属于逻辑错误。比如本例中的第一处错误,根据题意和最后的return(y);语句看,函数类型应该是double型,而实际函数是int类型(缺省情况下是int类型上次期末才讲的,希望大家还没有忘记函数的定义。默认为int,并且可以不先定义或者声明。)。因此,只需在前面加上double型就可以了,改正后的结果是:doublefun(intn)在做完题目后要保存好。我们还可以运行程序来验证结果,尤其在程序出现逻辑错误的时候,可以使用试验二所讲的单步执行方法调试程序,读者可以自行练习意思改好程序后,自己编译运行试一试是不是正确的答案。可以测试简单的数据,看答案与自己算出来的是不是一致。。程序改错题有如下特点:1、每个题目均有若干注释“/**********found**********/”,这行注释不能更改和删除。2、每个注释紧接着下一行就是程序需要更改的地方,也就是说,整个改错题中,只有注释行的下一行需要改错,其他行不可能出现错误。3、不要更改程序中的其他任何地方,更不得增行或者减行。4、程序的改错方法有很多种,只要改成一种正确的答案即可,为了提高准确率,最好改为最为常见的一种答案即可。5、最后,非常重要的是,一定要记得保存好:按下F2键即可。同样是TC的快捷键啊,你们自己看看VC的快捷键是什么,也可以常规的保存方式的嘛。6、在做题的时候,经常运用运行结果来验证自己的答案是否正确。但这对改错题而言并不是必须的,甚至有些程序本身就不能运行:程序没有main函数,而且,即使运行结果正确也不能确保答案一定正确,当然,如果运行的结果错误,那么作出的答案肯定有错误的地方,需要进行修改。二、程序编写题程序编写题占有40分,需要将系统提供的程序补充完整,一般是编写一个叫fun的函数。下面以第五题中的程序编写题为例讲解程序编写题的做法。在TC中打开源程序PROG1.C,在VC中一样的打开。将原程序代码附录如下:#include<stdio.h>floatfun(floath){}main(){floata;printf(“Entera:“);scanf(“%f”,&a);printf(“Theoriginaldatais:“);printf(“%f\n\n”,a);printf(“Theresoult:%f\n”,fun(a))