C語言程序設(shè)計(jì)入門學(xué)習(xí)六步曲
初學(xué)者遇到最多的困惑是:上課也能聽懂,書上的例題也能看明白,可是到自己動(dòng)手做編程時(shí),卻不知道如何下手。發(fā)生這種現(xiàn)象的原因有三個(gè):
一、所謂的看懂聽明白,只是很膚淺的語法知識,而我們編寫的程序或軟件是要根據(jù)要解決問題的實(shí)際需要控制程序的流程,如果你沒有深刻地理解C語言的語句的執(zhí)行過程(或流程),你怎么會(huì)編寫程序解決這些實(shí)際問題呢?
二、用C語言編程解決實(shí)際問題,所需要的不僅僅是C語言的編程知識,還需要相關(guān)的專業(yè)知識。例如,如果你不知道長方形的面積公式,即使C語言學(xué)得再好你也編不出求長方形的面積的程序來。
三、C語言程序設(shè)計(jì)是一門實(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)式能力的目的。
第一步、驗(yàn)證性練習(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 集成實(shí)驗(yàn)與學(xué)習(xí)環(huán)境》軟件可以很方便地看著軟件集成的《C語言入門教程》輸入練習(xí)其中的程序例題。具體使用方法參見軟件幫助部分。
初學(xué)者最容易犯的錯(cuò)誤是:
1、沒有區(qū)分開教材上的數(shù)字1和字母l,字母o和數(shù)字0的區(qū)別,造成變量未定義的錯(cuò)誤。另一個(gè)易錯(cuò)點(diǎn)是將英文狀態(tài)下的逗號,分號;括號()雙引號""輸入出入成中文狀態(tài)下的逗號,分號;括號(),雙引號“”造成非法字符錯(cuò)誤。
2、C語言初學(xué)者易犯語法錯(cuò)誤:使用未定義的變量、標(biāo)示符(變量、常量、數(shù)組、函數(shù)等)不區(qū)分大小寫、漏掉“;”、“{”與“}”、“(”與“)”不匹配、控制語句(選擇、分支、循環(huán))的格式不正確、調(diào)用庫函數(shù)卻沒有包含相應(yīng)的頭文件、調(diào)用未聲明的自定義函數(shù)、調(diào)用函數(shù)時(shí)實(shí)參與形參不匹配、數(shù)組的邊界超界等。
3、修改C語言語法錯(cuò)誤時(shí)要注意以下兩點(diǎn):
(1)、由于C語言語法比較自由、靈活,因此錯(cuò)誤信息定位不是特別精確。例如,當(dāng)提示第10行發(fā)生錯(cuò)誤時(shí),如果在第10行沒有發(fā)現(xiàn)錯(cuò)誤,從第10行開始往前查找錯(cuò)誤并修改之。
。2)、一條語句錯(cuò)誤可能會(huì)產(chǎn)生若干條錯(cuò)誤信息只要修改了這條錯(cuò)誤,其他錯(cuò)誤會(huì)隨之消失。特別提示:一般情況下,第一條錯(cuò)誤信息最能反映錯(cuò)誤的位置和類型,所以調(diào)試程序時(shí)務(wù)必根據(jù)第一條錯(cuò)誤信息進(jìn)行修改,修改后,立即運(yùn)行程序,如果還有很多錯(cuò)誤,要一個(gè)一個(gè)地修改,即,每修改一處錯(cuò)誤要運(yùn)行一次程序。
第二步、照葫蘆畫瓢
在第一步輸入的C程序的基礎(chǔ)上進(jìn)行試驗(yàn)性的修改,運(yùn)行一下程序看一看程序結(jié)果發(fā)生了什么變化,分析結(jié)果變化的原因,加深新學(xué)知識點(diǎn)的理解。事實(shí)上這和第一步時(shí)同步進(jìn)行的,實(shí)現(xiàn)“輸入”加深知識的記憶,“修改”加深對知識的理解。記憶和理解是相輔相成的,相互促進(jìn)。
例如:將最簡單的Hello World!程序
#include "stdio.h"
int main()
{
printf("Hello World! ");
return 0;
}
中的printf("Hello World! ");中的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 ",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 集成實(shí)驗(yàn)與學(xué)習(xí)環(huán)境》集成的教材中每章都有C語言初學(xué)者易犯的錯(cuò)誤,按照易出錯(cuò)的類型,將教材中的正確的程序改成錯(cuò)誤的程序,運(yùn)行一下程序,看出現(xiàn)的錯(cuò)誤信息提示,并記下錯(cuò)誤信息,再將程序改成正確的,運(yùn)行一下程序。這樣反復(fù)修改,就能夠?qū)W習(xí)C語言程序發(fā)生錯(cuò)誤的原因和修改錯(cuò)誤的能力。
注意:每次只改錯(cuò)一個(gè)地方,目的是顯示發(fā)生該錯(cuò)誤的真正原因,避免一次改動(dòng)多個(gè)地方,搞清發(fā)生錯(cuò)誤的真正原因,切記。。!
注意:上機(jī)調(diào)試程序時(shí)要帶一個(gè)記錄本,記下英文錯(cuò)誤提示信息和解決該錯(cuò)誤問題的方法,積累程序調(diào)試經(jīng)驗(yàn),避免在編程犯同樣的錯(cuò)誤,切記。。!
例如,將Hello World程序中語句printf("Hello World! ");中的;改成中文的'分號;運(yùn)行一下程序,看有什么結(jié)果?
C語言的錯(cuò)誤信息的形式:(下面例子是的Turobo C2.0錯(cuò)誤信息,如圖1)
錯(cuò)誤 文件名 行號 冒號 錯(cuò)誤內(nèi)容
↓ ↓ ↓ ↓ ↓
Error E:WinTcWinTcfrist.c 5 : Function call missing) in function main
C語言的錯(cuò)誤信息的形式:(下面例子是Visual C++6.0 錯(cuò)誤信息,如圖2)
文件名 行號 冒號 錯(cuò)誤代碼 冒號 錯(cuò)誤內(nèi)容
↓ ↓ ↓ ↓ ↓ ↓
e:wintcwintcfrist.c ( 5 ) : error C2143 : syntax error : missing ')' before ';'
軟件集成了高校教學(xué)用的最多的兩個(gè)編譯器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)試程序是一種實(shí)踐性很強(qiáng)的事,光紙上談兵是是沒用的,就像游泳運(yùn)動(dòng)員只聽教練講解示范,而不親自下水練習(xí),是永遠(yuǎn)學(xué)不會(huì)游泳的。 即使在優(yōu)秀的程序員編寫程序也會(huì)犯錯(cuò)誤的,可能事最低級的語法錯(cuò)誤,但他能快速發(fā)現(xiàn)錯(cuò)誤并改正錯(cuò)誤,而我們C語言初學(xué)者面對錯(cuò)誤提示,不知道發(fā)生了什么錯(cuò)誤,如何改正,這就是差別。
第五步、研究典型的C語言程序,提高程序設(shè)計(jì)能力
經(jīng)過上述過程的學(xué)習(xí),我們已經(jīng)學(xué)會(huì)了C語言各種語句的流程(即計(jì)算機(jī)是如何執(zhí)行這些語句的過程),然后就可以研讀別人編寫C語言經(jīng)典程序,看懂別人是如何解決問題的,學(xué)習(xí)解決問題的方法和程序設(shè)計(jì)技巧,提高自己的程序設(shè)計(jì)能力。
在軟件中有50多個(gè)典型的源程序,研究它的實(shí)現(xiàn)方法,提高自己的程序設(shè)計(jì)能力。
第六步、研究課程設(shè)計(jì)源成序,提高C語言程序設(shè)計(jì)的能力。
C語言課程設(shè)計(jì)的目的:是讓學(xué)生綜合利用所學(xué)的C語言知識,解決一些接近實(shí)際問題題目,提高程序設(shè)計(jì)和調(diào)試較大程序的能力,為進(jìn)一步進(jìn)行軟件開發(fā)打下堅(jiān)實(shí)的基礎(chǔ)。
最后送C語言初學(xué)者一句話來共勉:首先要相信自己是有能力學(xué)好C語言的,然后不惜一切代價(jià)把這種能力表現(xiàn)出來,你就成功了。做任何事,何嘗不是這樣呢?興趣是學(xué)習(xí)C語言的最大動(dòng)力,學(xué)習(xí)方法給你指明努力的方向,讓你事半功倍。
【C語言程序設(shè)計(jì)入門學(xué)習(xí)六步曲】相關(guān)文章:
C語言自學(xué)入門技巧09-08
c語言入門經(jīng)典的程序知識08-30
電腦入門:C語言編程時(shí)常犯的那些錯(cuò)誤09-03
電腦編程入門:C語言指針和數(shù)組基礎(chǔ)09-05
c++程序設(shè)計(jì)心得體會(huì)01-13
簡譜學(xué)習(xí)入門知識01-15