1.1 程序和程序設(shè)計
1.1.1 C程序
計算機現(xiàn)已廣泛應(yīng)用于社會生活的各個領(lǐng)域,成為大眾化的現(xiàn)代工具。但是,不熟悉計算機的人仍然把它想象得十分神秘。其實,計算機不過是一種具有內(nèi)部存儲能力、由程序自動控制的電子設(shè)備。人們將需要計算機做的工作寫成一定形式的指令,并把它們存儲在計算機內(nèi)部的存儲器中,當人們給出命令之后,它就按指令順序自動進行操作。人們把這種可以連續(xù)執(zhí)行的一條條指令的集合稱為“程序”。可以說,程序就是人與機器“對話”的語言,也就是我們常說的“程序設(shè)計語言”。
目前,在社會上使用的程序設(shè)計語言有上百種,它們中的大多數(shù)被稱為計算機的“高級語言”,如Visual Basic、C++、Java以及本書將要介紹的C語言等。這些語言都是用接近人們習(xí)慣的自然語言和數(shù)學(xué)語言作為表達形式,使人們學(xué)習(xí)和操作起來感到十分方便。
但是,對于計算機本身來說,它并不能直接識別由高級語言編寫的程序。它只能接受和處理由O和1的代碼構(gòu)成的二進制指令或數(shù)據(jù)。由于這種形式的指令是面向機器的,因此也被稱為“機器語言”。
我們把由高級語言編寫的程序稱為“源程序”,把由二進制代碼表示的程序稱為“目標程序”。為了把源程序轉(zhuǎn)換成機器能接受的目標程序,軟件工作者編制了一系列軟件,通過這些軟件可以把用戶按規(guī)定語法寫出的語句一一翻譯成二進制的機器指令。這種具有翻譯功能的軟件稱為“編譯程序”,每種高級語言都有與它對應(yīng)的編譯程序。例如,C語言編譯程序就是這樣的一種軟件,其功能如圖1.1所示。
我們所寫的每條C語句,經(jīng)過編譯(Compile)最終都將轉(zhuǎn)換成二進制的機器指令。由C語言構(gòu)成的指令序列稱為C源程序;按C語言的語法編寫C程序的過程,稱為C語言的代碼編寫。
C源程序經(jīng)過C編譯程序編譯之后生成一個后級為.OBJ的二進制文件(稱為目標文件),然后由稱為“連接程序”(Link)的軟件,把此.OBJ文件與C語言提供的各種庫函數(shù)連接起來生成一個后綴為.EXE的可執(zhí)行文件。在操作系統(tǒng)環(huán)境下,只需點擊或輸入此文件的名字(而不必輸入后綴.EXE),該可執(zhí)行文件就可運行。
1.1.2 程序設(shè)計
簡單的程序設(shè)計一般包含以下幾個部分。
1.確定數(shù)據(jù)結(jié)構(gòu)。根據(jù)任務(wù)書提出的要求、指定的輸入數(shù)據(jù)和輸出結(jié)果,確定存放數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。
2.確定算法。針對存放數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)來確定解決問題、完成任務(wù)的步驟。有關(guān)算法的概念將在下一節(jié)中介紹。
3.編碼。根據(jù)確定的數(shù)據(jù)結(jié)構(gòu)和算法,使用選定的計算機語言編寫程序代碼,輸入到計算機并保存在磁盤上,簡稱編程。
4.在計算機上調(diào)試程序。消除由于疏忽而引起的語法錯誤或邏輯錯誤;用各種可能的輸入數(shù)據(jù)對程序進行測試,使之對各種合理的數(shù)據(jù)都能得到正確的結(jié)果,對不合理的數(shù)據(jù)能進行適當?shù)奶幚怼?/P>
5.整理并寫出文檔資料。
編輯推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |