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