全國計算機等級考試二級C語言題型分析共19文檔_第1頁
全國計算機等級考試二級C語言題型分析共19文檔_第2頁
全國計算機等級考試二級C語言題型分析共19文檔_第3頁
全國計算機等級考試二級C語言題型分析共19文檔_第4頁
全國計算機等級考試二級C語言題型分析共19文檔_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、全國計算機等級考試二級C 語言資格考試題型分析二級 C 考試分筆試和機試兩部分,兩部分總分均為100 分,兩部分考試均需 60 分以上才能合格發(fā)放證書。若其中一科(筆試或機試)通過, 另一科可在下一次考試中補考,若補考合格發(fā)放證書。若二科均在 85 分 以上,在合格證書上將加印“優(yōu)秀”字樣,若二科均在 70 分以上,在合 格證書上將加印“良好”字樣。(一)筆試筆試內(nèi)容分兩部分。公共基礎(chǔ)知識考核內(nèi)容:30分;C語言基礎(chǔ)知識考核內(nèi)容: 70分。題型分析如下:1 、單向選擇題 40道題,共 70分。分值分布如下:其中( 1)( 10)、(21)(40)小題,每題 2 分,(11)(20) 小題,每題

2、 1 分。考核內(nèi)容分布如下:(1)(10)小題為公共基礎(chǔ)知識考核內(nèi)容,共計20分;(11) ( 40)小題為C語言知識考核內(nèi)容,共計 50分。2 、填空題 15個空,每空 2分,共 30分??己藘?nèi)容分布如下:(1)( 5)空為公共基礎(chǔ)知識考核內(nèi)容,共計 10分;(6) ( 15)空為C語言知識考核內(nèi)容,共計 20分。(二)機試機試三道題:程序填空題, 30分;程序修改題, 30分;程序設(shè)計題,第 4 頁40分1 、程序填空題通常會給出一段源代碼,設(shè)計三個空需要你來填寫10分例如: #include #include #define M 5#define N 20 void fun(char (

