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

1.3 編寫第一個C語言程序

根據筆者多年的程序語言教學經驗,對一個語言初學者來說,學習C語言就是趕快讓他“從無到有”,實際設計出一個程序,許多高手都是在積累了許多程序編寫經驗后才變得越來越厲害的。

早期要設計C語言程序時,首先必須找一個文字編輯器來編輯,例如Windows操作系統下的“記事本”,或是Linux操作系統下的vi編輯程序,接著再選一種C語言的編譯器(如Turbo C/C++、MINGW、GCC等)來編譯執行。不過現在不用這么麻煩了,只要找個可將程序的編輯、編譯、執行與調試等功能集于同一操作環境下的集成開發環境(Integrated Development Environment,IDE),就可以輕松完成了。

C語言的目標市場非常龐大,市面上較為知名的IDE有Dev-C++、C++ Builder、Visual C++和GCC等。目前市面上幾乎沒有單純的C語言編譯器,它通常是與C++編譯器兼容,稱為C/C++編譯器。本書使用的是Dev-C++,它不僅方便好用,還免費。

原本的Dev-C++已停止開發,改為發行非官方版。Orwell Dev-C++是一個功能完整的程序編寫IDE和編譯器,也開放源碼,專為C/C++語言設計。在這個環境中,程序員能夠輕松編輯、編譯、調試和執行C語言的各種功能。這套免費且開放源碼的Orwell Dev-C++的安裝包(本書下載的安裝程序是Dev-Cpp 5.11TDM-GCC 4.9.2 Setup.exe),讀者可自行在網上搜索下載。

當安裝包下載完畢后,雙擊該程序就可以啟動安裝。首先會要求選擇語言,此處先選擇“English”,如圖1.3所示。

圖1.3

接著單擊“I Agree”按鈕,如圖1.4所示。

圖1.4

進入圖1.5所示的界面,選擇要安裝的插件,單擊“Next”按鈕。

圖1.5

之后進入選擇安裝路徑界面,單擊“Browse...”按鈕可更換路徑。如果采用默認安裝路徑,則直接單擊“Install”按鈕,如圖1.6所示。

圖1.6

接著開始復制要安裝的文件,如圖1.7所示。

圖1.7

當進入圖1.8所示的界面時,表示安裝成功。

圖1.8

安裝完畢后,在Windows操作系統中的“開始”菜單中執行“Bloodshed Dev C++→Dev-C++”命令或直接雙擊桌面上的Dev-C++圖標,進入主界面。如果你的軟件是英文版,可以執行“Tools→Environment Options”命令,并將圖1.9所示界面中的“Language”設定為“簡體中文/Chinese”。

圖1.9

更改完畢后,就會出現簡體中文的界面,如圖1.10所示。

圖1.10

在計算機中安裝好Dev C++后,就可以在工作界面中執行操作,并且會出現圖1.11所示的工作界面。

圖1.11

1.3.1 編寫程序

從編寫一個C語言程序到讓計算機運行出結果,一共要經過“編輯”“編譯”“鏈接”“載入”“執行”5個階段。看起來有點麻煩,實際上卻很簡單,因為這些階段都可以在Dev C++中進行,只需要進行簡單的操作就行了。

程序代碼的內容必須根據想要得到的結果進行編寫,因為現在讀者可能對C語言的語法不夠了解,所以我們就寫個簡單的程序,執行結果是在屏幕上顯示一行字。在菜單欄中執行“文件→新建→源代碼”命令創建一個新的源碼文件,如圖1.12所示。

圖1.12

接著在Dev C++的程序代碼編輯區中輸入如下程序代碼。

01  #include <stdio.h>
02  #include <stdlib.h>
03
04  int main(void)
05  {
06
07  printf("我的第一個C語言程序!");/*調用printf()函數 */
08
09  return 0;
10 }

