A07_C语言程序设计上机考核说明(改版)
江苏广播电视大学开放教育计算机科学与技术专业(本科) C语言程序设计课程上机考核说明根据中央广播电视大学C语言程序设计课程考核说明的规定,本课程的形成性考核有一部分是上机考核,现将机考部分说明如下。根据国内外大学上机考试的一般做法,参考外省、市电大C语言程序设计课程机考的方法,我省电大决定采用上机调试程序的方式实施机考。机考暂时由各教学点选择“改正程序中预先设置的错误”或者“程序填空”中的一种作为具体机考方式进行命题和组织实施,并由省电大授权各教学点统一批阅。机考时,提供给考生几个文件,这些文件组合在一起构成一个为完成某个特定任务的C语言程序,其中共有 10 个语法或逻辑错误,或者10个空白填空处。机考时要求考生修改这10个错误,或者在10个空白处补充完整程序,每正确修改1个错误或填对一处,得1分;正确地修改全部10个错误或全部填对,且保证程序能够产生要求的输出,得10分。不该修改的被修改,不得分,但也不扣分,但若导致程序不能输出要求的运行结果,扣2分(即如果改正了全部的错误,但因为其它不合适的修改导致程序不能产生要求的输出,得8分)。有关机考的其它可能注意事项说明如下:1 机考时,监考教师将发给考生一份“上机考核说明”,同时提供给考生几个供改错的程序文件或程序填空文件和一张软磁盘。“上机考核说明”及供改错的程序文件或程序填空文件由省电大负责提供。2 机考开始时,考生需进入到C语言的编辑调试环境(Turbo C 2.0、Turbo C 3.0或Visual C+),建立一个新的工程,然后将上述文件插入到工程中,根据“上机考核说明”中的要求对它们进行调试,改错或填空。3机考结束时,考生应将经修改或补充后的文件拷入软磁盘。考生在离开考场前须确认,软盘封面上已经写有自己的姓名和班级、学号,而且经过修改以后的文件已经确实拷入到了软盘的根目录中。如因上交的软盘中文件不全或仍是原来的文件内容等原因,导致机考不及格,责任由考生自己负责;4 考生必须注意,只能根据“上机考核说明”中的要求对指定文件中的内容进行修改,不可对其它文件进行修改,或者在指定的空白位置补充代码。评判机考成绩时,只评判指定的文件,确定原来设置的10个错误是否已被改正或者10个空白位置是否补充完整。对其它任何文件,均不评判;5 机考时间为1小时;6 各教学点要将机考试卷存档,以备省电大检查,机考成绩最终要和形成性考核成绩一起报送给省电大。机考试卷样例如下:试卷代号:1253江苏广播电视大学开放本科教育2008-2009学年度第一学期期末考试C语言程序设计A 上机考核试题 2009 年 1 月得分【题目要求】现有三个文件head.h 、sub.c和main.c(软盘和本试题中均提供相同并含有错误的三个文件的源程序)。该三个文件是用来实现并测试结构数组的。请用V C在机器上进行实际调试,考生除特别提醒外,可以修改三个文件中的错误(包括缺少的词、表达式、语句或行等,共10处)。经过修改调试后,使三个文件组合在一起构成一个Project,能够符合以下程序输入和运行结果。请输入一个正整数表示待处理记录的个数(110):4要求:1.从键盘上输入具有Person结构的4个记录 2.每个记录包括姓名、性别(m或f)、年龄和工资Mike m 52 4800Rose f 50 4500Jane f 28 2600John m 42 3900显示具有Person结构的4个记录:Mike 男 52 4800.00Rose 女 50 4500.00Jane 女 28 2600.00John 男 42 3900.00【考核程序】/*文件head.h*/#def N 10struct /*定义结构类型Person*/ char name10; /*姓名*/ char sex; /*性别,用字符m表示男,字符f表示女*/ int age; /*年龄*/ float pay; /*工资*/;void input(int n); /*input函数声明*/void output(int n); /*output函数声明*/*文件sub.c*/#include <stdio.h>#include "head.h"Person aN; /*定义全局结构数组a,大小为符号常量N*/void input( n) /*向全局结构数组a中输入n个记录*/ int i; struct Person x; /*定义局部结构变量x*/ printf("要求:1.从键盘上输入具有Person结构的%d个记录n",n); printf(" 2.每个记录包括姓名、性别(m或f)、年龄和工资n"); for(i=0;i<n;i+) scanf("%s %c %d %f",&x.name,&x.sex,&x.age,&x.pay); /*输入一个人的记录信息*/ a=x; /*将x赋值给结构数组元素ai,此为结构赋值*/ void output(int n) /*显示出全局结构数组a中的n个记录*/ int i; printf("显示具有Person结构的%d个记录:n" ); for(i=0;i<n;i+) printf("%-10s" ); /*显示姓名*/ if(ai.sex='m') printf("%-4s","男"); else printf("%-4s","女"); /*显示性别*/ printf("%-3d%-7.2fn",ai.age,ai.pay); /*显示年龄和工资*/ /*文件main.c*/#include <stdio.h>void main() int n; printf("请输入一个正整数表示待处理记录的个数(110):"); scanf("%d",&n); /*输入记录个数*/ void input(n); /*调用向全局结构数组a中输入n个记录的函数*/ output(n); /*调用显示出全局结构数组a中n个记录的函数*/【答题事项】1. 请考生先启动VC,建立一个新的工程testfile,然后将上述三个文件(main.c、sub.c和head.h)插入到工程中,根据题目要求对它们进行调试,改错。最后,进行编译链接(构件)生成可执行文件testfile.exe。2. 请考生在结束机考前,对照电脑中已经修改好的三个源程序文件,将本试题提供的三个源程序中出现的错误(与软盘中程序出现的错误一致)也进行相应标注和修改。标注方法为:(1)若源程序中出现错误的部分,请用钢笔在错误的部分下面划线,并在该行最后写出正确答案。(2)若源程序中某位置缺少内容,请用钢笔在相应位置作一标记“”,并在该行最后写出缺少的内容。3. 请考生在结束机考前,将经修改后的文件head.h 、sub.c 、main.c和可执行文件testfile.exe拷入软盘。请考生在离开考场前确认,经过修改以后的上述三个文件和可执行文件已经拷入到了软盘的相应目录中。如因上交的软盘中文件不全或仍是原来的内容等原因,导致机考不及格,责任由考生自己负责。4. 上机考核时间为60分钟。机考结束时,请考生将本试卷和软盘全部写上姓名和学号,一并交给监考老师。C语言程序设计课程上机考核说明 第 1 页 (共 4 页)