3、*ss)N) int i, j, k=0, n, m, len; for(i=0; i len=strlen(ssi); if(i=0) n=len;if(len>n) n=len; _1_=i;*found*/for(i=0; iif (i!=k) m=n;len=strlen(ssi);*found*/for(j=_2_; j>=0; j-) ssim-=ssij;for(j=0; j*found*/_3_='*'main()char ssMN="shanghai","guangzhou","beijing&qu

4、ot;,"tianjing","cchongqi ng"int i;printf("nThe original strings are :n");for(i=0; iprintf("n");fun(ss);printf("nThe result:n");for(i=0; i2 、程序修改題通常會給出一段源代碼,設(shè)計 2-3 個錯誤需要你來修改。修改好處錯誤得分 10分(若有 3處錯誤)或 15 分(若有 2處錯誤)。例如:#includelong fun(int g)*found*/switch

5、(g); case 0: return 0;*found*/case 1 ;case 2 : return 1 ;return( fun(g-1)+fun(g-2) );main() long fib; int n;printf("Input n: "); scanf("%d",&n); printf("n = %dn",n); fib=fun(n);printf("fib = %dnn",fib);3 、程序設(shè)計題通常會給出一段源代碼,要求你來設(shè)計其中的一個函數(shù)。完全編好, 且運行正確得分 40 分,無中

6、間過程得分。例如:某學生的記錄由學號、8門諜程戰(zhàn)巍和平均分組血 學號濁 門誄鶴的成巍 已在主的猷中繪出.詣編寫廚數(shù)f呱它的功能量:求出該學生的平均券放在記隸 的的電成員中請目己走只正隔的冊劭例如學生的成勢泉:S5 . 5, 76, 69. 5. 85, 31. 72. &4. 5# S7, 5.地的平均 分應(yīng)當圧! 79. &7恥注憲,部分源程序在文件PROGLC文件中=請勿數(shù)win和且它困戮中的任何內(nèi)容 > 僅在因獄fun部位中堪入 你編寫的若干逵句2010全國計算機等級考試二級C語言資格考試教材及出題比例 教材:全國計算機等級考試二級教程-C語言程序設(shè)計(2010年版

7、), 書中共分16章節(jié)內(nèi)容對理論考試內(nèi)容進行了詳細的介紹。第 17章介紹機 試操作內(nèi)容。通過對最近3次等級考試真題分析,各章內(nèi)容及出題比例大約如下表所示。章序號特點及學習方法第1章程序設(shè)計基本概念主要考核知識點:了解 C程序、程序設(shè)計、算法、模塊化和結(jié)構(gòu)化程序設(shè)計等概念學習方法:理解+記憶第2章C程序設(shè)計的初步知識主要考核知識點:了解 C程序格式、標識符、 常量、變量以及算術(shù)運算符及算術(shù)表達式、賦 值運算符和賦值表達式、自加/減以及逗號運算符學習方法:編寫簡單C程序加強理解和記憶第3章順序結(jié)構(gòu)主要考核知識點:printf() 、seanf()函數(shù)的應(yīng)用,復合語句及空語句的應(yīng)用,順序程序設(shè)計思想

8、學習方法:理解順序程序設(shè)計思想,設(shè)計 些典型的順序程序,如計算圓的面積、體積,三角形面積等第4章選擇結(jié)構(gòu)主要考核知識點:了解關(guān)系運算符和關(guān)系表達式;掌握if語句的幾種格式,switch語句、 break語句,掌握條件表達式(唯 的一目運 算符)的應(yīng)用學習方法:理解選擇結(jié)構(gòu)程序設(shè)計思想,設(shè)計 一些典型的選擇結(jié)構(gòu)程序,如比較2、3、4個數(shù)大小,按等級輸出學生成績,計算分段函數(shù), 解兀一次方程等第5章循環(huán)結(jié)構(gòu)主要考核知識點:熟練掌握 while、do while、for循環(huán)語句的格式及應(yīng)用,學習方法:理解循環(huán)結(jié)構(gòu)程序設(shè)計思想,設(shè)計 一些典型的循環(huán)結(jié)構(gòu)程序,如累加和,階乘, 求n的近似值,F(xiàn)ibona

9、cci數(shù)列,求素數(shù),求 水仙花數(shù)等第6章字符型數(shù)據(jù)主要考核知識點:使用 printf() 、scanf()函 數(shù)進行字符型數(shù)據(jù)的輸入和輸出,putchar()、getchar()函數(shù)的應(yīng)用學習方法:設(shè)計字符處理的各類應(yīng)用程序,如ASCII字符處理,統(tǒng)計各類字符數(shù),密碼譯碼等第7章函數(shù)主要考核知識點:熟練掌握函數(shù)的定義和返回 值、函數(shù)調(diào)用、函數(shù)申明、函數(shù)之間值傳遞等概念學習方法:理解為什么要使用函數(shù),將前面設(shè)計的一些程序打包成函數(shù)第8章地址和指針主要考核知識點:理解指針、指針變量、指針變量的基類型等基本概念學習方法:理解指針的概念,設(shè)計 些簡單的指針應(yīng)用程序第9章數(shù)組主要考核知識點:熟練掌握維、

10、二維數(shù)組的 定義和引用;理解數(shù)組和指針結(jié)合,數(shù)組名或 數(shù)組元素作函數(shù)的參數(shù)的應(yīng)用學習方法:理解好一維、二維數(shù)組的概念及應(yīng) 用,數(shù)組指針和指針數(shù)組的應(yīng)用,熟練冒泡排 序、選擇排序程序第10章字符串主要考核知識點:掌握字符串及運用指針和數(shù) 組處理字符串,處理字符串常用的函數(shù),如gets()、puts()、strcpy() 、strcmp()、strlen()、strcat() 等學習方法:理解課本上給出的字符串處理的例題第11章對函數(shù)的進一步討論主要考核知識點:函數(shù)的遞歸調(diào)用學習方法:理解課本上的計算 n!、求平方根的迭代公式求某數(shù)的平方根的遞歸算法第12章C語言中用戶標識符的作用域和存儲類主要考

11、核知識點:理解全局變量、局部變量,auto、register 、static 、extern 存儲類別的應(yīng)用學習方法:理解+記憶第13章編譯預處理和動態(tài)存儲分配主要考核知識點:主要理解宏替換,特別是帶參的宏學習方法:通過課后習題程序理解宏替換的作用第14章結(jié)構(gòu)體、共用體和用戶定義類型主要考核知識點:主要掌握結(jié)構(gòu)體類型的說明、結(jié)構(gòu)體類型的變量/數(shù)組/指針變量的疋義、給結(jié)構(gòu)體變量/數(shù)組賦值、引用結(jié)構(gòu)體變量中的數(shù) 據(jù)等內(nèi)容;鏈表的操作學習方法:通過例題及習題中的代碼來理解及 記憶第15章位運算主要考核知識點:理解5個位運算,按位取反、左移、右移、按位與、按位或、按位異或?qū)W習方法:理解+記憶第16章文

12、件主要考核知識點:主要掌握文件指針、文件的打幵和關(guān)閉;文件輸入輸出函數(shù),如getc(fgetc) 、putc(fputc) 、feof、fscanf、 fprintf、fgets 、fputs 、fread 、fwrite 、fseek、ftell 、rewind 等學習方法:理解+記憶2010全國計算機等級考試二級 C語言資格考試答題策略及技巧(一)筆試可考慮以下做題順序(僅供參考)1、 先做公共基礎(chǔ)題,選擇題(1) ( 10),填空題(1) ( 5)空。2、接下來完成C語言的基礎(chǔ)題,選擇題(11) ( 20), 1分題,考核一些基本概念,如標識符是否合法、整型/實型常量、運算符與表達式、簡

13、單輸入輸出格式控制、if、switch語句、for、while、do while 等的 簡單應(yīng)用。3、 再接著完成選擇題(21) ( 40),這20個選擇題尤其是后10個 選擇題,都有一定難度,都會給定一段代碼,根據(jù)代碼做選擇,因此,需 要讀懂C的簡單代碼然后做了選擇。4、 最后完成填空題(6) ( 15)空。也需讀得懂 C程序,還需判斷 出題意圖,才能填好空。難度較高。(二)機試題目順序為:程序填空題,程序修改題,程序設(shè)計題。按順序完成即 可。1、程序填空題第9頁在源代碼中會給出需填空的地方,如 s->data=_1_; 通常還是比 較簡單。解題方法: 先讀懂源程序, 了解程序的功能,

14、 然后試著邊填空邊調(diào)試, 分析輸出結(jié)果,以找到正確的解。程序填空題的特點和注意事項:( 1)程序填空的試題中通常包含三個空需要填寫。( 2)試題中用 "*found*/"來提示且在下一行或下二行注明填空的位置及編號,如 _1_。(3)程序填空考核對程序的整體把握,出題點可能是:for 循環(huán)語句的初始化或條件判斷、函數(shù)返回值、 if 語句的條件判斷、鏈表中指針如何 移動、文件操作相關(guān)函數(shù)的參數(shù)等。( 4)特別要注意的是:只能在填空的位置填寫語句或表達式,不要 增行或刪行,不要改動程序行的順序,更不要改動程序的結(jié)構(gòu)。程序填空時,建議按以下步驟進行:( 1)首先仔細審題,了解試題

15、的要求,看清楚試題給出的輸入和輸 出例示,以便檢驗程序運行的結(jié)果是否正確。(2)審視 "/*found*/"所在函數(shù),根據(jù)題義理解程序所采用的基本算法,做到心里有數(shù)。( 3)填好空后對測試程序進行檢查是否有語法錯誤。當編譯提示有 語法錯時,可參考編譯提示來查找并改正錯誤。( 4)當不再出現(xiàn)語法錯時,執(zhí)行程序,按照試題的示例給出的數(shù)據(jù)進行試算,若試算的結(jié)果與給出的輸出結(jié)果相同時,該題就做對了;若試算的結(jié)果與給出的輸出結(jié)果不同,就應(yīng)進一步檢查程序中的邏輯錯誤( 5)修改完成,得到正確結(jié)果后,一定不要忘記把修改后的程序存 盤。2、程序修改題 程序修改題的特點和注意事項:( 1)上

16、機改錯的試題中通常包含兩個 (或三個 )錯誤需要修改。(2)試題中用 "*found*/"來提示在下一行 ( 或下面第二行 )有錯。( 3)錯誤的性質(zhì)基本分語法錯和邏輯錯兩種,也有些試題要求把語 句添加在下劃線處。( 4)特別要注意的是:只能在出錯的行上進行修改,不要改動程序 行的順序,更不要自己另編程序。解題方法:邊調(diào)試邊找錯,分析輸出,找出并改正錯誤。 上機改錯測試時,建議按以下步驟進行:( 1)首先仔細審題,了解試題的要求,看清楚試題給出的輸入和輸 出例示,以便檢驗改錯后程序運行的結(jié)果是否正確。(2)審視 "/*found*/"所在函數(shù),根據(jù)題義理

17、解程序所采用的基本算法,做到心里有數(shù)。( 3)先對測試程序進行檢查是否有語法錯誤。當編譯提示有語法錯 時,可參考編譯提示來查找并改正錯誤。( 4)當不再出現(xiàn)語法錯時,執(zhí)行程序,按照試題的示例給出的數(shù)據(jù)進行試算,若試算的結(jié)果與給出的輸出結(jié)果相同時,該題就做對了;若試算的結(jié)果與給出的輸出結(jié)果不同,就應(yīng)進一步檢查程序中的邏輯錯誤。( 5)當程序存在邏輯錯誤時,首先應(yīng)當理解題意、讀懂程序的算法, 必要時可按步檢查數(shù)據(jù)的流程,以便確定錯誤所在。例如,題目要求數(shù)據(jù) 按由小到大排序,而結(jié)果數(shù)據(jù)是按由大到小進行了排序,問題可能出現(xiàn)在 條件判斷上。又如,輸出的字符串比預期的短,就有可能字符串的結(jié)束標 志放錯了位

18、置。再如做循環(huán)的時候數(shù)組上限下限錯誤了,基數(shù)是從 0 開始 而不是 1 開始的。修改程序中的邏輯錯時,要求考生認真讀懂程序代碼。( 6)修改完成,得到正確結(jié)果后,一定不要忘記把修改后的程序存盤。3、程序設(shè)計題在二級C程序設(shè)計上機考試中,要求完成一個獨立的函數(shù)的編程。目前教育部考試中心已出版了上機考試習題集,這些有助于學習編程,但考 生應(yīng)當在學習過程中理解基本的算法,通過實際上機操作積累經(jīng)驗,才能 掌握基本的編程能力。進行編程測試時,建議按以下步驟進行:(1)首先仔細審題,了解試題的要求,記下試題給出的輸入和輸出 例示,以便檢驗在完成指定的函數(shù)后程序運行的結(jié)果是否正確。(2)調(diào)出源程序后,應(yīng)對照

19、函數(shù)首部的形參,審視主函數(shù)中調(diào)用函 數(shù)時的實參內(nèi)容,以便明確在函數(shù)中需要處理的數(shù)據(jù)對象。(3)理解試題的要求,審視主函數(shù)中調(diào)用函數(shù)的方式,若在表達式 中調(diào)用函數(shù) ( 如把函數(shù)值賦給某個對象 ),則要求有函數(shù)值返回,需注意函 數(shù)的類型,并在函數(shù)中用 return 語句返回函數(shù)值;若主函數(shù)中僅用語句形式調(diào)用函數(shù),則需要通過形參間接地返回所得結(jié)果。( 4)選擇適當?shù)乃惴ㄟM行編程,輸入程序語句。不要忘記及時存盤!( 5)編譯程序,直到?jīng)]有語法錯誤。(6)調(diào)試程序,利用試題中給出的例示數(shù)據(jù)進行輸入 ( 若要求輸入的 話) ,運行程序,用例示的輸出數(shù)據(jù)檢驗輸出結(jié)果,直到結(jié)果相同。特別要注意:程序設(shè)計題要求

