版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第一章C語言概述§1.1程序、程序設(shè)計和算法§1.2C程序的構(gòu)成§1.3C程序的上機步驟§1.1程序、程序設(shè)計和算法一、什么是程序1.程序的定義可以連續(xù)執(zhí)行的一條條指令的集合。程序就是人與機器進行對話的語言,即程序設(shè)計語言。2.程序設(shè)計語言(1)機器語言:由0和1二進制代碼構(gòu)成指令和數(shù)據(jù),可以被計算機直接識別和處理,這種語言編制的程序面向機器,執(zhí)行速度,但編程困難,周期長,程序員記憶困難。(2)匯編語言:用助記符來代替二進制代碼,編程較機器語言簡單,程序需經(jīng)過匯編才能被機器執(zhí)行,它實質(zhì)上也是面向機器的語言,直接處理所有硬件,是各種語言中最快又最有效的語言;容易理解、記憶。(3)高級語言:用接近人們習(xí)慣的自然語言和數(shù)學(xué)語言作為語言的表達形式,獨立于機器,編程容易但源程序需經(jīng)過翻譯,變成機器代碼才可被機器執(zhí)行,因此執(zhí)行速度較前兩種要慢。FORTRANFORTRAN77FORTRAN90BASICANSI-BASICQBASICVISUAL-BASICDELPHIPASCALALGOLALGOL68SIMULA67SMALLTALKC++JAVAC#BCPLBC二、C程序C程序的實現(xiàn)是通過軟件開發(fā)工具進行的,目前可以用VisualC++6.0或TurboC。所有語言源程序的實現(xiàn)都必須經(jīng)歷下面四個步驟:
1.編輯
3.連接4.運行2.翻譯1.編輯是根據(jù)計算機語言的語法規(guī)則將算法與相應(yīng)的數(shù)據(jù)輸入到計算機中形成含原始代碼的文本文件的過程。該文件稱為源程序文件,擴展名為.c。通常C源程序的文件為兩部分:接口文件也稱為頭文件)和實現(xiàn)文件(或源文件),頭文件的標(biāo)準擴展名為.h,實現(xiàn)文件的標(biāo)準擴展名為.c,系統(tǒng)最終將頭文件插入到實現(xiàn)文件中即源文件.c中。文本是指由字母、數(shù)字、符號等組成的明白可讀的字符信息,文本編譯器可以用來建立、輸入或修改文本。2.翻譯高級語言的翻譯程序有兩種方式:一種是編譯型的程序,另一種是解釋型的程序。低級的匯編語言翻譯程序?qū)?yīng)一個匯編程序,匯編程序直接將匯編語言轉(zhuǎn)換成機器語言,然后加工處理成目標(biāo)代碼,轉(zhuǎn)換的中間環(huán)節(jié)最少。編譯型的翻譯方式為先把高級語言翻譯匯編語言然后再將匯編語言翻譯成機器語言。如FORTRAN、C和C++是編譯型的程序。解釋型的翻譯方式是直接把高級語言在機器上運行,一邊解釋一邊執(zhí)行,如BASIC和JAVA是解釋型的程序。編譯型方式的優(yōu)點是運行效率快、執(zhí)行時間短;解釋型的長處是占用內(nèi)存少。3.連接連接過程是由連接程序進行的。連接程序用來把編譯階段分別編譯產(chǎn)生的目標(biāo)文件、系統(tǒng)原先提供的庫文件或其它中間列表信息文件或二進制資源文件等連接在一起,形成一個整體運行的擴展名為.exe的執(zhí)行程序。
連接過程可以進一步發(fā)現(xiàn)在編譯階段未能捕獲的錯誤,如某個函數(shù)模塊的遺漏,標(biāo)識符的重復(fù)定義等。4.加載運行加載運行就是將執(zhí)行程序從外存如硬盤或光盤中的機器指令轉(zhuǎn)送到內(nèi)存,以便機器執(zhí)行,程序在執(zhí)行之前必須先裝入內(nèi)存。三、算法數(shù)據(jù)結(jié)構(gòu)+算法=程序1.算法的概念為解決一個問題而采取的方法和步驟。2.算法的分類(1)數(shù)值運算算法:求數(shù)值解,用于科學(xué)計算(2)非數(shù)值運算算法:用于事務(wù)管理領(lǐng)域3.算法的特性(1)確定性算法的每一步運算都必須有確切的定義,即每種運算所執(zhí)行的操作都必須是確定的、無二義性的。(2)有窮性一個算法必須在執(zhí)行了有窮的步驟之后結(jié)束。(3)有效性算法中的每一個步驟都應(yīng)當(dāng)能有效地執(zhí)行,并得到確定的結(jié)果。(4)有零個或多個輸入一個算法可以有0個或0個以上的輸入,可提供算法操作的數(shù)據(jù)。(5)有一個或多個輸出一個算法總能產(chǎn)生一個或多個輸出,即算法的計算結(jié)果;沒有輸出的算法是沒有意義的。4.算法的描述(1)自然語言描述法討論:求三個數(shù)的最大值問題通俗易懂,但文字冗長,容易出現(xiàn)“歧義性”。這種表示法往往不太嚴格,要根據(jù)上下文才能判斷正確含義。(2)用偽代碼表示偽代碼是介于自然語言和計算機語言之間的文字和符號,用其描述算法時,每行表示一個基本操作,不用圖形符號,書寫方便,格式緊湊,比較好懂。ifa>bthen把a交給maxelse把b交給maxifmax>cthen輸出最大值maxelse輸出最大值c(3)用流程圖表示直觀形象,易于理解,有傳統(tǒng)流程圖和N-S流程圖兩種形式。N-S流程圖:在一個矩形框內(nèi)完成算法的流程
說明。傳統(tǒng)流程圖:用一些不同的圖例來表示算法
的流程。
(4)用計算機語言表示計算機執(zhí)行的算法,必須遵循所用語言的語法規(guī)則。四、程序設(shè)計1.程序設(shè)計的步驟(1)確定數(shù)據(jù)結(jié)構(gòu):存放數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)(2)確定算法:針對數(shù)據(jù)結(jié)構(gòu)來確定解決問題的步驟(3)編碼:寫出程序代碼(4)調(diào)試程序:反復(fù)調(diào)試,得出正確結(jié)果。(5)整理資料2.程序設(shè)計方法(1)結(jié)構(gòu)化程序設(shè)計方法也稱為面向過程的程序設(shè)計POP(procedure-orientedprogramming),其特點是基于功能分析,以算法為中心。
結(jié)構(gòu)化程序設(shè)計的基本方法是:在設(shè)計程序時,本著從上到下、逐步求精的原則,將一個大的原始問題分解為多個可獨立進行編程的小問題(即小模塊),如果某個模塊還未精細到能直接進行編程的程度,則繼續(xù)對它進行分解,直至能直接編程為止。每個模塊只有一個入口和一個出口,這樣不管編多大的程序,不管有多少人參加編寫,都可以把他們的模塊很自然地連接起來。有三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。順序結(jié)構(gòu)是指語句的執(zhí)行順序和它在程序中出現(xiàn)的次序是一致的,即一條語句執(zhí)行完后緊接著執(zhí)行它下面的那條語句。選擇結(jié)構(gòu)是根據(jù)一定的條件,把語句分成不同的分支,程序只執(zhí)行其中一個分支,而不執(zhí)行其他分支。循環(huán)結(jié)構(gòu)是根據(jù)一定的條件,對某些語句重復(fù)執(zhí)行。被重復(fù)執(zhí)行的語句稱為循環(huán)體。重復(fù)執(zhí)行的次數(shù)可以預(yù)指定,也可以不指定,而由循環(huán)體中的變化所決定。順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)(2)面向?qū)ο蟪绦蛟O(shè)計方法基于結(jié)構(gòu)分析,以數(shù)據(jù)為中心?!?.2C程序的構(gòu)成一、簡單例子1.打印一行文本#include<stdio.h>main(){printf(″WelcometoC!\n″);return0;}2.求兩個整數(shù)的和#include<stdio.h>main(){intint1,int2,sum;printf(″Inputaninteger\n″);scanf(“%d″,&int1);printf(″Inputanotherinteger\n″);scanf(“%d″,&int2);
sum=int1+int2;printf(″sum=%d\n″,sum);}二、C程序的特點1.C程序是由函數(shù)構(gòu)成的函數(shù)是C程序的基本單位,一個C源程序至少包含一個函數(shù)main,也可以包含一個主函數(shù)和若干個其它函數(shù)。函數(shù)可以是系統(tǒng)函數(shù)也可以是用戶自己編制的函數(shù)。2.一個函數(shù)由兩部分組成(1)函數(shù)的說明部分(函數(shù)首部):包含函數(shù)名、函數(shù)類型、函數(shù)參數(shù)名、參數(shù)類型。(2)函數(shù)體 一對{}中的內(nèi)容,包含定義部分(定義所用到的變量)和執(zhí)行部分(由若干語句組成)。執(zhí)行部分必須放在定義部分之后。3.一個C程序總是從main()函數(shù)開始執(zhí)行,不論main函數(shù)在整個程序中的位置如何。4.C程序書寫格式自由,一行內(nèi)可以寫幾個語句,一個語句也可以寫在多行上。5.每個定義語句和執(zhí)行語句的最后必須有一個分號,分號是C語句的必要組成部分。
6.在程序中可以用/*……*/進行注釋,對程序加以說明。7.程序中的最前面,以“#”開頭的行,稱為編譯預(yù)處理命令行。所謂編譯預(yù)處理就是在C編譯程序?qū)源程序進行編譯前,由編譯預(yù)處理程序?qū)@些編譯預(yù)處理命令行進行處理的過程?!?.3C程序的上機步驟一、啟動TURBOC只需執(zhí)行TC.EXE文件,即可啟動TURBOC進入TURBOC的操作界面。二、窗口組成TURBOC主操作界面由主菜單區(qū)、編輯窗口、信息窗口、熱鍵區(qū)四部分組成。
1.菜單TURBOC的操作采用菜單驅(qū)動,主菜單包括File(文件操作)、Edit(編輯操作)、Run(運行操作)、Compile(編譯操作)、Project(工程文件)、Options(編譯選擇)及Debug(跟蹤排錯)各項。2.熱鍵熱鍵區(qū)提供常用操作的快速功能鍵方式,如F1(幫助)、F2(保存文件)、F3(裝入文件)、F5(縮放窗口)、F6(切換窗口)、ALT+F5(用戶屏幕)、ALT+X(退出TURBOC)等。
3.主窗口當(dāng)前操作窗口為主窗口(工作窗口),主窗口為雙線框表示,按F6可切換主窗口,按F5可縮放主窗口。4菜單選擇方式一:按F10進入主菜單區(qū),通過菜單項的大寫字母選擇相應(yīng)菜單項,或通過光標(biāo)控制鍵(→、←、↑、↓)移動高亮度光棒至相應(yīng)菜單項,按回車選擇相應(yīng)菜單項。方式二:用熱鍵ALT加相應(yīng)菜單項的大寫字母,選擇相應(yīng)菜單項。對子菜單項的選擇,操作方法類似。三、編輯編輯在編輯窗口中進行,有多種方式進入編輯環(huán)境:方式一:選擇Edit項。方式二:選擇File項的子項New,用于編輯新程序。方式三:選擇File項的子項Load,裝入要修改的程序,用于修改程序。方式四:啟動時采用快速啟動方式。
四、編譯TURBOC將編譯、連接一道完成。按熱鍵F9或選擇Compile項進入編譯。編譯時發(fā)生錯誤,返回編輯步驟,修改程序后,再編譯程序。五、運行按
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年北京市平谷初三一模道德與法治試卷及答案
- 社區(qū)工作者試用期工作總結(jié)
- 《成功銷售方程式》課件
- 賓館定制家具合同范例
- 國際貿(mào)易合同范例
- 各科教師思想工作總結(jié)-
- 農(nóng)村房屋轉(zhuǎn)賣合同范例
- 上海簡易租房合同范例
- 工廠生產(chǎn)手套合同范例
- 工程窗戶安裝合同范例
- 2024年公路標(biāo)識安裝合同
- (北師大版)2024-2025學(xué)年九年級數(shù)學(xué)上學(xué)期期中測試卷
- 印刷排版崗位招聘筆試題與參考答案(某大型央企)2025年
- 【餐飲店鋪管理系統(tǒng)設(shè)計與實現(xiàn)(論文)15000字】
- 2.1充分發(fā)揮市場在資源配置中的決定性作用(課件) 2024-2025學(xué)年高中政治 必修2 經(jīng)濟與社會
- 中小學(xué)-珍愛生命 遠離毒品-課件
- 2024年秋季新人教PEP版3年級上冊英語全冊課件(新版教材)
- (正式版)HGT 22820-2024 化工安全儀表系統(tǒng)工程設(shè)計規(guī)范
- 綜合實踐活動課《早餐與健康》優(yōu)質(zhì)課件
- 《中華民族共同體概論》考試復(fù)習(xí)題庫(含答案)
- 2022-2023學(xué)年武漢市江岸區(qū)七年級英語上學(xué)期期中質(zhì)量檢測卷附答案
評論
0/150
提交評論