计算机二级C语言考试难度下降:试题结构分析与备考策略
计算机等级考试二级C笔试考纲及备考经验

准备迎接计算机二级考试的考生们,今天应届毕业生小编要把计算机等级考试二级 C 笔试考纲及备考经验分享给大家,希望能对大家的计算机二级考试有所帮助。
试题结构分析
二级 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 的输出文件。
一级中的 Windows 基本操作题、文字处理题、电子表格题、演示文稿题和上网题,以及二级 Access 中的基本操作题、简单应用题和综合应用题,评分程序会对考生文件夹下答题文件的属性(如字体、字号、段落等格式)进行判断,正确就给分。考生答题时需确保文件被保存在考生文件夹下,并且要在交卷前进行检查。
二级 VF 和二级 VB:评分程序会读取考生文件夹下的相关文件,有时也可能是某些中间文件。然后,将这些文件中的数据与评分程序中给出的数据进行对比。所以,考生在答题时,必须确保文件保存在考生文件夹下,并且要运行程序以生成某些中间文件,在交卷前还要进行相应的检查。
三级上机的评分原理与二级 C 语言中编程题的评分原理是相同的。
综上所述,上机考试的评分能够按照步骤来给分。并且,评分程序是依据最终生成的文件进行给分的。由上述结论可以推出以下事实:
1.只要考生能生成最终答案文件,均可得分!
很多最终答案文件的行数比较少。分数是由正确答案的行数来决定的!比如,在真考题库里有这样一道题,需要用迭代方法去计算 cos(x)-x=0 的一个近似根,它的答案是 0.739085,而最终需要生成的文件 OUT.DAT 中仅有一行数据。如果有这个文件,且该文件只有一行数据 0.739085,那么就能够得到 100 分。你是否编写了程序并不重要。当然,有多行答案的文件的格式是由程序中的输出部分所决定的,而这个部分是不允许考生修改的。考生必须要能够理解输出程序段的输出格式,不然就会起到相反的效果。
从等级考试的机试查分方法可以得到什么
等级考试机试存在玄机,其玄机在于由计算机改分。这意味着上机成绩并非由人来进行评改。
等级考试的上机考试分批进行。相邻两批考生之间,监考人员会进行“收分”工作,也就是改分。你考完机试后,上机成绩就已经有了,只是我们不清楚结果。监考人员同样不知道,因为最后分数是加密的。
改分程序评改完你的上机成绩后,会把你考试目录里的所有内容都删除掉。
现在,我们就“计算机改分”这个问题做如下讨论:
计算机改分实际上就是评分软件对在机上所设计的软件进行修改,也就是软件改软件。
目前,计算机智能的水平处于比较低的状态。它不可能具备对编程思想进行分析的能力。
3、一个程序题目可以有不止一种编程方法,绝无标准答案可言!
综上:机试的评分标准绝对不可能是“按步骤给分”!
实质上,上机编程题目都必将生成一个文件!
所以,评分程序是按照最终生成的文件给分的!
由上述结论可以推出如下事实:
1、只要考生能生成最终答案文件,均可得分!
很多最终答案文件所含数据行数较少。分数是由正确答案的行数来决定的!例如:《全国计算机等级考试上机考试习题集(三级 C 语言程序设计)》(南开大学出版社)的第 21 题,此题为要求用迭代方法计算 cos(x)-x=0 的一个近似根,其答案是 0.739085,而最终需要生成的文件 OUT17.DAT 中仅有一行数据。如果有这个文件,且该文件仅有一行数据 0.739085,那么就能够得到 100 分。不管你是否编写程序都没关系。当然,有多行答案的文件的文件格式是由程序中的输出部分所决定的,而这个部分是不允许考生进行修改的。考生必须要能够理解输出程序段的输出格式,不然就会适得其反。
改错题目与程序题目是相似的。大家都留意到,改错题的要求里清楚地表明:不可以删减或者增加程序行,这就像是狐狸的尾巴一样!
再者,在改错题目的错误之处的前一行有**************found*************标志!实际上,评分程序是依据这个标志,从考生的 modi.*(扩展名因程序语言而异)文件中提取它的下一行信息,然后与标准答案进行比较。标准答案通常有多种,考生只要其答案与其中一个标准答案对应上,就能得到相应的分数。
标准答案无法涵盖所有可能正确的答案,因此考生在做改错题时,一定要让答案显得“朴实无华”且“平易近人”。在 FoxBASE 或 VFP 中,倘若存在“判断姓王的记录”这类的改错题目,像“LOCA FOR 王’=姓名”这样的情况,应当改为“LOCA FOR 姓名=‘王’”或者“LOCA FOR LEFT(姓名,2)=‘王’”或者“LOCA FOR SUBS(姓名,1,2)=‘王’”,最好不要采用“LOCA FOR AT(’王‘,姓名)=1”这个答案,因为标准答案里没有这种答案。
从上述内容可得出一个奇特的结论:A 项,即便你的改错程序能够准确执行,也不一定就能得分!B 项,改错程序修改完毕后,不管是否运行,都与得分没有关系!许多考生将自己改过的改错程序运行后,没有出现任何错误,但却没有获得理想的分数,导致上机考试未通过,心里感到困惑,实际上是对上述问题没有弄清楚罢了。
4.了解上机软件评分原理。
二级各科目的上机试题通常有 3 道,分别是基本操作题、简单应用题和综合应用题。基本操作题和简单应用题主要涉及填空和改错。系统评分是把考生填写的答案与题库中事先给出的答案进行对比,答案正确就得分,不正确就不得分。然而,存在这样一个问题,倘若一个题有多个答案,题库中不可能将所有答案都一一列举出来。因此,考生最好使用最常见的那个答案,以确保答题正确。
第三题综合应用题主要涉及编程。题目做对后会获得结果文件,例如 out.dat。其评分步骤如下:若存在 out.dat 文件,就将该文件与标准答案的 out.dat 文件进行对比,以确定相符比例从而给分;若完全相同则得 100 分。若没有 out.dat 文件,就比较考生编写的代码与标准答案的代码的相符情况,并按相符度给分。这个得分率较低,因为程序代码要完全相同几乎是不可能的,比如可能存在多一个空格或少一个空格,或者解题方法不同等情况。
三级上机考试的评分方法与二级综合题相同。正因如此,三级上机的成绩要么是 100 分,要么是 0 分。并且,三级上机存在不做题也能得满分的情况。(不编程序,若能手动生成正确的 out.dat 文件,可尝试一下?呵呵)。
上机考试两点重要注意事项
2. 要注意考试时间的合理安排。
注意事项1:
大家做上机的填空、改错、编程题的时候请务必做到两件事情:
一是编译运行确认无误!
二是切记一定要保存!
特别提醒:
如果没有进行保存,那么对于填空、改错以及编程题这几种类型的题目,你都无法获得分数,这就意味着你相当于没有做这些题目。
如果编程题只是保存了而没有运行,那么都有可能得不到分数。所以,请大家务必做到“编译并运行”这一件事,同时也务必做到“保存”这一件事。
c、有些同学可能无法完整做完某一个题目,比如填空、改错或编程,即便根本无法运行这个程序,也请将自己会做的那部分填上去并保存。或许能有运气获得步骤分,就当作“死马当活马医”吧,因为上机考试的评分是以机器评分为主、人工评分为辅结合进行的。
注意事项2:
很多同学做完前一题(像填空 BLANK1.C 或改错 MODI1.C 等)后,未关闭工作区就直接打开下面的题目做。即便点击 blank1.c 文件右上角的叉叉关闭了该文件也不行,必须关闭整个工作区。这样在运行时永远不会正确。所以大家做完前一题后,务必关闭工作区再做下一题,操作步骤为:打开主菜单,找到“文件”,然后点击“关闭工作区”,很简单。当然,如果万一不会关闭工作区,干脆做完一题就把整个 VC6.0 关闭,接着重新启动 VC6.0 再打开下一题做也行。
一、命题原则
全国计算机等级考试大纲规定:“二级”考试(任何一门语言)包含“二级公共基础知识”以及“程序设计”这两大部分。考试内容依据“宽口径、厚基础”的原则来设计,主要对考生掌握该学科的基础理论、基本知识和基本技能的程度进行测试,同时也测试考生运用所学理论和知识去解决实际问题的能力。
二、考试要求
命题原则规定,大纲针对考生的复习应试提出了相应要求。主要有两个方面:其一,强调考生要掌握基本概念、基本理论以及基本知识点;其二,强调考生需具备综合运用所学知识进行实际应用的能力。考生若想通过“二级”考试,其一要熟练掌握该学科的基本理论知识;其二要熟练掌握该学科的操作技能;其三要有“较强”的分析实际问题的能力;其四要有“较强”的解决实际问题的能力;并且要真正做到“学以致用”。
1、打造一定的理论基础。
这里的理论基础指的是理论的基本概念、基本原理以及基本知识点。在“二级”考试里,概念性的知识点数量较多,尤其在公共基础知识部分。考生需用心去记忆这些理论基础知识,并且专心进行研究。这类题目通常考查的是教材中的概念,对于此类简单的题目,若丢分就太可惜了。
2、熟练的操作技能。
“二级”考试着重于对程序设计实际操作能力进行考察。它要求考生能够运用所学的理论知识去解决实际问题。“二级”考试考核的主要内容为程序设计的基本操作以及综合应用。
3、较强的综合运用能力。
综合运用能力指的是将所学的理论知识与操作技能进行综合,并且能够在实际应用的过程中强化对这些知识的熟练掌握。
三、应试对策
4. 按照复习计划,有针对性地进行知识学习和技能训练。
1、牢固、清晰地掌握基本知识和理论。
“二级”考试的重点在于实际应用与操作,而要进行这些操作的前提是掌握基本知识点。所以,考生若能正确理解基本概念和原理,这就是通过考试的关键所在。
要做到这一点具体而言有以下三点:其一,在复习过程中需注重总结,尤其是对于那些关系较为复杂的知识点,若不进行总结和比较就很难;其二;其三。
弄懂记牢。三是通过联想记忆来复习各考点。有些考点不是孤立的,而是相互联系的。考生若能由表及里、由此及彼,就能顺利找到答案。
2、选择的习题要有针对性,切不可进行“题海战术”。
现在“二级”考试的习题数量很多,采用题海战术肯定是不可取的。考生要依据考试大纲,在复习过程中适当做一些与“二级”考试题型相同的题目(推荐:历年真题)。研究过去以及认识现在,无疑是通过考试的一个重要规律和诀窍,这样做能够让考生较快地熟悉考试题型,掌握答题技巧,进而可以在最短时间内获得最明显的效果。考生需要对做过的习题进行适当分类整理。考生要通过做题来掌握相关的知识点。考生要真正做到能够“举一反三”。
3、复习笔试,上机实践。
复习笔试中程序设计题目的最佳方式是进行上机操作。对于不确定的题目,不能随意解答。最好将这类题收集起来,在计算机上进行实验。如果试题要求考生识别出 4 个选项中的结果哪一个是所给程序段的输出结果,那么我们可以将程序在计算机上进行调试运行,以查看会得出什么结果。这样做不仅能够发现许多有趣的技巧或经验,还能让考生记忆深刻,难以忘怀。
四、题型分析与解题技巧
理论试卷的题型包含选择题和填空题。选择题与填空题通常是用于考查基本知识和基本操作的题型。它们主要是用来测试考生对相关概念的掌握程度、理解的准确性、认识的全面性以及思路的清晰性,并且很少涉及对理论知识的应用。上机考试主要是考察考生对编程语言的掌握情况。具体而言,
考试时应注意以下几个方面:
1、选择题分析。
选择题是单选题,属于客观性试题。每道题分值为 2 分,试题覆盖面较广。一般情况下,考生很难对每个题目都有把握答对。此时,考生需学会放弃。对于不确定的题目,不要花费过多时间,应做上标记,立即转移注意力去作答其他题目。最后若有空闲时间,再回过头来仔细考虑此题。对于那些实在不清楚的题目,不要浪费时间,放弃继续思考,以免因小失大。要知道,二级笔试题目众多且分值分散,考生必须有全局观,合理安排考试时间。绝大多数选择题的设问是正确观点,这类是正面试题;而设问是错误观点的,就是反面试题。考生在作答选择题时可以运用一些答题方法,来提高答题准确率。
正选法也就是顺选法,倘若在题肢的 4 个选项里,一眼就能确定其中 1 个是正确的,那么就能够直接得出答案。需要注意的是,必须要有十足的把握才行。
逆选法也就是排谬法:将错误答案排除的方法是逆选法。对于题肢中的 4 个选项,若一眼就能看出其中 1 个(或 2 个、3 个)是错误的,就可以运用逆选法,也就是排除错误选项。
比较法(蒙猜法):这种办法属于无奈之举。在具备一定知识基础的情况下进行蒙猜,这也是一种方法。
通常在做选择题时会综合运用三种方法。比如:借助逆选法,要是还剩 2 个选项无法排除,那就从剩下的选项里随机选一个,由于错选不扣分,所以不该漏选,每题都要选一个答案。
2、填空题分析。
填空的难度通常较大,一般要求考生准确填入字符,需极为精确,错一个字就不得分。在分值上,每题是 2 分。所以建议考生不要过分看重填空题,与其为个别题目耽误时间,不如回头检查一些自己没把握的选择题。作答填空题时要注意以下几点:
(1)答案要写得简洁明了,尽量使用专业术语。
认真填写答案,书写需工整且清晰,格式要正确,将答案填写到答题卡上后尽量避免涂改。
注意,填写答题卡上的答案时,需留意题目的序号,切勿弄错位置。
对于有两种答案的填空题,只需要填一种答案就可以。多填的话,并不会额外给分。
3、上机试题分析。
上机考试重点对考生的基本操作能力和程序编写能力进行考察,要求考生能够综合运用基础知识来进行实际操作。上机试题具有较强的综合性,难度也较大。上机考试的评分主要依靠机评,同时辅以人工复查。机评不存在公正性的问题,但是存在呆板的问题,有时还可能由于出题者考虑不周而出现错评的情况。考生做题时不充分考虑到这些情况,就有可能吃亏。
如果掌握好了上机考试的应试技巧,考生的实际水平就能在考试时得到充分发挥,进而取得较为理想的成绩。历次考试中,都有考生由于忽略了这一点,再加上较为紧张的考场气氛影响了水平的发挥,导致考试成绩远远低于实际水平。所以,每个考生在考试前都应该做好充分的准备。以下几点可供考生在复习和考试时借鉴:
上机考试复习时,不能“死记硬背”。从以往考试经验来看,有些考生能通过笔试,却通不过上机考试,主要是因为这些考生习惯了传统考试的“死记硬背”,而在真正需要知识应用时,就显得束手无策了。为克服这个弊病,考生需在牢记基本知识点的基础上,强化编程训练,强化上机训练。要从历年试题里寻找解题技巧,把解题思路梳理清晰,对各种程序结构进行反复练习。
考前要重视等级考试模拟软件的使用。考试之前,需使用该软件进行实际的上机操作练习,尤其要做些有针对性的上机模拟题,这样能熟悉考试题型,体验真实的上机环境,减轻考试时的紧张程度。
学会使用帮助系统并且习惯它。每个编程软件都具备较为全面的帮助系统,要是能熟练地掌握这个帮助系统,就能够让考生减少记忆的量,还能解决解题过程中遇到的疑难问题。
熟悉考试场地及环境,尤其要熟悉考场的硬件情况以及所使用的相关软件的情况。在正式考试前,考点会给考生提供一次模拟上机的机会。在模拟考试时,考生重点不应是把题做出来,而是要放在熟悉考试环境、相关软件的使用方法以及考试系统的使用等方面。
(5)做上机题时要不急不燥,认真审题。
4、理论考试综合应试分析。
要注意审题。命题人出题具有针对性,考生答题也需有针对性。在解答之前,不仅要弄明白问题,还很有必要弄清楚命题人的意图,从
而能够针对问题从容做答。
先进行分析,接着再动笔。当清楚知晓问题是什么之后,首先在脑海中梳理一遍问题,思考好该如何作答,然后按照思考的思路从容地进行作答。千万不要出现手忙脚乱、毛毛躁躁以及急于动笔的情况。
对于十分了解或熟悉的问题,切不可粗心大意,也不可得意忘形,而应当认真地进行分析,识破命题人设下的障眼法,针对问题,清晰明了地写出答案。
对于拿不准的题目,要让自己静下心来。首先要弄清楚命题人的意图,接着根据自己已掌握的知识所留下的“蛛丝马迹”进行综合考虑,努力争取多拿一分,哪怕只是一分也好。
偶尔碰到以前没见过的问题,或者复习中见过但已完全记不清的问题,不要惊慌。关键是要树立信心,把自己的判断和书本知识联系起来作答。对于完全陌生的问题,实在不知道如何根据书本知识解答时,就可以完全放弃书本知识,用自己的思考和逻辑推断来作答。这里面有不少猜测的成分,所以能得几分还不确定,因此不可占用太多时间。
(6)理论考试时应遵循的大策略应该是:确保选择,力争填空。
总之,考试要取得好成绩,根本在于考生对应试内容掌握得扎实。否则,即便有再好的技巧,也只是撞大运,不可能考出理想成绩。然而,在比较扎实地掌握了应试内容的情况下,了解一些应试技巧能让考试成绩更出色。
基本要求
1.熟悉 Visual C++ 6.0 集成开发环境。
2.掌握结构化程序设计的方法,具有良好的程序设计风格。
3.掌握程序设计中简单的数据结构和算法并能阅读简单的程序。
在 Visual C++ 6.0 的集成环境之中,可以编写较为简单的 C 程序,同时具备基本的能够找出错误以及调试程序的能力。
考试内容
一、C语言程序的结构
1.程序的构成,main函数和其他函数。
头文件。数据说明。函数的开始标志。函数的结束标志。程序中的注释。
3.源程序的书写格式。
4.C语言的风格。
二、数据类型及其运算
C 有多种数据类型,包括基本类型、构造类型、指针类型和无值类型。这些数据类型的定义方法各不相同。
2.C运算符的种类、运算优先级和结合性。
3.不同类型数据间的转换与运算。
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.局部变量和全局变量。
变量有不同的存储类别,包括自动、静态、寄存器和外部。同时,变量还有作用域和生存期。
八、编译预处理
1.宏定义和调用(不带参数的宏,带参数的宏)。
2.“文件包含”处理。
九、指针
1.地址与指针变量的概念,地址运算符与间址运算符。
一维数组的地址定义,二维数组的地址定义,字符串的地址定义,指向变量的指针变量定义,指向数组的指针变量定义,指向字符串的指针变量定义,指向函数的指针变量定义,指向结构体的指针变量定义。通过这些指针来引用以上各种类型的数据。
3.用指针作函数参数。
4.返回地址值的函数。
5.指针数组,指向指针的指针。
十、结构体(即“结构”)与共同体(即“联合”)
1.用typedef说明一个新类型。
2.结构体和共用体类型数据的定义和成员的引用。
通过结构体来构成链表,建立单向链表,输出结点数据,删除结点数据以及插入结点数据。
十一、位运算
1.位运算符的含义和使用。
2.简单的位运算。
十二、文件操作
只要求缓冲文件系统,也就是高级磁盘 I/O 系统,而对于非标准缓冲文件系统,也就是低级磁盘 I/O 系统不做要求。
1.文件类型指针(FILE类型指针)。
2.文件的打开与关闭(fopen,fclose)。
文件的读写方面,应用了 fputc、fgetc、fputs、fgets、fread、fwrite、fprintf、fscanf 这些函数;文件的定位方面,应用了 rewind 和 fseek 这两个函数。
考试方式
笔试时间为 90 分钟,满分为 100 分。在这 100 分当中,包含公共基础知识部分的 30 分。
2.上机:90分钟,满分100分
3、上机操作包括:
(1)填空。
(2)改错。
(3)编程。