20、完全設(shè)計正確才會給分,因此,要么是40 分,要么是 0分,不會給中間分。那么想通過機試,程序填空題和程序 修改題通常來說必須全部正確才能容易通過,否則不容易通過。2010全國計算機等級考試二級 C語言C編程時常犯的錯誤1. 書寫標識符時,忽略了大小寫字母的區(qū)別。main()int a=5;printf("%d",A);編譯程序把a和A認為是兩個不同的變量名, 而顯示出錯信息。C認為大寫字母和小寫字母是兩個不同的字符。習慣上,符號常量名用大寫, 變量名用小寫表示,以增加可讀性。2. 忽略了變量的類型,進行了不合法的運算。main()float a,b;printf("

21、;%d",a%b);% 是求余運算,得到 a/b 的整余數(shù)。整型變量 a 和 b 可以進行求余運 算,而實型變量則不允許進行“求余”運算。3. 將字符常量與字符串常量混淆。char c;c="a"在這里就混淆了字符常量與字符串常量,字符常量是由一對單引號 括起來的單個字符,字符串常量是一對雙引號括起來的字符序列。C 規(guī)定以“ 0”作字符串結(jié)束標志,它是由系統(tǒng)自動加上的,所以字符串“a”實際上包含兩個字符: 'a' 和'0' ,而把它賦給一個字符變量是不行的。4. 忽略了“ =”與“ =”的區(qū)別。在許多高級語言中,用“ =”符號作為關(guān)

22、系運算符“等于”。但C 語言中,“ =”是賦值運算符,“ =”是關(guān)系運算符。如:if (a=3) a=b;前者是進行比較,a是否和3相等,后者表示如果a和3相等,把b值賦給a。由于習慣問題,初學者往往會犯這樣的錯誤。5. 忘記加分號。分號是C語句中不可缺少的一部分,語句末尾必須有分號。a=1b=2編譯時,編譯程序在“ a=1 ”后面沒發(fā)現(xiàn)分號,就把下一行“ b=2” 也作為上一行語句的一部分,這就會出現(xiàn)語法錯誤。改錯時,有時在被指 出有錯的一行中未發(fā)現(xiàn)錯誤,就需要看一下上一行是否漏掉了分號。 z=x+y;t=z/100;printf("%f",t);對于復合語句來說,最后一

23、個語句中最后的分號不能忽略不寫。6. 多加分號。對于一個復合語句,如: z=x+y;t=z/100;printf("%f",t);復合語句的花括號后不應(yīng)再加分號,否則將會畫蛇添足。 又如:if (a%3=0);i+;本是如果3整除a,則i加1。但由于if (a%3=0)后多加了分號,則if語句到此結(jié)束,程序?qū)?zhí)行i+語句,不論3是否整除a, i都將自 動加 1 。再如:for (i=0;i<5;i+);scanf("%d",&x);第 15 頁prin tf("%d",x);本意是先后輸入5個數(shù),每輸入一個數(shù)后再將它輸出

