试题结构分析.docx
《试题结构分析.docx》由会员分享,可在线阅读,更多相关《试题结构分析.docx(12页珍藏版)》请在冰豆网上搜索。
试题结构分析
试题结构分析
二级C一直以来是整个二级考试中试题最多、难度最大、报考人数也最多的考试,但是从2008年4月份开始笔试由原来120分钟减少到90分钟,所以二级C语言首次题数减少、单个题目难度下降(选择题由原来的50个题目减少到40个,填空由原来的20空减少到15空,满分100分保持不变),从而试题整体难度下降。
而上机考试时间由原来的60分钟增加至90分钟,但上机题目不仅不加难,反而降低难度。
所以整个等级考试难度是下降的趋势,08年4月以后开始,等级考试将沿袭这种题型和题量安排等。
笔试试题分类统计
二级C各章节知识点考察到的题目题号和分值分析:
C语言初步知识选择11-13共3分
顺序结构选择14-16填空7共5分
选择结构选择17-20填空6共6分
循环结构选择21、22填空8共6分
函数选择32、34填空11、13共8分
指针/数组/字符串选择23-27、31、33、35、40填空10-12共24分
预编译与动态内存选择28、39共4分
结构与共用体选择29、36填空14共6分
位运算选择38共2分
文件选择30、37填空15共6分
数据结构与算法选择5-7填空2、3共10分
程序设计基础选择2共2分
软件工程基础选择1、3、4填空1共8分
数据库设计基础选择8-10填空4、5共10分
其中:
选择1~10每题2分选择11~20每题1分选择21~40每题2分填空1-15空每空2分
试题特点:
1、题数减少
以前一共50道选择题、20个空的填空题,今年只有40道选择题,15个空的填空题。
试题数的减少,使考生有充足的时间分析和检查题目。
2、单个题目的难度下级。
在本次二级C语言笔试试题中,未出现一些特别难的试题,比如没有出现“指向指针的指针作函数参数”等类型的试题。
备考建议:
大家可以看出,指针、数组、字符串无论在笔试还是上机都是重中之重,既是重点又是难点。
C语言程序初步、顺序结构、选择结构、循环结构、函数是基础。
编译预处理、作用域与存储类、位运算、文件等是难点但不是重点,每年都会考到,但题量都不大。
结构体与共用体可以说比较重点又是难点。
公共基础部分除了程序设计基础这一部分,其他三部分旗鼓相当,都是重点。
【转】上机考试评分原理分析
上机考试是由计算机对考生的答题结果进行判断的,而不是人为阅卷,即计算机评分!
!
等级考试的上机考试是分批进行的,在相邻两批考次之间,由监考人员做该批考次结束前的“收分”工作(实际上是由计算机完成的)。
也就是说,当你考完机试后,你的上机成绩就已经出来了,只是我们不知道结果罢了。
当然,监考人员也不知道,因为最后分数是加密的!
!
评分程序在评改你的上机成绩,先从对应的考生文件夹中读取考生的答题文件,再对这些文件按照评分程序进行对比,然后给出相应的分数,最后,系统自动将你的考生文件中的所有文件全部删除!
!
那么,计算机究竟是如何评分的呢?
下面,我们就该问题做如下说明:
1.二级C语言:
对于题空题和改错题,评分程序先是读取考生文件夹下的BLAN.C和MODI.C文件,再找到其中需要填空和改错的代码所在的行数,最后与评分程序中的提供的数据进行对比。
需要提醒考生注意的是,填空题和改错题的要求中明确声明:
不得删减或增加程序行,就是这个道理;对于编程题,评分程序先是读取考生文件夹下的扩展名为.DAT的文件,再其中的数据与评分程序中的提供的数据进行对比,因此,考生在编程后,一定要运行程序,以生成扩展名为.DAT的输出文件!
!
2.一级和二级Access:
对于一级中的选择题和汉字录入题,评分程序是对考生的提交后的答题文件进行对比,正解则给分;对于一级中的Windows基本操作题、文字处理题、电子表格题、演示文稿题和上网题,以及二级Access中的基本操作题、简单应用题和综合应用题,评分程序则是对考生文件夹下的答题文件的属性进行判断(如字体、字号、段落等格式),正确则给分。
因此,考生在答题时,一定要确保文件保存在考生文件夹下,并在交卷前进行检查!
!
3.二级VF和二级VB:
评分程序先读取考生文件夹下的相关文件(有时,也有可能是某些中间文件),并将这些文件中的数据与评分程序中所给出的数据进行对比,因此,考生在答题时,一定要确保文件保存在考生文件夹下,并运行程序,以生成某些中间文件,并在交卷前进行相应地检查!
!
4.三级:
三级上机的评分原理同二级C语言中编程题的评分原理!
!
综上所述,上机考试的评分绝对能是“按步骤给分”,并且,评分程序是按照最终生成的文件给分的!
由上述结论可以推出如下事实:
1.只要考生能生成最终答案文件,均可得分!
2.很多最终答案文件只有少数若干行数据,分数由正确答案的行数决定!
例如,真考题库中有这样一道题,要求用迭代方法计算cos(x)-x=0的一个近似根,其答案是0.739085,最终要求生成的文件OUT.DAT中只有一行数据。
有这个文件,并且该文件只有一行数据0.739085的话,就可以得到100分!
无所谓你是否编写了程序!
当然,有多行答案的文件的格式是由程序中的输出部分决定的(而这个部分是不允许考生修改的!
),考生必须能够看懂输出程序段的输出格式,否则会适得其反!
从等级考试的机试查分方法可以得到什么等级考试机试的玄机是计算机改分。
也就是说,上机成绩不是由人评改的。
等级考试的上机考试是分批进行的,在相邻两批考生之间,有监考人员做“收分”工作,即改分。
也就是说,当你考完机试后,你的上机成绩就已经出来了,只是我们不知道结果罢了。
当然,监考人员也不知道,因为最后分数是加密的。
另外,改分程序在评改你的上机成绩后,将你的考试目录中的所有内容全部删除!
现在,我们就“计算机改分”这个问题做如下讨论:
1、计算机改分实质上就是评分软件改你上机时所设计的软件--------软件改软件!
2、目前,计算机智能的水平还是很低的,不可能对编程思想进行分析!
3、一个程序题目可以有不止一种编程方法,绝无标准答案可言!
综上:
机试的评分标准绝对不可能是“按步骤给分”!
实质上,上机编程题目都必将生成一个文件!
所以,评分程序是按照最终生成的文件给分的!
由上述结论可以推出如下事实:
1、只要考生能生成最终答案文件,均可得分!
2、很多最终答案文件只有少数若干行数据,分数由正确答案的行数决定!
比如:
《全国计算机等级考试上机考试习题集(三级C语言程序设计)》(南开大学出版社)第21题,要求用迭代方法计算cos(x)-x=0的一个近似根,其答案是0.739085,最终要求生成的文件OUT17.DAT中只有一行数据。
有这个文件,并且该文件只有一行数据0.739085的话,就可以得到100分!
无所谓你是否编写程序了!
!
!
当然,有多行答案的文件的文件格式是由程序中的输出部分决定的(而这个部分是不允许考生修改的!
),考生必须能够看懂输出程序段的输出格式,否则会事得其反!
3、改错题目和程序题目是类似的。
大家都注意到,改错题的要求中明确声明:
不得删减或增加程序行,这就是狐狸的尾巴!
!
!
4、再者,改错题目的错误之处的前一行都有**************found*************标志!
其实,评分程序就是根据这个标志,从考生的modi.*(扩展名随程序语言的不同而有所不同)文件中抽取它的下一行信息,和标准答案进行比较。
通常,标准答案会有多种,只要考生的答案和其中一个对应上了即可得到相应的分数。
由于标准答案不可能涵盖所有可能正确的答案,所以要求考生在做改错题时,务必做到答案的“朴实无华”和“平易近人”。
比如说:
FoxBASE或VFP中,如果有“判断姓王的记录”的改错题目,例如:
LOCAFOR王’=姓名,应改为:
LOCAFOR姓名=‘王’或LOCAFORLEFT(姓名,2)=‘王’或LOCAFORSUBS(姓名,1,2)=‘王‘,最好不要使用LOCAFORAT(’王‘,姓名)=1这个答案,因为标准答案中没有这种答案!
由上述可以得到这样的一个奇怪的结论:
A、即使你的改错程序能够正确执行,也未必可以得分!
!
!
B、改错程序修改完毕后,无所谓运行与否,这与得分无关!
很多考生把自己改过的改错程序运行后,没有任何错误,但却没有得到理想的分数,造成上机不过,心里想不通,其实是对上述的问题没有了解罢了。
以上的问题希望考生能正确理解并善于把握,希望能对你的机试有所帮助!
----------------------------------------------------------------------------------------------
4.了解上机软件评分原理。
二级各科目的上机试题一般都是3道,基本操作题、简单应用题和综合应用题,基本操作题和简单应用题主要是填空和改错,系统评分就是将考生填写的答案和题库中的事先给出答案进行对比,正确就得分,不正确就不得分,但是存在这样一个问题,如果一个题有多个答案,题库中不可能把所有答案都列举得出来,所以考生最好用最常见的一个,确保正确;第三题综合应用题主要是编程,题目作对后会得到结果文件(如out.dat),其评分步骤是这样的:
如果有out.dat文件,将该文件和标准答案的out.dat文件对比,看相符的比例是多少而给分,如果完全相同则是100分,如果没有out.dat文件,则比较考生编写的代码和标准答案的代码的相符情况,按相符度给分,这个得分率是很低的,因为程序代码要完全相同是不可能的(比如多一个空格少一个空格,解题方法不同等)。
三级上机考试的评分方法和二级综合题是一样的,这就是为什么三级上机要么得100分,要么得0分。
而且三级上机还可以不做题而得满分的呢。
(不编程序,如果能手动生成正确的out.dat文件试试?
呵呵)。
上机考试两点重要注意事项
为了大家顺利通过考试,特别提醒大家上机考试两点注意事项如下:
注意事项1:
大家做上机的填空、改错、编程题的时候请务必做到两件事情:
一是编译运行确认无误!
二是切记一定要保存!
特别提醒:
a、如果没有保存,无论是填空、改错还是编程题你都不能得分,相当于没有做。
b、如果编程题没有运行即使保存了都有可能不得分,所以“编译并运行”和“保存”两件事情请大家都务必办到。
c、万一有些同学不能完整的做完某一个题目无论是填空、改错还是编程,也就是说你根本无法运行这个程序,也请你把你会做的那部分填上去并保存,或许运气好会有步骤分,就当“死马当活马医”嘛,因为上机考试的评分是以机器评分为主、人工评分为辅结合进行的)
注意事项2:
很多同学在做完了前一题(例如填空BLANK1.C或改错MODI1.C等)没有关闭工作区就直接打开下面的题目做(即使你点击blank1.c文件右上角的叉叉关闭了这个文件也不行,必须关闭整个工作区),这样你运行的时候永远不会正确,所以大家做完了前一题后务必关闭工作区再做下一题(操作步骤为:
打开主菜单:
文件->关闭工作区,很简单的),当然,如果你万一不会关闭工作区,干脆做完一题就把整个VC6.0关闭,然后重新启动VC6.0再打开下一题做也行的。
一、命题原则
全国计算机等级考试大纲明确规定:
“二级”考试(任何一门语言)由“二级公共基础知识”和“程序设计”两大部分组成,考试内容严格按照“宽口径、厚基础”的原则设计,主要测试考生对该学科的基础理论、基本知识和基本技能的掌握程度,以及运用所学理论和知识解决实际问题的能力。
二、考试要求
根据命题原则,大纲对考生如何复习应试也提出了相应的要求。
主要强调了两个方面:
一是强调考生对基本概念、基本理论和基本知识点的掌握;二是强调考生综合运用所学知识进行实际应用的能力。
也就是说,考生要想通过“二级”考试,不仅要熟练地掌握该学科的基本理论知识和操作技能,还要具有“较强”的分析与解决实际问题的能力,真正做到“学以致用”。
详细说明如下:
1、打造一定的理论基础。
这里所谓的理论基础是指理论的基本概念、理论的基本原理和理论的基本知识点。
“二级”考试中,概念性的知识点比较多,特别是公共基础知识部分。
考生对这些理论基础知识要用心记忆,专心研究。
这一类型的题目一般考察的都是教材中的概念,对于这类简单的题目,丢分实在可惜。
2、熟练的操作技能。
“二级”考试注重对程序设计实际操作能力的考察,要求考生运用所学理论知识解决实际问题。
“二级”考试考核的主要内容就是程序设计的基本操作和综合应用。
3、较强的综合运用能力。
所谓综合运用能力,是指把所学理论知识和操作技能综合起来,并能在实际应用中加强对这些知识的熟练掌握。
三、应试对策
考生在备考时,要针对考试大纲和考试要求进行复习,主要应注意以下几个方面:
1、牢固、清晰地掌握基本知识和理论。
“二级”考试的重点是实际应用和操作,但其前提条件是对基本知识点的掌握。
那么,考生正确地理解基本概念和原理便是通过考试的关键。
如何才能做到这一点呢?
具体地讲,不外乎以下三点:
一是在复习过程中要注意总结,特别是对一些关系复杂的知识点,不总结和比较就很难弄懂记牢。
善于总结,既是一种好的学习方法,又是一种好的记忆手段,有些问题只有通过综合比较、总结提炼才容易在脑海中留下清晰的印象和轮廓;二是对一些重要概念的理解要准确,尤其是一些容易混淆的概念,如多种操作方法等,一定要在复习中准确地把握它们之间在步骤和实现意义上的细微区别,对这些易混淆概念的准确理解,考生不可忽视;三是通过联想记忆复习各考点,有些考点不是孤立的,而是相互联系的,考生若能由表及里、由此及彼便能顺利找到答案。
2、选择的习题要有针对性,切不可进行“题海战术”。
现在关于“二级”考试的习题很多,搞题海战术肯定是不行的。
考生应根据考试大纲,在复习时适当地做一些与“二级”考试题型相同的题(推荐:
历年真题)。
研究过去、认识现在无疑是通过考试的一个重要的规律和诀窍,这么做可以使考生较快地熟悉考试题型,掌握答题技巧,从而能在最短的时间内收到最明显的效果。
并且考生要对所做过习题进行适当分类整理,要通过做题掌握相关的知识点,要真正做到“举一反三”。
3、复习笔试,上机实践。
复习笔试中有关程序设计的题目的最佳方法是上机操作,对不确定的题目,不能想当然地解答。
最好把这类题汇集起来,在计算机上做实验。
如试题要求考生识别出4个选项中的结果哪一个是所给程序段的输出结果,我们就可以把程序在计算机上进行调试运行,看看得出什么结果,这样做还可以发现许多有趣的技巧或经验,使考生记忆深刻难忘。
四、题型分析与解题技巧
理论试卷的题型由选择题和填空题组成。
选择题和填空题一般是对基本知识和基本操作进行考查的题型,它主要是测试考生对相关概念的掌握、理解是否准确、认识是否全面、思路是否清晰,而很少涉及对理论知识的应用。
上机考试主要考察考生对编程语言的掌握情况。
具体地说,考试时应注意以下几个方面:
1、选择题分析。
选择题为单选题,是客观性试题,每道题的分值为2分,试题覆盖面广,一般情况下考生不可能做到对每个题目都有把握答对。
这时,就需要考生学会放弃,即不确定的题目不要在上面花费太多的时间,应该在此题上做上标记,立即转移注意力,作答其他题目。
最后有空余的时间再回过头来仔细考虑此题。
但要注意,对于那些实在不清楚的题目,就不要浪费时间了,放弃继续思考,不要因小失大。
注意,二级笔试题目众多,分值分散,考生一定要有全局观,合理地安排考试时间。
绝大多数选择题的设问是正确观点,称为正面试题;如果设问是错误观点,称为反面试题。
考生在作答选择题时可以使用一些答题方法,以提高答题准确率。
(1)正选法(顺选法):
如果对题肢中的4个选项,一看就能肯定其中的1个是正确的,就可以直接得出答案。
注意,必须要有百分之百的把握才行。
(2)逆选法(排谬法):
逆选法是将错误答案排除的方法。
对题肢中的4个选项,一看就知道其中的1个(或2个、3个)是错误的,可以使用逆选法,即排除错误选项。
(3)比较法(蒙猜法):
这种办法是没有办法的办法,在有一定知识基础上的蒙猜也是一种方法。
一般情况下在做选择题过程中是三种方法的综合使用。
例如:
通过逆选法,如果还剩下2个选项无法排除,那么在剩下的选项中随机选一个,因为错选了也不倒扣分,所以不应该漏选,每题都选一个答案。
2、填空题分析。
填空填一般难度都比较大,一般需要考生准确地填入字符,往往需要非常精确,错一个字也不得分。
在分值方面,每题也是2分。
所以建议考生对填空题不要太过于看重,与其为个别题目耽误时间,不如回过头来检查一些自己还没有十足把握的选择题。
在作答填空题时要注意以几点:
(1)答案要写得简洁明了,尽量使用专业术语。
(2)认真填写答案,字迹要工整、清楚,格式要正确,在把答案往答题卡上填写后尽量不要涂改。
(3)注意,在答题卡上填写答案时,一定要注意题目的序号,不要弄错位置。
(4)对于那些有两种答案的填空题,只需填一种答案就可以了,多填并不多给分。
3、上机试题分析。
上机考试重点考察考生的基本操作能力和程序编写能力,要求考生具有综合运用基础知识进行实际操作的能力。
上机试题综合性强、难度较大。
上机考试的评分是以机评为主,人工复查为辅的。
机评当然不存在公正性的问题,但却存在呆板的问题,有时还可能因为出题者考虑不周出现错评的情况。
考生做题时不充分考虑到这些情况,就有可能吃亏。
掌握好上机考试的应试技巧,可以使考生的实际水平在考试时得到充分发挥,从而取得较为理想的成绩。
历次考试均有考生因为忽略了这一点,加之较为紧张的考场气氛影响了水平的发挥,致使考试成绩大大低于实际水平。
因此每个考生在考试前,都应有充分的准备。
总结以下几点供考生在复习和考试时借鉴:
(1)对于上机考试的复习,切不可“死记硬背”。
根据以往考试经验,有部分考生能够通过笔试,而上机考试却不能通过,主要原因是这部分考生已经习惯于传统考试的“死记硬背”,而对于真正的知识应用,却显得束手无策。
为了克服这个弊病,考生一定要在熟记基本知识点的基础上,加强编程训练,加强上机训练,从历年试题中寻找解题技巧,理清解题思路,将各种程序结构反复练习。
(2)在考前,一定要重视等级考试模拟软件的使用。
在考试之前,应使用等级考试模拟软件进行实际的上机操作练习,尤其要做一些具有针对性的上机模拟题,以便熟悉考试题型,体验真实的上机环境,减轻考试时的紧张程度。
(3)学会并习惯使用帮助系统。
每个编程软件都有较全面的帮助系统,熟练掌握帮助系统,可以使考生减少记忆量,解决解题中的疑难问题。
(4)熟悉考试场地及环境,尤其是要熟悉考场的硬件情况和所使用的相关软件的情况。
考点在正式考试前,会给考生提供一次模拟上机的机会。
模拟考试时,考生重点不应放在把题做出来,而是放在熟悉考试环境,相应软件的使用方法,考试系统的使用等方面。
(5)做上机题时要不急不燥,认真审题。
4、理论考试综合应试分析。
(1)注意审题。
命题人出题是有针对性的,考生在答题时也要有针对性。
在解答之前,除了要弄清楚问题,还有必要弄清楚命题人的意图,从而能够针对问题从容做答。
(2)先分析,后下笔。
明白了问题是什么以后,先把问题在脑海里过一遍,考虑好如何做答后,再依思路从容做答。
而不要手忙脚乱、毛毛躁躁、急于下笔。
(3)对于十分了解或熟悉的问题,切忌粗心大意、得意忘形、而应认真分析,识破命题人设下的障眼法,针对问题,清清楚楚地写出答案。
(4)对于拿不准的题目,要静下心来,先弄清命题人的意图,再根据自己已掌握的知识的“蛛丝马迹”综合考虑,争取多拿一分是一分。
(5)对于偶尔碰到的、以前没有见到过的问题或是虽然在复习中见过但已完全记不清的问题,也不要惊慌,关键是要树立信心,将自己的判断同书本知识联系起来做答。
对于完全陌生的问题,实在不知如何根据书本知识进行解答时,就可完全放弃书本知识,用自己的思考和逻辑推断作答。
并且,由于这里面有不少猜测的成分,能得几分尚不可知,故不可占用太多的时间。
(6)理论考试时应遵循的大策略应该是:
确保选择,力争填空。
总之,考试要取得好成绩,从根本上取决于考生对应试内容掌握的扎实程度。
否则,即使有再好的技巧也只能是撞大运,是不可能考出理想成绩的。
但是,在比较扎实地掌握了应试内容的前提下,了解一些应试的技巧则能起到使考试成绩锦上添花的作用。
◆基本要求
1.熟悉VisualC++6.0集成开发环境。
2.掌握结构化程序设计的方法,具有良好的程序设计风格。
3.掌握程序设计中简单的数据结构和算法并能阅读简单的程序。
4.在VisualC++6.0集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力
◆考试内容
一、C语言程序的结构
1.程序的构成,main函数和其他函数。
2.头文件,数据说明,函数的开始和结束标志以及程序中的注释。
3.源程序的书写格式。
4.C语言的风格。
二、数据类型及其运算
1.C的数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法。
2.C运算符的种类、运算优先级和结合性。
3.不同类型数据间的转换与运算。
4.C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。
三、基本语句
1.表达式语句,空语句,复合语句。
2.输入输出函数的调用,正确输入数据并正确设计输出格式。
四、选择结构程序设计
1.用if语句实现选择结构。
2.用switch语句实现多分支选择结构。
3.选择结构的嵌套。
五、循环结构程序设计
1.for循环结构。
2.while和do-while循环结构。
3.continue语句和break语句。
4.循环的嵌套。
六、数组的定义和引用
1.一维数组和二维数组的定义、初始化和数组元素的引用。
2.字符串与字符数组。
七、函数
1.库函数的正确调用。
2.函数的定义方法。
3.函数的类型和返回值。
4.形式参数与实在参数,参数值传递。
5.函数的正确调用,嵌套调用,递归调用。
6.局部变量和全局变量。
7.变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期。
八、编译预处理
1.宏定义和调用(不带参数的宏,带参数的宏)。
2.“文件包含”处理。
九、指针
1.地址与指针变量的概念,地址运算符与间址运算符。
2.一维、二维数组和字符串的地址以及指向变量、数组、字符串、函数、结构体的指针变量的定义。
通过指针引用以上各类型数据。
3.用指针作函数参数。
4.返回地址值的函数。
5.指针数组,指向指针的指针。
十、结构体(即“结构”)与共同体(即“联合”)
1.用typedef说明一个新类型。
2.结构体和共用体类型数据的定义和成员的引用。
3.通过结构体构成链表,单向链表的建立,结点数据的输出、删除与插入。
十一、位运算
1.位运算符的含义和使用。
2.简单的位运算。
十二、文件操作
只要求缓冲文件系统(即高级磁盘I/O系统),对非