ErrorTEST.C6:Statementmissing;
這條信息告訴我們,程序的第6行出現錯誤,錯誤是少了一個“;”,因為C語句結束後要有分號。對於初學者來說,對於編譯後出現的信息,可能會感到無從下手,但實際上每條信息都會告訴編程者出現錯誤的地方和錯誤的原因,隻要不斷地進行經驗的積累,應對這些編譯中出現的問題就不再是難事。
當程序通過了語法檢查、編譯生成執行文件後,就可以運行該程序了。那運行程序時,是否就一定能得到我們所需要的結果呢?比如在例26的源程序中,如果把a=n%10改為a=n/10,該程序依然能通過語法檢查,但運行結果卻不是我們想要的。這就說明了編譯這個過程一般隻能檢查語法(是否符合C語言的書寫規則)錯誤,而不能檢查語義(程序的邏輯功能)錯誤。如果程序有語義錯誤就需要不斷地對程序進行調試,即在程序中尋找和調試錯誤。
根據以上的分析,我們對例26的源程序進行編譯(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.改寫例26源程序中求a,b,c的表達式,使得程序的功能保持不變。
4.編寫一個C程序,輸出以下信息:
****************************
ThisisaCProgram
****************************
5.已知圓半徑r=15,編寫一程序求圓周長和圓麵積。