24、。由于for()后多加了一個分號,使循環(huán)體變?yōu)榭照Z句,此時只能輸入一個數(shù)并輸出它。7. 輸入變量時忘記加地址運算符“ &”。int a,b;sea nf("%d%d",a,b);這是不合法的。seanf函數(shù)的作用是:按照 a、b在內(nèi)存的地址將a、 b的值存進去。“ &a”指a在內(nèi)存中的地址。8. 輸入數(shù)據(jù)的方式與要求不符。 sca nf("%d%d", &a,&b);輸入時,不能用逗號作兩個數(shù)據(jù)間的分隔符,如下面輸入不合法:3,4輸入數(shù)據(jù)時,在兩個數(shù)據(jù)之間以一個或多個空格間隔,也可用回車鍵,跳格鍵tab。 sca nf(&

25、quot;%d,%d", &a,&b);C規(guī)定:如果在“格式控制”字符串中除了格式說明以外還有其它字符,則在輸入數(shù)據(jù)時應(yīng)輸入與這些字符相同的字符。下面輸入是合法的:3,4此時不用逗號而用空格或其它字符是不對的。3 43 : 4又如:sca nf("a=%d,b=%d", &a,&b);第17頁輸入應(yīng)如以下形式:a=3,b=49. 輸入字符的格式與要求不一致。在用“ %c格式輸入字符時,“空格字符”和“轉(zhuǎn)義字符”都作為有效字符輸入。sca nf("%c%c%c", &c1, &c2, &c3);如輸入a bc字符“a”送給cl,字符“ ”送給c2,字符“b”送給c3,因為%c 只要求讀入一個字符,后面不需要用空格作為兩個字符的間隔。10. 輸入輸出的數(shù)據(jù)類型與所用格式說明符不一致。例如,a已定義為整型,b定義為實型a=3;b=4.5;prin tf("%f%d ",a,b);編譯時不給出出錯信息,但運行結(jié)果將與原意不符。這種錯誤尤其11. 輸入數(shù)據(jù)時,企圖規(guī)定精度。sca nf("%7.2f", &a);這樣做是不合法的,輸入數(shù)據(jù)時不能規(guī)定精度。12. switch 語句中漏寫 break語句。例如:根據(jù)考

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論