Dev C++擁有視覺化的窗口編輯環境,而且還會將程序代碼中的字符串(藍色)、語句(黑色)與注釋(深藍色)標示成不同顏色,如圖1.13所示。在此要提醒大家,C語言程序代碼的輸入有如下兩點注意事項。

1. C語言程序語句有大小寫的區分,每行語句以“;”作為結尾,中間的空白字符、Tab鍵操作、換行操作都算是一種“白色空白”,也就是一個語句可以拆成好幾行,或可將好幾個語句放在同一行。

2. 每行代碼之前的行號只是為了方便解說,編寫代碼時不要輸入。

圖1.13

1.3.2 程序代碼的編譯

接下來執行編譯過程。單擊工具欄中的“編譯”按鈕0或執行“運行→編譯”命令,如果編譯成功,程序就會在“編譯日志”中顯示出最后的編譯結果,如圖1.14所示。

圖1.14

這個編譯階段其實包括了“編譯”和“鏈接”兩個步驟,如果沒有語法錯誤,編譯器就會把編譯結果存成一個目標文件。這個目標文件再經由鏈接程序鏈接到其他目標文件和函數庫,形成可執行文件。因為在Dev C++中默認使用完這個目標文件后會將其刪除,所以一般是看不到這個文件的。

Tips

目標文件其實是一種二進制文件,此文件的擴展名為“.obj”,也就是使用者開發的原始程序代碼在經過編譯器編譯后所產生的機器碼。

目標文件和可執行文件中雖然都是機器碼,但是目標文件里的機器碼只是使用者所撰寫的原始程序內容,而執行文件中的機器碼還包括函數庫中所用到的函數碼。

1.3.3 程序代碼的執行

可執行文件的擴展名在Windows操作系統下是“.exe”,當C語言程序成了可執行文件后,就可直接在操作系統中執行,不再需要依靠Dev C++環境。

Tips

任何程序執行前都必須載入存儲器中,而“載入程序”會將可執行文件與相關的函數庫元件從硬盤載入存儲器中,以準備執行。

接下來執行“運行→執行”命令或單擊“執行”按鈕0,將會看到圖1.15所示的執行結果,此時按下任意鍵都會回到Dev C++的編輯環境。

圖1.15

1.3.4 程序代碼的調試

由于這個是范例程序,因此不會出現錯誤信息。如果出現錯誤信息,也千萬不要大驚小怪。因為寫完一個程序,出現錯誤是很正常的。調試是進行程序設計時必做的工作。錯誤通常可以分為語法錯誤與邏輯錯誤兩種。

語法錯誤是設計者未依照程序語言的語法與格式編寫,造成編譯器在編譯時產生錯誤。大家可以發現Dev-C++在編譯時會自動檢錯,并提供了視覺化的檢錯功能,會直接在下方呈現出錯誤信息,以便大家知道錯誤所在。對于語法錯誤只需加以改正,再重新編譯即可,如圖1.16所示。

圖1.16

如果是邏輯錯誤,那就比較麻煩了,常見的情況是執行結果與預期的結果不符合。因為程序代碼完全符合語法,所以Dev C++也沒有辦法直接顯示錯誤所在,這就很考驗程序設計者的功力了,通常是讓程序一步一步地執行,抽絲剝繭地找出問題所在。

主站蜘蛛池模板: 洮南市| 昌吉市| 犍为县| 来宾市| 洮南市| 汝阳县| 吉隆县| 曲松县| 沙河市| 右玉县| 海淀区| 晋江市| 靖江市| 长垣县| 于都县| 蕉岭县| 鄢陵县| 莒南县| 长汀县| 平顺县| 定襄县| 宁陕县| 武强县| 大庆市| 皮山县| 大理市| 甘孜县| 福建省| 杂多县| 洛扎县| 城口县| 郸城县| 伊宁县| 乐陵市| 黔西| 白河县| 漳州市| 宜宾市| 芒康县| 茌平县| 忻城县|