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