- 相關(guān)推薦
學(xué)習(xí)二級c語言程序設(shè)計的方法
《C語言程序設(shè)計》講述了C語言的基本概念、各種數(shù)據(jù)類型的使用技巧、程序流程控制、數(shù)組、函數(shù)、指針以及有關(guān)程序設(shè)計的方法等內(nèi)容。下面是小編整理的學(xué)習(xí)二級c語言程序設(shè)計的方法,歡迎參考!
【學(xué)習(xí)二級c語言程序設(shè)計的方法】
初學(xué)者遇到最多的困惑是:上課也能聽懂,書上的例題也能看明白,可是到自己動手做編程時,卻不知道如何下手。發(fā)生這種現(xiàn)象的原因有三個:
一、所謂的看懂聽明白,只是很膚淺的語法知識,而我們編寫的程序或軟件是要根據(jù)要解決問題的實際需要控制程序的流程,如果你沒有深刻地理解C語言的語句的執(zhí)行過程(或流程),你怎么會編寫程序解決這些實際問題呢?
二、用C語言編程解決實際問題,所需要的不僅僅是C語言的編程知識,還需要相關(guān)的專業(yè)知識。例如,如果你不知道長方形的面積公式,即使C語言學(xué)得再好你也編不出求長方形的面積的程序來。
三、C語言程序設(shè)計是一門實踐性很強(qiáng)的課程,“紙上談兵”式的光學(xué)不練是學(xué)不好C語言的。例如,大家都看過精彩自行車雜技表演,假如,你從來沒有騎過自行車,光聽教練講解相關(guān)的知識、規(guī)則、技巧,不要說上臺表演、就是上路你恐怕都不行。
出現(xiàn)問題原因清楚了,那么如何學(xué)習(xí)呢?請你看【C語言學(xué)習(xí)六步曲】
特別提醒:在使用本方法之前一定要先閱讀C語言的相關(guān)內(nèi)容,要初步掌握相關(guān)知識的要點(diǎn),然后按下述方法學(xué)習(xí),可以達(dá)到理解、鞏固、提高C語言知識和提高程序調(diào)式能力的目的。
第一步、驗證性練習(xí)
在這一步要求按照教材上的程序?qū)嵗M(jìn)行原樣輸入,運(yùn)行一下程序是否正確。在這一步基本掌握C語言編程軟件的使用方法(包括新建、打開、保存、關(guān)閉C程序,熟練地輸入、編輯C程序;初步記憶新學(xué)章節(jié)的知識點(diǎn)、養(yǎng)成良好的C語言編程風(fēng)格)。 單擊此處查看【C語言的編程風(fēng)格】
使用《Turbo C/C++ for Windows 集成實驗與學(xué)習(xí)環(huán)境》軟件可以很方便地看著軟件集成的《C語言入門教程》輸入練習(xí)其中的程序例題。具體使用方法參見軟件幫助部分。
初學(xué)者最容易犯的錯誤是:
1、沒有區(qū)分開教材上的數(shù)字1和字母l,字母o和數(shù)字0的區(qū)別,造成變量未定義的錯誤。另一個易錯點(diǎn)是將英文狀態(tài)下的逗號,分號;括號()雙引號""輸入出入成中文狀態(tài)下的逗號,分號;括號(),雙引號“”造成非法字符錯誤。
2、C語言初學(xué)者易犯語法錯誤:使用未定義的變量、標(biāo)示符(變量、常量、數(shù)組、函數(shù)等)不區(qū)分大小寫、漏掉“;”、“{”與“}”、“(”與“)”不匹配、控制語句(選擇、分支、循環(huán))的格式不正確、調(diào)用庫函數(shù)卻沒有包含相應(yīng)的頭文件、調(diào)用未聲明的自定義函數(shù)、調(diào)用函數(shù)時實參與形參不匹配、數(shù)組的邊界超界等。
3、修改C語言語法錯誤時要注意以下兩點(diǎn):
(1)、由于C語言語法比較自由、靈活,因此錯誤信息定位不是特別精確。例如,當(dāng)提示第10行發(fā)生錯誤時,如果在第10行沒有發(fā)現(xiàn)錯誤,從第10行開始往前查找錯誤并修改之。
(2)、一條語句錯誤可能會產(chǎn)生若干條錯誤信息只要修改了這條錯誤,其他錯誤會隨之消失。特別提示:一般情況下,第一條錯誤信息最能反映錯誤的位置和類型,所以調(diào)試程序時務(wù)必根據(jù)第一條錯誤信息進(jìn)行修改,修改后,立即運(yùn)行程序,如果還有很多錯誤,要一個一個地修改,即,每修改一處錯誤要運(yùn)行一次程序。
第二步、照葫蘆畫瓢
在第一步輸入的C程序的基礎(chǔ)上進(jìn)行試驗性的修改,運(yùn)行一下程序看一看程序結(jié)果發(fā)生了什么變化,分析結(jié)果變化的原因,加深新學(xué)知識點(diǎn)的理解。事實上這和第一步時同步進(jìn)行的,實現(xiàn)“輸入”加深知識的記憶,“修改”加深對知識的理解。記憶和理解是相輔相成的,相互促進(jìn)。
例如:將最簡單的Hello World!程序
#include "stdio.h"
int main()
{
printf("Hello World!\n");
return 0;
}
中的printf("Hello World!\n");中的Hello World!改成你的姓名,運(yùn)行一下程序,看有什么變化?
再如求1+2+3...+100的和的程序
#include
main()
{
int i,sum=0;
for(i=1;i<=100;i++)
{
sum=sum+i;
}
printf("sum=%d\n",sum);
}
第1次將for(i=1;i<=100;i++)中的100改成50,運(yùn)行一下程序,看有什么變化?
第2次將for(i=1;i<=100;i++)中的i++改成i=i+2,運(yùn)行一下程序,看有什么變化?
找出程序結(jié)果變化的原因,就加深了對C語句的理解。
第三步、不看教材看是否能將前兩步的程序進(jìn)行正確地輸入并運(yùn)行。
在這一步要求不看教材,即使程序不能運(yùn)行,看能否將其改正,使其能正確運(yùn)行。目的是對前兩步的記憶、理解進(jìn)一步強(qiáng)化。
第四步、增強(qiáng)程序的調(diào)試能力
在《Turbo C/C++ for Windows 集成實驗與學(xué)習(xí)環(huán)境》集成的教材中每章都有C語言初學(xué)者易犯的錯誤,按照易出錯的類型,將教材中的正確的程序改成錯誤的程序,運(yùn)行一下程序,看出現(xiàn)的錯誤信息提示,并記下錯誤信息,再將程序改成正確的,運(yùn)行一下程序。這樣反復(fù)修改,就能夠?qū)W習(xí)C語言程序發(fā)生錯誤的原因和修改錯誤的能力。
注意:每次只改錯一個地方,目的是顯示發(fā)生該錯誤的真正原因,避免一次改動多個地方,搞清發(fā)生錯誤的真正原因,切記!!!!
注意:上機(jī)調(diào)試程序時要帶一個記錄本,記下英文錯誤提示信息和解決該錯誤問題的方法,積累程序調(diào)試經(jīng)驗,避免在編程犯同樣的錯誤,切記!!!!
例如,將Hello World程序中語句printf("Hello World!\n");中的;改成中文的分號;運(yùn)行一下程序,看有什么結(jié)果?
C語言的錯誤信息的形式:(下面例子是的Turobo C2.0錯誤信息,如圖1)
錯誤 文件名 行號 冒號 錯誤內(nèi)容
↓ ↓ ↓ ↓ ↓
Error E:\WinTc\WinTc\frist.c 5 : Function call missing) in function main
C語言的錯誤信息的形式:(下面例子是Visual C++6.0 錯誤信息,如圖2)
文件名 行號 冒號 錯誤代碼 冒號 錯誤內(nèi)容
↓ ↓ ↓ ↓ ↓ ↓
e:\wintc\wintc\frist.c ( 5 ) : error C2143 : syntax error : missing ) before ;
軟件集成了高校教學(xué)用的最多的兩個編譯器Visual C++6.0和Turbo c 2.0,支持C、標(biāo)準(zhǔn)C、C++、標(biāo)準(zhǔn)C++、WINDOWS C程序的編輯、編譯、和調(diào)試。軟件根據(jù)用戶輸入程序的類型智能選擇編譯器,不用使用者干涉。
調(diào)試程序是一種實踐性很強(qiáng)的事,光紙上談兵是是沒用的,就像游泳運(yùn)動員只聽教練講解示范,而不親自下水練習(xí),是永遠(yuǎn)學(xué)不會游泳的。 即使在優(yōu)秀的程序員編寫程序也會犯錯誤的,可能事最低級的語法錯誤,但他能快速發(fā)現(xiàn)錯誤并改正錯誤,而我們C語言初學(xué)者面對錯誤提示,不知道發(fā)生了什么錯誤,如何改正,這就是差別。
第五步、研究典型的C語言程序,提高程序設(shè)計能力
經(jīng)過上述過程的學(xué)習(xí),我們已經(jīng)學(xué)會了C語言各種語句的流程(即計算機(jī)是如何執(zhí)行這些語句的過程),然后就可以研讀別人編寫C語言經(jīng)典程序,看懂別人是如何解決問題的,學(xué)習(xí)解決問題的方法和程序設(shè)計技巧,提高自己的程序設(shè)計能力。
在軟件中有50多個典型的源程序,研究它的實現(xiàn)方法,提高自己的程序設(shè)計能力。
第六步、研究課程設(shè)計源成序,提高C語言程序設(shè)計的能力。
C語言課程設(shè)計的目的:是讓學(xué)生綜合利用所學(xué)的C語言知識,解決一些接近實際問題題目,提高程序設(shè)計和調(diào)試較大程序的能力,為進(jìn)一步進(jìn)行軟件開發(fā)打下堅實的基礎(chǔ)。
最后送C語言初學(xué)者一句話來共勉:首先要相信自己是有能力學(xué)好C語言的,然后不惜一切代價把這種能力表現(xiàn)出來,你就成功了。做任何事,何嘗不是這樣呢?興趣是學(xué)習(xí)C語言的最大動力,學(xué)習(xí)方法給你指明努力的方向,讓你事半功倍。如果你感覺對你有幫助的話,請回帖支持,讓更多的朋友知道它,謝謝支持!!!
【學(xué)習(xí)二級c語言程序設(shè)計需要的材料】
、俳滩模喝珖嬎銠C(jī)等級考試2級教程:C語言程序設(shè)計(2013年版) 教育部考試中心 ②練習(xí)題:未來教育出的《全國計算機(jī)等級考試模擬考場二級C》。
因為是零基礎(chǔ),所以是從選擇題入手(選擇題考察基礎(chǔ)知識和對C語言基本框架的理解)先大致瀏覽題冊附的講解,了解清大致的輪廓,做到心中有譜,再做題,錯的多的感覺不理解的部分就詳讀教材。需要強(qiáng)調(diào)的一點(diǎn)是C語言只看是不夠的,必須要自己做適當(dāng)?shù)牧?xí)題,因為習(xí)題是很好的檢測你理解的情況的手段。然后再著手操作題,上機(jī)實踐。
如果樓主是為了計算機(jī)等級考試,可以有幾點(diǎn)經(jīng)驗分享:
1. 全國卷選擇題中有10道計算機(jī)基礎(chǔ)知識問題,如果沒有學(xué)過數(shù)據(jù)庫、數(shù)據(jù)結(jié)構(gòu)的同學(xué)來說,也沒有必要專門去學(xué)這些內(nèi)容,只用把模擬題中涉及到的問題和相關(guān)概念搞懂(因為模擬題題型和真考時還比較一致),當(dāng)然,有多余時間的同學(xué)可以專門去學(xué)這些內(nèi)容。
2. 對于選擇題中另外30道有關(guān)C語言的題,要仔細(xì)審題,基礎(chǔ)概念搞懂。在做模擬題的過程中不僅要結(jié)合教材和詳細(xì)答案搞懂這些問題,還要注意多總結(jié)題型,大多題型也是相對比較固定的。
3. 對于程序填空題,要先看清這個程序的功能是什么,然后再閱讀程序,按照理解的思路填空。因為只是要求填空,所以總體的算法是可以根據(jù)已有語句看出來的,不需自己從頭想,只要填出所要求填的部分即可,相比最后的程序設(shè)計題,此題較為簡單。
4. 對于程序改錯題,也是首先要明白功能,然后再開始閱讀程序,找出錯誤。這個題型也要多做題,對每次找出的錯誤類型總結(jié),很多錯誤類型會經(jīng)常出現(xiàn)。
5. 對于程序設(shè)計題。此題要求的是設(shè)計出一個功能函數(shù),而并非整個程序。所以,先了解函數(shù)要求的功能是什么,再想怎么設(shè)計。我覺得這個題是全卷最難得題,要不斷編程實踐才能練成較高水平。
計算機(jī)二級考試C語言程序設(shè)計考試大綱
基本要求
1. 熟悉Visual C++6. 0集成開發(fā)環(huán)境。
2. 掌握結(jié)構(gòu)化程序設(shè)計的方法,具有良好的程序設(shè)計風(fēng)格。
3. 掌握程序設(shè)計中簡單的數(shù)據(jù)結(jié)構(gòu)和算法并能閱讀簡單的程序。
4. 在Visual C++6. 0集成環(huán)境下,能夠編寫簡單的C程序,并具有基本的糾錯和調(diào)試程序的能力。
考試內(nèi)容
一、C語言程序的結(jié)構(gòu)
1. 程序的構(gòu)成,main函數(shù)和其他函數(shù)。
2. 頭文件,數(shù)據(jù)說明,函數(shù)的開始和結(jié)束標(biāo)志以及程序中的注釋。
3. 源程序的書寫格式。
4. C語言的風(fēng)格。
二、數(shù)據(jù)類型及其運(yùn)算
1. C的數(shù)據(jù)類型(基本類型,構(gòu)造類型,指針類型,無值類型)及其定義方法。
2. C運(yùn)算符的種類、運(yùn)算優(yōu)先級和結(jié)合性。
3. 不同類型數(shù)據(jù)間的轉(zhuǎn)換與運(yùn)算。
4. C表達(dá)式類型(賦值表達(dá)式,算術(shù)表達(dá)式,關(guān)系表達(dá)式,邏輯表達(dá)式,條件表達(dá)式,逗號表達(dá)式)和求值規(guī)則。二級各科考試的公共基礎(chǔ)知識大綱及樣題見高等教育出版社出版的《全國計算機(jī)等級考試二級教程——公共基礎(chǔ)知識(2013年版)》的附錄部分。
三、基本語句
1. 表達(dá)式語句,空語句,復(fù)合語句。
2. 輸入輸出函數(shù)的調(diào)用,正確輸入數(shù)據(jù)并正確設(shè)計輸出格式。
四、選擇結(jié)構(gòu)程序設(shè)計
1. 用if 語句實現(xiàn)選擇結(jié)構(gòu)。
2. 用switch語句實現(xiàn)多分支選擇結(jié)構(gòu)。
3. 選擇結(jié)構(gòu)的嵌套。
五、循環(huán)結(jié)構(gòu)程序設(shè)計
1. for循環(huán)結(jié)構(gòu)。
2. while和do-while循環(huán)結(jié)構(gòu)。
3. continue語句和break語句。
4. 循環(huán)的嵌套。
六、數(shù)組的定義和引用
1. 一維數(shù)組和二維數(shù)組的定義、初始化和數(shù)組元素的引用。
2. 字符串與字符數(shù)組。
七、函數(shù)
1. 庫函數(shù)的正確調(diào)用。
2. 函數(shù)的定義方法。
3. 函數(shù)的類型和返回值。
4. 形式參數(shù)與實在參數(shù),參數(shù)值的傳遞。
5. 函數(shù)的正確調(diào)用,嵌套調(diào)用,遞歸調(diào)用。
6. 局部變量和全局變量。
7. 變量的存儲類別(自動,靜態(tài),寄存器,外部),變量的作用域和生存期。
八、編譯預(yù)處理
1. 宏定義和調(diào)用(不帶參數(shù)的宏,帶參數(shù)的宏)。
2. “文件包含冶處理。
九、指針
1. 地址與指針變量的概念,地址運(yùn)算符與間址運(yùn)算符。
2. 一維、二維數(shù)組和字符串的地址以及指向變量、數(shù)組、字符串、函數(shù)、結(jié)構(gòu)體的指針變量的定義。通過指針引用以上各類型數(shù)據(jù)。
3. 用指針作函數(shù)參數(shù)。
4. 返回地址值的函數(shù)。
5. 指針數(shù)組,指向指針的指針。
十、結(jié)構(gòu)體(即“結(jié)構(gòu)冶)與共同體(即“聯(lián)合冶)
1. 用typedef 說明一個新類型。
2. 結(jié)構(gòu)體和共用體類型數(shù)據(jù)的定義和成員的引用。
3. 通過結(jié)構(gòu)體構(gòu)成鏈表,單向鏈表的建立,結(jié)點(diǎn)數(shù)據(jù)的輸出、刪除與插入。
十一、位運(yùn)算
1. 位運(yùn)算符的含義和使用。
2. 簡單的位運(yùn)算。
十二、文件操作
只要求緩沖文件系統(tǒng)(即高級磁盤I/ O系統(tǒng)),對非標(biāo)準(zhǔn)緩沖文件系統(tǒng)(即低級磁盤I/O系統(tǒng))不要求。
1. 文件類型指針(FILE類型指針)。
2. 文件的打開與關(guān)閉(fopen,fclose)。
3. 文件的讀寫(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf 函數(shù)的應(yīng)用),文件的定位(rewind,fseek函數(shù)的應(yīng)用)。
考試方式
上機(jī)考試,考試時長120分鐘,滿分100分。
題型及分值
單項選擇題40分(含公共基礎(chǔ)知識部分10分)、操作題60分(包括填空題、改錯題及編程題)。
考試環(huán)境
Visual C++6. 0。
【學(xué)習(xí)二級c語言程序設(shè)計的方法】相關(guān)文章:
C語言程序設(shè)計學(xué)習(xí)技巧08-02
c語言程序設(shè)計試題07-30
C語言程序設(shè)計考試大綱05-17
計算機(jī)二級c語言程序設(shè)計考試試題201708-17
計算機(jī)二級C語言學(xué)習(xí)內(nèi)容09-29
二級c語言上機(jī)題庫11-15
2017二級c語言題庫09-05