官术网_书友最值得收藏!

1.2 典型例題分析

1.2.1 例題解析

【例1.1】組成C程序的基本單位是( )。

A. 表達式與語句

B. 若干文件

C. 函數

D. main函數

解:C語言是結構化程序設計語言。C程序由一個或多個文件組成,而一個文件可由一個或多個函數組成。函數是組成C程序的基本單位,函數由語句構成,C程序的執行總是從main函數開始。答案為C。

【例1.2】C程序中能直接讓機器執行的文件是( )。

A. 編輯后的.c源文件

B. 通過編譯的.obj文件

C. 通過連接的.exe文件

D. 正在編輯的源文件存盤為.exe的文件

解:C語言源程序擴展名為.c或.cpp,為文本文件,機器不能直接執行。源程序經過編譯后生成.obj的二進制文件,再由連接程序把.obj文件與C語言提供的各種庫函數連接起來生成一個.exe文件,它是可執行文件,機器可以直接執行。可執行文件是通過編譯和連接生成的,并非是通過改變擴展名而得到的。答案為C。

【例1.3】下面每組3個標識符,可以用作C語言用戶標識符的一組是( )。

A. void word FOR

B. al_b1_1231F

C. Case ?abc xyz

D. case5 Liti 2ab

解:此題測試C語言的標識符規則。C語言的標識符命名規則:可以是單個字母,也可以由字母、數字和下畫線組成,但必須是以字母或下畫線開頭,用戶標識符不能是C語言的關鍵字。選項A中void是C語言的關鍵字不可用,選項C中第二個選項有減號不可用,選項D中第三個選項以數字開頭不可用。答案為B。

【例1.4】下列選項中,不是C語言提供的合法關鍵字的是( )。

A. switch

B. default

C. Case

D. if

解:此題測試C語言的關鍵字。C語言的關鍵字都用小寫英文字母表示。答案為C。

【例1.5】在下面程序中,出現錯誤的個數是( )。

main
{ int a;b;
   a=10;
   b= a+50;
   print("%d, %d\n", A , B);

A. 2

C. 4

B. 3

D. 5

解:程序中存在5個錯誤:①主函數名后面的括號沒寫;②聲明語句int a;b;中的兩個變量之間應該用逗號隔開;③輸出函數print書寫錯誤,應該改為printf;④輸出變量的值時,把變量a和b寫成了大寫字母A和B,C語言是區分字母大小寫的;⑤函數體沒有右花括號,使函數不完整。答案為D。

1.2.2 常見錯誤

一般情況下,一個程序很少能夠一次性地運行通過。作為一名程序設計初學者,你會發現錯誤總是常常出現,你需要認識到:改正錯誤的過程即是進行調試的過程。

當編譯系統檢測到一個錯誤時,就會顯示一條出錯信息,用來表示程序有錯以及可能的錯誤原因。對于初學者,這些出錯信息有時很難被理解甚至使人誤解。但隨著實踐經驗的積累,大家將慢慢地成為查錯并糾正錯誤的高手。

下面介紹常見的3種類型的錯誤:語法錯誤、運行錯誤和邏輯錯誤。

1. 語法錯誤

語法錯誤是指在編寫程序時,使用了違反C語言語法規則的內容,編譯系統在編譯源程序時,會發現這種類型的錯誤。若程序源代碼含有語法錯誤,就不能被正確地編譯生成可執行文件,程序也就不能運行。常見的錯誤包括:沒有定義變量就直接使用變量,語句后面缺少“;”等。

需要注意的是,在程序編譯時,程序中的一處錯誤可能會導致多條錯誤信息出現。建議的糾錯過程是首先集中修改聲明語句中的錯誤,然后在修改其他錯誤之前,重新編譯程序。在程序編譯過程中,常常會出現這樣的情況:一旦聲明語句修改正確了,其他很多錯誤信息也就會隨之消失。

2. 運行錯誤

運行錯誤是指在程序運行期間發生了超出程序允許程度的故障,使程序無法正常運行。例如當程序執行非法操作“3/0”時,就會發生這種類型的錯誤。出現這類錯誤時,計算機將會停止程序的運行,并顯示診斷信息,標明錯誤所在的行。

3. 邏輯錯誤

邏輯錯誤通常表現為程序可正常運行,但運行結果是錯誤的。一般是當程序的算法出現錯誤時會產生邏輯錯誤。此類錯誤通常不會發生運行阻礙,也不會顯示出錯信息,因此很難檢測。只有通過對程序的全面調試,將程序輸入與計算結果進行比較,才有可能找到邏輯錯誤。

主站蜘蛛池模板: 承德市| 康马县| 通海县| 儋州市| 平定县| 通州市| 永嘉县| 嘉兴市| 巨鹿县| 永寿县| 黔江区| 利津县| 新安县| 苏尼特左旗| 平和县| 塘沽区| 荣成市| 理塘县| 鄢陵县| 娱乐| 雷波县| 包头市| 丹棱县| 绥滨县| 宁陕县| 阿拉善盟| 乐东| 广饶县| 丹寨县| 陈巴尔虎旗| 南川市| 邓州市| 鄯善县| 陈巴尔虎旗| 新乡县| 红安县| 皮山县| 井陉县| 汾西县| 镇赉县| 梧州市|