亚洲免费高清无码视频|成人av手机在线观看|五月天激情在线观看网站|一级做a爰片久久毛片a|国产AV人人夜夜澡人人爽|亚洲国产精品色区在线观看|欧美色欧美亚洲另类二区图片|绝对真实偷窥女子会所私密AV

<source id="iqnhh"><ins id="iqnhh"></ins></source>

<track id="iqnhh"><dl id="iqnhh"><small id="iqnhh"></small></dl></track>

  • <p id="iqnhh"><span id="iqnhh"></span></p>

  • 免費(fèi)注冊 登錄 搜索 暑假 幫助
    課程搜索
    當(dāng)前位置 >> 首頁 >> 新聞資訊 >> 熱點(diǎn)資訊 >> 考全國計(jì)算機(jī)等級考試三級如何學(xué)C語言

    考全國計(jì)算機(jī)等級考試三級如何學(xué)C語言


    http://m.qxc0898.com ┊ 發(fā)布日期:2007-4-5 ┊ 編輯:班長

      很多沒接觸過C語言的朋友,考三級最感到就是怕C語言學(xué)不來.其實(shí),按照我們現(xiàn)在的三級C上機(jī)的考試要求,(只是一道編程題,還不是完整的編程,只要填上一段函數(shù)就行了),只要掌握一些C編程的基本知識,看好南開100題的各種題型的解法,加上多上機(jī)獨(dú)立練習(xí)就完全能夠過級的。眾所周知,近幾年的三級C上機(jī)的題庫就是南開100題,考試時(shí)是從中抽一道編程題,只是少數(shù)考題條件略改下,比如原題中是“從大到小”排序,考題也許改成“從小到大”排序,我想這對于理解了解題方法的人,應(yīng)該不存在問題的。

      言歸正傳,我們?nèi)绾尉腿壙荚噥韺W(xué)《C程序設(shè)計(jì)》呢?

      《C程序設(shè)計(jì)》的內(nèi)容很豐富,按照我們現(xiàn)在的考試要求,也就是南開100題解法中主要涉及到的是基礎(chǔ)知識、四種結(jié)構(gòu)的的程序設(shè)計(jì)、函數(shù)與數(shù)組的應(yīng)用和算法,在學(xué)習(xí)時(shí),應(yīng)該把主要精力放在這些部分,當(dāng)然其它的知識,如輸入輸出的語句、文件的讀寫、指針的定義等,盡管原程序都給了你,但最起碼也要能看懂,所以還是不能放棄學(xué)的,了解為好。當(dāng)然,在初學(xué)C語言時(shí),可能會遇到有些問題理解不透,或者表達(dá)方式與以往數(shù)學(xué)學(xué)習(xí)中不同(如運(yùn)算符等),這就要求不氣餒,不明白的地方多問多想,鼓足勇氣進(jìn)行學(xué)習(xí),待學(xué)完后面的章節(jié)知識,前面的問題也就迎刃而解了.

      一、學(xué)好C語言的語法

      無它,看書并記憶,加上機(jī)練習(xí)。有很多考三級的朋友都學(xué)過其它程序語言,如VB,很容易受它們習(xí)慣的影響,在寫程序上經(jīng)常忘記C語言中的分號、小括號、大括號的運(yùn)用,導(dǎo)致很多人看著答案編程老是出錯,檢查半天不知哪里錯了,大呼小叫“我按照答案輸進(jìn)去的,為什么提示錯誤,對了N遍,不知哪里錯了”,所以一開始就要養(yǎng)成良好的習(xí)慣和細(xì)心。特別注意的是為什么說上機(jī)練習(xí)很重要,原因就是在紙上寫的,語法錯了不知道,而上機(jī)錯了就顯示了。

      二、學(xué)好C語言的運(yùn)算符和運(yùn)算順序

      這是學(xué)好《C程序設(shè)計(jì)》的基礎(chǔ),C語言的運(yùn)算非常靈活,功能十分豐富,運(yùn)算種類遠(yuǎn)多于其它程序設(shè)計(jì)語言。在表達(dá)式方面較其它程序語言更為簡潔,如自加、自減、逗號運(yùn)算和三目運(yùn)算使表達(dá)式更為簡單,但初學(xué)者往往會覺的這種表達(dá)式難讀,關(guān)鍵原因就是對運(yùn)算符和運(yùn)算順序理解不透不全。當(dāng)多種不同運(yùn)算組成一個(gè)運(yùn)算表達(dá)式,即一個(gè)運(yùn)算式中出現(xiàn)多種運(yùn)算符時(shí),運(yùn)算的優(yōu)先順序和結(jié)合規(guī)則顯得十分重要。在學(xué)習(xí)中,只要我們對此合理進(jìn)行分類,找出它們與我們在數(shù)學(xué)中所學(xué)到運(yùn)算之間的不同點(diǎn)之后,記住這些運(yùn)算也就不困難了,有些運(yùn)算符在理解后更會牢記心中,將來用起來得心應(yīng)手,而有些可暫時(shí)放棄不記,等用到時(shí)再記不遲。

      先要明確運(yùn)算符按優(yōu)先級不同分類,《C程序設(shè)計(jì)》運(yùn)算符可分為15種優(yōu)先級,從高到低,優(yōu)先級為1 ~ 15,除第2、3級和第14級為從右至左結(jié)合外,其它都是從左至右結(jié)合,它決定同級運(yùn)算符的運(yùn)算順序。下面我們通過幾個(gè)例子來說明:

      (1) 5*8/4%10 這個(gè)表達(dá)式中出現(xiàn)3種運(yùn)算符,是同級運(yùn)算符,運(yùn)算順序按從左至右結(jié)合,因此先計(jì)算5 *8=40,然后被4除,結(jié)果為10,最后是%(求余數(shù))運(yùn)算,所以表達(dá)式的最終結(jié)果為10%10 = 0;

      (2)a = 3;b = 5;c =++ a* b ;d =a + +* b;

      對于c=++a*b來說,按表中所列順序,+ +先執(zhí)行,*后執(zhí)行,所以+ + a執(zhí)行后,a的值為4,由于+ +為前置運(yùn)算,所以a的值4參與運(yùn)算,C的值計(jì)算式為4*5=20而不是3*5=15了;而對于d=a++*b來說,由于a + +為后置運(yùn)算,所以a值為4參與運(yùn)算,使得d的值仍為20,而a參與運(yùn)算后其值加1,值為5。 這個(gè)例子執(zhí)行后,a的值為5,b的值為5,c的值為20,d的值也是20;

      (3)(a = 3,b = 5,b+ = a,c = b* 5)

      例子中的“,”是逗號結(jié)合運(yùn)算,上式稱為逗號表達(dá)式,自左向右結(jié)合,最后一個(gè)表達(dá)式的結(jié)果值就是逗號表達(dá)式的結(jié)果,所以上面的逗號表達(dá)式結(jié)果為40,a的值為3,b的值為8,c的值為40。

      三、學(xué)好數(shù)據(jù)類型定義

      類型定義在所有編程中基本都要用到,用些題類型定義錯了,解題結(jié)果就錯了,大家一定要看好書上關(guān)于整型、長整型、字符型、無符號型、實(shí)數(shù)型的定義的區(qū)別和運(yùn)用以及它們的范圍,這些在南開100題中都是考點(diǎn),考試時(shí)很多考生就是因?yàn)轭愋投x錯了,而沒通過。

      如:南開第8題:要求對一篇文章的每個(gè)字符按替代關(guān)系:f(p)=p*11 mod 256(p是數(shù)組中某一個(gè)字符的ASCII值,f(p)是計(jì)算后新字符的ASCII值),如果計(jì)算后f(p)值小于等于32或大于130,則該字符不變,否則將f(p)所對應(yīng)的字符進(jìn)行替代。部分源程序存在文件prog1.c中。原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個(gè)字符。

      請勿改動主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。

      以下是引用片段:

      #include

      #include

      #include

      #include

      unsigned char xx[50][80];

      int maxline=0;/*文章的總行數(shù)*/

      int ReadDat(void);

      void WriteDat(void);

      (上面是原程序中給的)要求我們編出void encryptChar()的函數(shù)部分,在解題的時(shí)候我們就要定義個(gè)中

      間變量,從原程序中可以看出是無符號型字符unsigned char,所以我們在定義中間變量時(shí)一定要保持一致,如果定義了char型就錯了,當(dāng)然象此類簡單的換算題,可以不用中間變量的,直接進(jìn)行運(yùn)算就可以的,本人發(fā)在資料下載區(qū)的南開100中的解法就沒有用中間變量,確保初學(xué)者不會出錯。關(guān)于這些,大家可以結(jié)合書上的知識,對照南開題就能弄明白的。

      四、學(xué)好C語言的四種程序結(jié)構(gòu)

      (1)順序結(jié)構(gòu)

      順序結(jié)構(gòu)的程序設(shè)計(jì)是最簡單的,只要按照解決問題的順序?qū)懗鱿鄳?yīng)的語句就行,它的執(zhí)行順序是自上而下,依次執(zhí)行。

      例如;a = 3,b = 5,現(xiàn)交換a,b的值,這個(gè)問題就好象交換兩個(gè)杯子水,這當(dāng)然要用到第三個(gè)杯子,假如第三個(gè)杯子是c,那么正確的程序?yàn)椋?c = a; a = b; b = c; 執(zhí)行結(jié)果是a = 5,b = c = 3如果改變其順序,寫成:a = b; c = a; b = c; 則執(zhí)行結(jié)果就變成a = b = c = 5,不能達(dá)到預(yù)期的目的,初學(xué)者最容易犯這種錯誤。 順序結(jié)構(gòu)可以獨(dú)立使用構(gòu)成一個(gè)簡單的完整程序,常見的輸入、計(jì)算,輸出三步曲的程序就是順序結(jié)構(gòu),例如計(jì)算圓的面積,其程序的語句順序就是輸入圓的半徑r,計(jì)算s = 3.14159*r*r,輸出圓的面積s。不過大多數(shù)情況下順序結(jié)構(gòu)都是作為程序的一部分,與其它結(jié)構(gòu)一起構(gòu)成一個(gè)復(fù)雜的程序,例如分支結(jié)構(gòu)中的復(fù)合語句、循環(huán)結(jié)構(gòu)中的循環(huán)體等。

      (2) 分支結(jié)構(gòu)

      順序結(jié)構(gòu)的程序雖然能解決計(jì)算、輸出等問題,但不能做判斷再選擇。對于要先做判斷再選擇的問題就要使用分支結(jié)構(gòu)。分支結(jié)構(gòu)適合于帶有邏輯或關(guān)系比較等條件判斷的計(jì)算,下面我介紹幾種基本的分支結(jié)構(gòu)。

     、賗f(條件)

      {

      分支體

      }

      這種分支結(jié)構(gòu)中的分支體可以是一條語句,此時(shí)“{ }”可以省略,也可以是多條語句即復(fù)合語句。它有兩條分支路徑可選,一是當(dāng)條件為真,執(zhí)行分支體,否則跳過分支體,這時(shí)分支體就不會執(zhí)行。如:要計(jì)算x的絕對值,根據(jù)絕對值定義,我們知道,當(dāng)x>=0時(shí),其絕對值不變,而x<0時(shí)其絕對值是為x的反號,因此程序段為:if(x<0) x=-x;

     、趇f(條件)

      {分支1}

      else

      {分支2}

      這是典型的分支結(jié)構(gòu),如果條件成立,執(zhí)行分支1,否則執(zhí)行分支2,分支1和分支2都可以是1條或若干條語句構(gòu)成。

      文章閱讀排行周排行月排行考全國計(jì)算機(jī)等級考試三級如何學(xué)C語言我的軟考經(jīng)驗(yàn)助你一定能成功JAVA考試認(rèn)證:SCJP310-035考試心得 07年計(jì)算機(jī)等級考試一級上機(jī)Word題三07年計(jì)算機(jī)等級考試一級上機(jī)Word題二07年計(jì)算機(jī)等級考試一級上機(jī)Word題一計(jì)算機(jī)等級三級網(wǎng)絡(luò)技術(shù)考試分析IT職場:我拒絕了一個(gè)應(yīng)聘的女程序員IT職場:要求加薪有秘訣 你會幾招?IT職場:外企面試官最愛提的問題TOP10計(jì)算機(jī)等級考試三級偏軟類上機(jī)備考攻略計(jì)算機(jī)等級二級C語言上機(jī)試題17-24套IT職場:好的求職簡歷是這樣寫出來的 全國計(jì)算機(jī)等級考試一級B模擬試題一三級網(wǎng)絡(luò)技術(shù)考前密卷選擇題測試一全國計(jì)算機(jī)等級考試二級VB最新模擬試題07年4月計(jì)算機(jī)等考三級網(wǎng)絡(luò)上機(jī)應(yīng)試指導(dǎo)開啟IT行業(yè)大門 IT教育頻道重裝上線全國計(jì)算機(jī)等級考試一級B模擬試題六三級網(wǎng)絡(luò)技術(shù)考前密卷選擇題測試八三級網(wǎng)絡(luò)技術(shù)考前密卷選擇題測試二07年計(jì)算機(jī)等級考試三級網(wǎng)絡(luò)復(fù)習(xí)綱要計(jì)算機(jī)等級考試二級C語言上機(jī)試題1-8套

     、矍短追种дZ句:其語句格式為:

      if(條件1) {分支1};

      else if(條件2) {分支2}

      else if(條件3) {分支3}

      ……

      else if(條件n) {分支n}

      else {分支n+1}

      (3)循環(huán)結(jié)構(gòu):

      循環(huán)結(jié)構(gòu)可以減少源程序重復(fù)書寫的工作量,用來描述重復(fù)執(zhí)行某段算法的問題,這是程序設(shè)計(jì)中最能發(fā)揮計(jì)算機(jī)特長的程序結(jié)構(gòu),C語言中提供四種循環(huán),即goto循環(huán)、while循環(huán)、do –while循環(huán)和for循環(huán)。四種循環(huán)可以用來處理同一問題,一般情況下它們可以互相代替換,但一般不提倡用goto循環(huán),因?yàn)閺?qiáng)制改變程序的順序經(jīng)常會給程序的運(yùn)行帶來不可預(yù)料的錯誤,在學(xué)習(xí)中我們主要學(xué)習(xí)while、do…while、for三種循環(huán)。常用的三種循環(huán)結(jié)構(gòu)學(xué)習(xí)的重點(diǎn)在于弄清它們相同與不同之處,以便在不同場合下使用,這就要清楚三種循環(huán)的格式和執(zhí)行順序,將每種循環(huán)的流程圖理解透徹后就會明白如何替換使用,如把while循環(huán)的例題,用for語句重新編寫一個(gè)程序,這樣能更好地理解它們的作用。特別要注意在循環(huán)體內(nèi)應(yīng)包含趨于結(jié)束的語句(即循環(huán)變量值的改變),否則就可能成了一個(gè)死循環(huán),這是初學(xué)者的一個(gè)常見錯誤。

      在學(xué)完這三個(gè)循環(huán)后,應(yīng)明確它們的異同點(diǎn):用while和do…while循環(huán)時(shí),循環(huán)變量的初始化的操作應(yīng)在循環(huán)體之前,而for循環(huán)一般在語句1中進(jìn)行的;while 循環(huán)和for循環(huán)都是先判斷表達(dá)式,后執(zhí)行循環(huán)體,而do…while循環(huán)是先執(zhí)行循環(huán)體后判斷表達(dá)式,也就是說do…while的循環(huán)體最少被執(zhí)行一次,而while 循環(huán)和for就可能一次都不執(zhí)行。另外還要注意的是這三種循環(huán)都可以用break語句跳出循環(huán),用continue語句結(jié)束本次循環(huán),而goto語句與if構(gòu)成的循環(huán),是不能用break和 continue語句進(jìn)行控制的。

      順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)并不彼此孤立的,在循環(huán)中可以有分支、順序結(jié)構(gòu),分支中也可以有循環(huán)、順序結(jié)構(gòu),其實(shí)不管哪種結(jié)構(gòu),我們均可廣義的把它們看成一個(gè)語句。在實(shí)際編程過程中常將這三種結(jié)構(gòu)相互結(jié)合以實(shí)現(xiàn)各種算法,設(shè)計(jì)出相應(yīng)程序,但是要編程的問題較大,編寫出的程序就往往很長、結(jié)構(gòu)重復(fù)多,造成可讀性差,難以理解,解決這個(gè)問題的方法是將C程序設(shè)計(jì)成模塊化結(jié)構(gòu)。

      (4)模塊化程序結(jié)構(gòu)

      C語言的模塊化程序結(jié)構(gòu)用函數(shù)來實(shí)現(xiàn),即將復(fù)雜的C程序分為若干模塊,每個(gè)模塊都編寫成一個(gè)C函數(shù),然后通過主函數(shù)調(diào)用函數(shù)及函數(shù)調(diào)用函數(shù)來實(shí)現(xiàn)一大型問題的C程序編寫,因此常說:C程序=主函數(shù)+子函數(shù)。 因些,對函數(shù)的定義、調(diào)用、值的返回等中要尤其注重理解和應(yīng)用,并通過上機(jī)調(diào)試加以鞏固。

      五、掌握一些簡單的算法

      編程其實(shí)一大部分工作就是分析問題,找到解決問題的方法,再以相應(yīng)的編程語言寫出代碼。這就要求掌握算法,根據(jù)我們的《C程序設(shè)計(jì)》教學(xué)大綱中,只要求我們掌握一些簡單的算法,在掌握這些基本算法后,要完成對問題的分析就容易了。如兩個(gè)數(shù)的交換、三個(gè)數(shù)的比較、冒泡法排序,這就要求我們要清楚這些算法的內(nèi)在含義,其中選擇法排序和冒泡法排序稍難,但只要明白排序的具體過程,對代碼的理解就不難了。

      (1)數(shù)字拆分

      此類題在南開100中占的比重很大,共占了16道題,主要是對四位數(shù)分解成千位數(shù),百位數(shù),十位數(shù),個(gè)位數(shù),這些就要用到運(yùn)算中的整除(“/”)和求余(“%”)運(yùn)算,一定要理解這兩個(gè)運(yùn)算的結(jié)果。

      如南開15題:已知數(shù)據(jù)文件IN.DAT中存有200個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請考生編制一函數(shù)jsVal(),其功能是:若一個(gè)四位數(shù)的千位數(shù)字上的值小于等于百位數(shù)字上的值,百位數(shù)字上的值小于等于十位數(shù)字上的值,以及十位數(shù)字上的值小于等于個(gè)位數(shù)字上的值,并且原四位數(shù)是偶數(shù),則統(tǒng)計(jì)出滿足此條件的個(gè)數(shù)cnt并把這些四位數(shù)按從小到大的順序存入數(shù)組b中,最后調(diào)用寫函數(shù)writeDat()把結(jié)果cnt以及數(shù)組b中符合條件的四位數(shù)輸出到OUT.DAT文件中。

      從解法中可以看出,分別求出這個(gè)四個(gè)位數(shù),假如原四位數(shù)是a

      千位數(shù):a/1000;

      百位數(shù):a%1000/100;

      十位數(shù):a%100/10;

      個(gè)位數(shù):a%10;

      當(dāng)然方法很多,只要我們正確掌握了這兩種運(yùn)算,問題就迎刃而解。

      (2)排序法

      排序方法很多,只要掌握一種方法,就可以應(yīng)對南開題中關(guān)于排序題的解法,建議用冒泡排序法。

      如用冒泡排序法對10個(gè)不同整數(shù)排序(從小到大),選擇法排序思路:設(shè)有10個(gè)元素a[1]~a[10],將a[1]與a[2]~a[10]比較,若a[1]比a[2]~a[10]都小,則不進(jìn)行交換,即無任何操作;若a[2]~a[10] 中有一個(gè)比a[1]小,則將其中最大的一個(gè)(假設(shè)為a)與a[1]交換,此時(shí)a[1]中存放了10個(gè)中最小的數(shù)。第二輪將a[2]與a[3]~a[10]比較,將剩下9個(gè)數(shù)中的最小者a與a[2]交換,此時(shí)a[2] 中存放的10個(gè)數(shù)中第2小的數(shù);依此類推,共進(jìn)行9輪比較,a[1]到a[10]就已按從小到大的順序存放。即每一輪都找出剩下數(shù)中的最小一個(gè),代碼如下:

      以下是引用片段:

      for(i=1;i<=9;i++)

      for(j=i+1;j<=10;j++)

      if(a>a[j]

      {temp=a;

      a=a[j];

      a[j]=temp;

      }

      文章閱讀排行周排行月排行考全國計(jì)算機(jī)等級考試三級如何學(xué)C語言我的軟考經(jīng)驗(yàn)助你一定能成功JAVA考試認(rèn)證:SCJP310-035考試心得 07年計(jì)算機(jī)等級考試一級上機(jī)Word題三07年計(jì)算機(jī)等級考試一級上機(jī)Word題二07年計(jì)算機(jī)等級考試一級上機(jī)Word題一計(jì)算機(jī)等級三級網(wǎng)絡(luò)技術(shù)考試分析IT職場:我拒絕了一個(gè)應(yīng)聘的女程序員IT職場:要求加薪有秘訣 你會幾招?IT職場:外企面試官最愛提的問題TOP10計(jì)算機(jī)等級考試三級偏軟類上機(jī)備考攻略計(jì)算機(jī)等級二級C語言上機(jī)試題17-24套IT職場:好的求職簡歷是這樣寫出來的 全國計(jì)算機(jī)等級考試一級B模擬試題一三級網(wǎng)絡(luò)技術(shù)考前密卷選擇題測試一全國計(jì)算機(jī)等級考試二級VB最新模擬試題07年4月計(jì)算機(jī)等考三級網(wǎng)絡(luò)上機(jī)應(yīng)試指導(dǎo)開啟IT行業(yè)大門 IT教育頻道重裝上線全國計(jì)算機(jī)等級考試一級B模擬試題六三級網(wǎng)絡(luò)技術(shù)考前密卷選擇題測試八三級網(wǎng)絡(luò)技術(shù)考前密卷選擇題測試二07年計(jì)算機(jī)等級考試三級網(wǎng)絡(luò)復(fù)習(xí)綱要計(jì)算機(jī)等級考試二級C語言上機(jī)試題1-8套

      結(jié)束語:此文主要是結(jié)合三級C上機(jī)的特點(diǎn)所舉的一些例子分析下重點(diǎn),首先聲明不全,只是起拋磚引玉的作用,大家在學(xué)習(xí)C語言中,不能局限性于此,書一定要看完,不作考核的部分盡量能夠知道一點(diǎn),也不枉考試一場,各人考試的目的不同,自己把握就是。

    熱門課程

    關(guān)于我們 | 信息反饋 | 友情鏈接 | 聯(lián)系我們 | 蘇ICP備05033018號
    Copyright 2005-2014, 版權(quán)所有 DaJiaoShi.COM
    张家口市| 亚东县| 昂仁县| 杨浦区| 永春县| 嘉善县| 安岳县| 饶河县| 临沂市| 岚皋县| 连江县| 罗山县| 佛坪县| 沂源县| 南江县| 霍林郭勒市| 唐河县| 锦屏县| 马公市| 新郑市| 崇州市| 潞西市| 阳西县| 南平市| 大洼县| 阳城县| 绥阳县| 永靖县| 临江市| 芦溪县| 浦县| 盐津县| 麻栗坡县| 土默特左旗| 长沙县| 崇信县| 石阡县| 屏东县| 秦皇岛市| 江油市| 通许县|