賀安坤 王婷婷 周筑南 馬靖
摘? 要: “二級C”是全國計算機等級考試科目之一,工科專業學生的報考數量越來越多,但通過率一直不高。為了提高C 語言教學質量和“二級C”的通過率,在分析“二級C”考試題型及考點分布的基礎上,探討考試要點及應試策略。
關鍵詞: 全國計算機等級考試; 二級C; 應試策略
中圖分類號:G642? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2022)02-115-04
Research of key points of level two C in National Computer Rank
Examination and the strategy for taking examination
He Ankun, Wang Tingting, Zhou Zhunan, Ma Jing
(College of Information Science and Engineering, Shandong Agricultral University, Taian, Shandong 271018, China)
Abstract: Level two C language is one of the subjects of National Computer Rank Examination, there are more and more engineering students applying for the examination, but the passing rate has not been high. In order to improve the quality of C language teaching and the passing rate of level two C language, on the basis of analyzing the question types and the points of examination of level two C, the key points of examination and strategies of taking examination are discussed.
Key words: National Computer Rank Examination; level two C; strategies of taking examination
0 引言
為進一步加強在校大學生創新創業教育,培養學生的自主創新創業精神和綜合實踐能力,促進在校大學生的個性發展和素質的全面提高,大部分高校把創新創業實踐學分納入到了學生培養方案中。學生可以通過學術論文、科目競賽、發明創造等方式取得創新學分,通過全國計算機等級考試二級及以上是重要的方式之一。因此近幾年參加全國計算機等級考試(NCRE)的人數逐漸增加。理工科學生大都報考二級C,但通過率并不高,究其原因主要是考生對二級C的題型及考點分布不夠熟悉。文章結合多年全國計算機等級考試的組織實施工作和二級C語言考前輔導經驗,深入研究分析計算機等級考試二級C語言考核內容及考點分布,對非計算機專業的C語言教學和參加二級C語言的考生有較好的指導作用,在近幾年的實踐中效果良好,大大提高了二級C語言等級考試的通過率。
全國計算機等級考試(NCRE)由前國家教育委員會(現為教育部)批準,教育部考試中心主辦,面向全社會具有計算機應用知識和技能的考生的全國性計算機水平測評。其目的在于以考促學,向社會推廣和普及計算機知識,也為用人部門錄用和考核工作人員提供一個統一、客觀、公正的標準[1]。NCRE 自1994年開考,至今已舉辦61次,考試的人數逐年增多。到2020年底全國累計考生近9200萬。目前NCRE 進行了重大改革,考試的形式、內容和科目都發生了很大的變化。考試形式全部改為無紙化上機考試,考試的科目、內容及合格標準也有較大調整,這就要求考生需要牢固掌握基礎知識并具有一定的編程能力,同時熟悉二級C題型及考點分布才能順利通過考試。
1 二級C題型簡介
二級C科目考試時長120 分鐘,考試環境為操作系統windows7, 開發環境為Microsoft Visual C++2010學習版,考試題型及分值如表1。
其中選擇題的公共基礎包括數據結構與算法、程序設計基礎、軟件工程基礎、數據庫設計基礎的基本知識。C語言的基礎知識主要包括三種基本結構(順序、選擇、循環)、數組、函數、字符串、指針、結構體等基礎知識。操作題中程序填空題需補全程序中2-3個“空”,編譯運行出結果;程序改錯題一般有兩處錯誤,考生改錯后編譯運行,這類題目的錯誤主要是語法錯誤或邏輯錯誤;程序設計題就是根據題目的要求寫一個函數。
2 二級C要點分析及應試策略
2.1 選擇題要點分析
選擇題有40個單選題,包括計算機公共基礎和C語言程序設計基礎知識。公共基礎選擇題共10分,主要是基本概念,比較簡單,考前結合近幾年的考題復習,不會有太多的失分。下面對C語言基礎知識部分研究分析。
C語言基礎知識選擇題
要點研究:C語言選擇題主要考察C語言的各種數據類型、運算符和表達式,基本的輸入輸出,基本的控制結構,數組、指針的使用、結構體、文件和位運算;函數的定義、調用和變量作用域等。牢固掌握基本概念,抓住細節,結合指定教材認真復習。
應試策略:這類題目往往考查知識點細節,容易出錯,考生在做這類題時,不要不加分析,一看就選,這樣很容易選錯,應從以下三方面進行準備。
⑴ 概念題:C語言需要理解的概念較多,學習時一定記住容易混淆的地方。例如:合法用戶標識符:合法的標識符要求是由字母,數字,下劃線組成,如有其他元素就錯了,標識符的第一個元素必須為字母或下劃線。因此一定要把概念掌握牢固。
⑵ 程序閱讀題:掌握常用算法,重點考察學生的邏輯判斷,循環,數組、函數定義,指針使用等。
程序舉例:
void main()
{? int a[3][3],p,i;
p=&&a[0][0];
for (i=0;i<9;i++) p[i]=i+1;
printf("%d\n",a[1][2]);
}
程序的輸出為:(A)3 (B)6 (C)9 (D)2 本題考察的主要知識點是:①數組與指針的關系;②數組的初始化和對數組元素的引用。在C語言中,數組與指針密切相關,數組中的任何元素都可以通過指針變量p訪問。本題中實際輸出的是第二行第三個元素,所以a[1][2]=6。這里要特別注意C語言中數組的下標從0開始,不要錯選a[1][2]=3。
⑶ 善于使用排除法:如果有的題目中答案相似,可以采用排除法,試題中只有一個答案是正確的,但是會出現二個答案相似的,排查另外2個,將相似答案對比帶入,正確答案一般在相似的當中[2]。
2.2 操作題要點分析及應試策略
操作題有三個大題,分別是程序填空題,程序改錯題和程序設計題,大綱要求掌握簡單的數據結構和算法并能閱讀簡單的程序,能夠編寫簡單的C程序,并具有基本的糾錯和調試程序的能力。三個大題都給定一個功能函數,一般來說函數名為fun,在考試中認真研究fun函數即可。
2.2.1 程序填空題
要點分析:程序填空題一般為兩個或三個空需要填寫,填寫的位置主要有如下幾種:一種是出現在函數首部,考查函數返回值或參數類型;第二種是在變量的定義和初始化中,檢查變量初始化類型或初始化值是否正確;第三種是在執行語句中,主要是在循環體或條件語句中,考查循環變量的變化,條件語句中關系表達式或邏輯表達式是否正確;第四種是出現在被調函數結束前,考查函數是否有返回值帶回給調用函數,檢查返回值放在哪個變量中。
應試策略:答題時考生應遵循五步答題法。①審題,首先分析題目中對給定函數要完成的功能,做到心中有數。②通讀程序,填空題考查考生對整個程序的邏輯結構和數據結構的理解,考生不要把注意力集中在填寫內容的附近,而應該通讀整個fun函數和main函數。③在明確了出題人的思路之后,把注意力集中在fun函數的功能實現上。④根據空白語句位置,確定填寫的內容,空白語句位置有下劃線,將下劃線刪掉。填寫時要考慮到考試系統的評分特點,切記不要對程序中的其他部分有任何改動,包括程序的分行、并行、添加注釋等。⑤編譯、鏈接運行和保存,考生做完后要進行保存是毋庸置疑的,另外還必須進行編譯、組建(連接)和運行,一定養成這一良好習慣,這一習慣在做程序修改題和編程題時同樣重要[3]。
2.2.2 程序改錯題
要點分析:改錯這類題,一般有2~3處錯誤,均在以“/*******found********/ ”為標志的下方,改動的地方也不大,切忌不要打破原程序結構,不要改動程序行的順序,不要亂加空行,更不要增加或刪除語句。錯誤主要是分語法錯誤和邏輯錯誤兩種。
應試策略:
⑴ 首先審題,了解試題的要求,在明確題意的基礎上略讀一遍程序,找出明顯的錯誤,如拼寫錯誤等。提前記錄好試題給出的輸入和輸出例示,以便檢驗改錯后程序運行的結果是否正確。
⑵ 對需要改錯的程序進行語法錯誤檢查,若編譯提示有語法錯時,可參考編譯提示來查找并改正錯誤。
⑶ 不出現語法錯時,執行程序,按照試題示例給出的數據進行運行測試,若運行的結果與輸出結果相同時,該題就做對了;若運行的結果與給出的輸出結果不同,就應進一步檢查程序中的邏輯錯誤。該類錯誤比較難查,因為它并不影響程序運行,但結果不對。
⑷ 存在邏輯錯誤時,首先應當理解題意、讀懂程序的算法,必要時可按步檢查數據的流程,以便確定錯誤所在。例如,題目要求數據按由小到大排序,而結果數據是按由大到小進行了排序,問題可能出現在條件判斷上。如做循環的時候數組上限下限錯了,需注意基數是從0開始而不是1開始的[4]。因此修改程序中的邏輯錯時,考生需讀懂程序代碼。
⑸ 修改完成,得到正確結果后,一定不要忘記把修改后的程序保存。
2.2.3 程序設計題
要點分析:這部分題的難點在函數的編寫上,一般題目都要求編寫一個函數以實現某功能,函數名稱和參數會給定。題目類型包括數列計算、數字處理、字符串操作、數組操作、結構體操作等。文章對近年來100套真題進行分析研究發現,程序設計題目主要集中在字符串處理數字處理及數組操作上,圖1顯示了各類題目的數量分布。涉及到的考點內容如下:
字符串處理:主要包括字符串中滿足條件的字符的刪除、字符位置移動、字符排序、字符串連接等。
數字處理:主要是對數字的重組生成一個新數字、數字的整除、滿足條件的素數、求數字的因子等。
數組操作:尋找數組中最大、最小值、數組中滿足條件的元素求和(如:對角線元素、周邊元素求和)、數組的轉置、對數組上三角或下三角處理等。
數列:主要是數列求和、階乘處理等。
鏈表及結構體:主要是求結構體數組中最大值、最小值、平均分,鏈表逆置等、
其他:迭代法求方程值、特殊數字處理等。
應試策略:
⑴ 認真審題,了解試題的要求,記下試題給出的輸入和輸出例示,以核實在編寫完成后,對照運行的結果是否正確。
⑵ 啟動源程序,對照函數首部的形參,審視主函數中調用函數時的實參,以便明確在函數中需要處理的數據對象。
⑶ 研究題目的要求,仔細看主函數調用函數的方式,如果在表達式中調用函數(如把函數值賦給某變量),則要求有函數值返回,需要注意函數類型,通過return語句返回函值;如果主函數中僅以語句形式調用函數,則結果需要通過形式參數間接返回。
⑷ 選擇合適的算法,輸入程序語句,不要忘記及時保存。
⑸ 編譯程序,直到沒有語法錯誤。
⑹ 調試程序,利用試題中給出的例示數據進行輸入(若要求輸入的話),運行程序,用例示的輸出數據檢驗輸出結果,直到結果相同[5]。
根據上面的要點分析,每種題型練習幾種,舉一反三,很快就能掌握,考試的時候就會應對自如。這里有一個例子,數字處理問題:
寫一個函數fun,其功能是:將變量a和b兩個兩位正整數拆分出個位數字和十位數字,重新組合成一個新的整數放在c中。合并的方式是:將a中的十位數和個位數依次放在變量c的百位和個位上,b中的十位數和個位數依次放在變量c的十位和千位上。
例如,當a=45,b=12,調用該函數后c=2415。
a=45和b=12兩個數在100套題中出現了八次,通過完成不同的組合,生成不同的四位數。如:生成5241,2415,1524,5142,2514,4152,4215,1425等。這類題目理解后非常簡單,將a和b分解出個位數和十位數,根據要求重新組合成新的四位數。b和10求余(b%10)得到b的個位,b除以10(b/10)得到b的十位,a除以10(a/10)得到a的十位,a和10求余(a%10)得到a的個位,新的4位數c是:a%10+(b/10)*10+(a/10)*100+(b%10)*1000。如果熟練的話,程序里面寫一句話即可。
#include <stdio.h>
void fun(int a, int b, long *c)
{
*c= a%10+(b/10)*10+(a/10)*100+(b%10)*1000;
}
對其他類型題目也是如此,練習幾個典型題目,抓住實質,到時便可以得心應手。
3 結論
隨著計算機等級考試的不斷發展和變化,在教學中教師要不斷研究知識點并總結新的教學方法,深入研究教學知識點和考試內容的聯系與區別,在提高教學水平的同時提高二級C等級考試的通過率[6]。文章緊密結合二級c新大綱,分析考試要點,結合題型,給出應試策略,在實際的教學應用中取得了良好的效果。下一步緊跟全國計算機等級考試試題的變化,及時調整授課方式及應對策略,確保通過率逐步上升。
參考文獻(References):
[1] 賀安坤,姜貴平,張偉.基于NCRE計算機基礎課程教學改革[J].福建電腦,2017(8):156
[2] 二級C應試技巧[EB/OL].https://www.docin.com/p-249801783.html
[3] 王竹琴.二級C上機考試填空題應試策略[J].運城學院學報,2005(4):27-28
[4] 王景運.談全國計算機等級C語言上機考試的應試經驗[J].計算機時代,2006(4):55-56
[5] 苗冬霞.C語言二級考試攻略[J]武漢工程職業技術學院,2008(12):76-77
[6] 涂淑琴,萬華,張春玲.全國計算機等級考試二級Access的要點研究與分析[J].計算機教育,2017(3):133-135