正文 第7章 問題分析與算法描述(2 / 2)

ErrorTEST.C6:Statementmissing;

這條信息告訴我們,程序的第6行出現錯誤,錯誤是少了一個“;”,因為C語句結束後要有分號。對於初學者來說,對於編譯後出現的信息,可能會感到無從下手,但實際上每條信息都會告訴編程者出現錯誤的地方和錯誤的原因,隻要不斷地進行經驗的積累,應對這些編譯中出現的問題就不再是難事。

當程序通過了語法檢查、編譯生成執行文件後,就可以運行該程序了。那運行程序時,是否就一定能得到我們所需要的結果呢?比如在例26的源程序中,如果把a=n%10改為a=n/10,該程序依然能通過語法檢查,但運行結果卻不是我們想要的。這就說明了編譯這個過程一般隻能檢查語法(是否符合C語言的書寫規則)錯誤,而不能檢查語義(程序的邏輯功能)錯誤。如果程序有語義錯誤就需要不斷地對程序進行調試,即在程序中尋找和調試錯誤。

根據以上的分析,我們對例26的源程序進行編譯(Alt+F9),沒有發現語法錯誤,然後開始運行程序(Crtl+F9),此時等待用戶輸入一個三位數(如265),按下回車鍵後回到編輯環境下,用戶便可以查看程序的運行結果(Alt+F5)。具體結果如下:

pleaseinputaintegernumber(100~999):265

265:5-6-2

當然這隻是一組測試數據,用戶在調試一個程序時,經常要輸入多組數據來驗證程序的正確性,防止程序出現漏洞。

經過上述詳細介紹,我們掌握了編寫一個C語言程序的基本步驟:問題分析與算法描述、程序的編輯、程序的編譯與運行,這三個步驟都非常關鍵,缺一不可。對於初學者來說,麵對需求解的問題時不要急於編寫程序,一定要冷靜地對問題進行分析,找到了解決問題的方法後,再按照C語言程序的組成結構,一步一步地完善程序。麵對編譯時出現的語法錯誤,也要細致地一個一個地進行修改,麵對語義錯誤時,也要不斷地進行調試。調試是一個需要耐心和經驗的工作,也是程序設計的基本技能。

習題二

1.分析程序,預測其運行結果,並上機檢驗。

#include

voidmain()

printf("*\n");

printf("***\n");

printf("*****\n");

printf("*******\n");

2.通過下麵的程序用來求三個整數的平均值,請預測其運行結果,並上機檢驗。

voidmain()

inta,b,c,sum,average;

a=13;

b=57;

c=34;

sum=a+b+c;

average=sum/3;

printf("average=%d\n",average);

3.改寫例26源程序中求a,b,c的表達式,使得程序的功能保持不變。

4.編寫一個C程序,輸出以下信息:

****************************

ThisisaCProgram

****************************

5.已知圓半徑r=15,編寫一程序求圓周長和圓麵積。