當前位置:編程學習大全網 - 源碼下載 - 關於全國計算機二級C++機考的問題

關於全國計算機二級C++機考的問題

全國計算機等級考試二級C++上機考試具有三種題型:程序填空、程序修改和程序設計,其中程序填空30分,程序修改30分,程序設計40分。[1]從以往的機試的情況來看,許多考生在程序設計題目上失分比較嚴重,而程序設計題占總分值的40%,壹旦答錯,如果程序填空和程序修改又不能取得滿分的話,就不能通過上機考試。2007年9月,教育部考試中心對現有的全國計算機等級考試大綱進行了改革,二級C語言上機考試時間由60分鐘增加到了90分鐘,編程環境由以前的TC2.0改為VC++6.0。[2]本文根據對近幾年來二級C++上機考試中的程序設計題進行歸類總結,提出相應的策略,並對考生應對2007新大綱以後的C語言上機環境給出壹些建議。2 對以往考試的分析歷年的全國計算機等級考試中二級C++上機考試程序設計題目全部出自於由南開大學出版社編寫南開100題,每次考試教育部考試中心會對題庫做相應的改動,增加壹些新的題型或題目,考試中,考生隨機抽取壹套進行測試。筆者對2005年4月至2007年9月2004版新大綱以後的6次考試中的程序設計題目進行了總結,將這些題目壹***分成了6大類,對每種類型的題目進行了分析。2.1 對壹維數組和字符串的操作該類型的題目在以往的機試中所占比例最大,為40%,考生應對該知識點做全面的復習和掌握。壹維數組可以分為數值型和字符型,其中數值型數組的數據類型為整型和實型,字符型數組的數據類型為字符型,我們通常會把字符型數組叫做字符串,但是應該註意字符型數組與字符串之間是存在區別的,也就是’\0’結束標誌問題。在復習該部分的時候,考生應該掌握以下兩個問題:(1)對壹維數組的操作對壹維數組進行操作的時候,不可避免的要訪問相關的數組元素,在C++中訪問數組元素壹般采取單層循環的方法進行遍歷,假設數組長度為n,數組下標是在0到(n-1)之間的,考生應該牢固掌握在壹維數組中求最大值、最小值,移動元素,查找特定值,存儲數組元素的方法。(2)對字符串的操作該類問題是每次考試的重點和難點,特別是將字符串同指針結合起來以後,難度就更大了。考生在解決此類問題是應特別註意字符串的結束標誌’\0’,它不僅僅用來作為字符串的結束標誌,而且在對字符串進行操作的時候,它也是循環的結束標誌。考生在復習該部分的時候,應該註意這樣的幾個基本問題:大小字母轉換、奇偶數判別、刪除或添加指定的字符和字符的移動。此外,考生應該牢固掌握指針的特性及字符串操作函數的使用和實現方法,特別是字符串連接函數與求子串函數,在以往的考試中多次要求考生自己編寫,考生應對該知識點做重點掌握。2.2 數值計算該類型的題目在歷年的機試中占22%,考查的機率也非常高。該類題目壹般給定壹個數列計算公式,然後要求考生編寫壹個函數類實現求數列的前n項的值、累加和或者積。在解決該類的問題,首先要找到給定數列的變化規律,然後根據其變化規律來編寫壹個單層或者雙層的循環來求其相應的值。在編寫程序的過程中,往往還會用到壹些數學函數,如:sqrt()、fabs()、pow()等,考生應該牢固掌握math.h中的壹些常用數學函數的功能和使用方法。另外,還應該註意數據類型之間的區別,特別是float和int類型,不同的數據類型產生的運算結果也是不壹樣的。2.3 對結構體的操作該部分對非計算機專業的學生來說是壹個難點,因為結構體在《數據結構》這門課程中應用最為廣泛,但考生忽視對該知識點的復習,但在以往的機試中,有17%的題目是屬於該類型。考生在復習這部分的時候,首先應註意結構體成員的兩種不同的引用方法:結構體變量和指向結構體的指針,也就是結構體成員運算符’.’和指向運算符’->’,在編程的過程中,往往會涉及到結構體數組,其實這類數組除了數據類型是結構體以外,其它的特性和普通數組是壹樣的,結構體除了定義、賦值和初始化以外,它的其它操作和普通變量也是壹樣的,包括在結構體數組(記錄)中進行查找、刪除、求最大最小值等操作,我們應該用對待普通變量的方法來解決結構體的問題,這樣的話,難度就可以大幅度的降低。2.4 對二維數組的操作該類問題在歷年的機試中占16%,考生應對二維數組的數組元素的遍歷方法、存儲方式、矩陣轉換等問題做重點掌握。在C語言中,訪問二維數組的數組元素壹般采用雙層循環的方法實現,因為二維數組具有兩個下標:行下標與列下標;二維數組可以按行或者按列轉化成壹維數組進行存儲;對二維數組進行行列轉換的時候,要將行下標和列下標進行互換。考生還應該掌握上三角矩陣、下三角矩陣的特性,在考試中,該知識點也有所涉及。2.5 數制轉換該部分在以往的機試中占11%,包括兩類問題:壹是整數合並,二是類型轉換。在復習該部分時,考生應該註意C++中int型、long型、float型和double型數據所占的存儲空間的大小和精度,註意’%’(模)運算和’/’(除法)運算的特點,特別應該靈活的使用模運算與除法運算求數據相應位數上的數值。掌握強制類型轉換的方法以及按規定的位數保留小數的方法。2.6 素數該部分在歷年的機試中占6%,考生應該牢固掌握素數的基本概念和判斷素數的方法。特別需要考生註意的是整數1不是素數,所以在判斷素數的時候,應該從2開始,到(n-1)結束,能夠除盡的不是素數,不能除盡的是素數。判斷素數問題是C語言中的壹個基本算法,不僅會在程序設計中會考到,而且往往在程序填空和程序改錯中也會有所涉及,因此,考生應對該知識點認真復習。3 程序設計中應註意的問題3.1 熟悉編程環境根據2007年9月教育部考試中心頒布的新大綱,二級C語言的編程環境由TC2.0改為VC++6.0,考生應該熟練掌握VC++6.0的使用方法,雖然VC支持鼠標操作,但是考生還是應該掌握幾個常用快捷方式來提高編程效率。特別要註意在對程序進行改動以後要保存,要進行編譯連接生成可執行(.exe)文件。3.2 養成良好的程序設計風格二級C++機試中的程序設計題,壹般來說程序都比較簡短,源代碼壹般不超過5行,在題目指定的函數內編寫程序。考生在答題的時候盡量采用易於理解而且比較簡單的代碼來解決問題,註意不要改動函數的參數,語句的界符“{}”也應該具有層次性的縮進,必要時,使用壹定的註釋來幫助自己理解程序。3.3 謹慎使用指針指針是C++的精華,也是機試考查的重點內容,指針的使用非常靈活,在使用的指針的時候壹定要註意對其進行初始化,所謂初始化也就是給指針壹個初值,沒有初值的指針是很危險的,除了壹定得不到正確答案外,如果指針越界,容易引起死機。如果死循環帶來的死機是“假死”,大部分可以用“Ctrl+Break”來恢復,但指針越界引起的死機卻是真死,請考生壹定要牢記。[3]3.4 熟練掌握循環結構循環結構的程序是程序設計中涉及最多的知識點,根據以上的分析,我們可以看出幾乎每壹類題目都會涉及到使用循環來解決問題,因此考生應該掌握循環結構的特征和使用方法,以達到能夠熟練使用的目標。應該引起註意的是,在編制循環結構程序的時候考生應該盡量使用“for”循環和“while”循環,避免使用“do……while”循環和“goto”語句,因為“for”循環和“while”編寫出來的循環程序易於理解,不容易出錯。

  • 上一篇:如何讓學生積極參與信息技術學習
  • 下一篇:徹底搞明白Spring中的自動裝配和Autowired
  • copyright 2024編程學習大全網