版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第1章程序設(shè)計基本概念C
語言程序設(shè)計1本章主要內(nèi)容程序和程序設(shè)計算法結(jié)構(gòu)化程序設(shè)計和模塊化結(jié)構(gòu)21.1.1
C程序幾個概念程序
高級語言機(jī)器語言3例如:00100011111011010110000101110110機(jī)器語言程序MOVAX,
300HADDBX,AXMOV[2100H],BX
HLT匯編語言源程序main(){inta,b,c;a=300;b=18;c=a+b;
printf(“a+b=%d\n”,c);}高級語言源程序(C)源程序需要翻譯4C語言的編譯:編譯方法圖1.2編譯過程(.C或.cpp)編譯程序連接程序編譯連接C源程序機(jī)器語言目標(biāo)程序可執(zhí)行程序(.OBJ)(.EXE)運行運行結(jié)果52.程序設(shè)計用計算機(jī)解決一個實際應(yīng)用問題時的整個處理過程稱為程序設(shè)計
提出問題確定數(shù)據(jù)結(jié)構(gòu)確定算法編寫程序調(diào)試和運行程序輸入程序翻譯(編譯或解釋)得到運行結(jié)果61.1.2算法什么是算法為解決某一應(yīng)用問題而采用的解題步驟算法的描述方式
用自然語言描述算法
用流程圖描述算法
用N-S結(jié)構(gòu)圖描述算法
例如:輸出兩個數(shù)中的最大數(shù)7用自然語言描述算法第一步:輸入x和y的值第二步:比較x和y的值,如果x大于y,則輸出x的值,否則輸出y的值。
易于理解,但冗長,不夠精確,難于描述復(fù)雜算法。例如當(dāng)描述“輸出10個數(shù)中最大數(shù)”的算法時,會冗長、難于理解8圖1.5用流程圖描述算法用流程圖描述算法NYz=yz=xx>y?開始輸入x和y結(jié)束輸出z起止框輸入/輸出框判斷框處理框流程線9用N-S結(jié)構(gòu)圖描述算法輸入x、y的值x>yTFz=xz=y輸出z的值圖1.7用N-S結(jié)構(gòu)圖描述的算法已經(jīng)證明,任何復(fù)雜的問題都可以三種基本算法結(jié)構(gòu)來描述:順序、選擇、循環(huán)。因此用計算機(jī)語句描述的程序也包含三種基本結(jié)構(gòu)。
101.1.3結(jié)構(gòu)化程序設(shè)計程序的三種基本結(jié)構(gòu)順序結(jié)構(gòu)程序:按照書寫順序依次執(zhí)行語句選擇結(jié)構(gòu)程序:按照條件判斷選擇執(zhí)行語句循環(huán)結(jié)構(gòu)程序:通過條件控制循環(huán)執(zhí)行語句三種基本結(jié)構(gòu)的共同點:都是只有一個入口和一個出口;結(jié)構(gòu)內(nèi)的每一個框都有機(jī)會被執(zhí)行;結(jié)構(gòu)內(nèi)沒有死循環(huán)。11結(jié)構(gòu)化程序設(shè)計的基本原則:如果一個程序僅包含這三種基本結(jié)構(gòu)(由這些基本結(jié)構(gòu)順序組成),則稱為結(jié)構(gòu)化程序。結(jié)構(gòu)化程序設(shè)計的基本原則:采用自頂向下、逐步細(xì)化的方法進(jìn)行設(shè)計;采用模塊化原則和方法進(jìn)行設(shè)計。即將大型任務(wù)從上向下劃分為多個功能模塊,每個模塊又可以劃分為若干子模塊,然后分別進(jìn)行模塊程序的編寫;每個模塊都是用結(jié)構(gòu)化程序?qū)崿F(xiàn),即都只能由三種基本結(jié)構(gòu)組成,并通過計算機(jī)語言的結(jié)構(gòu)化語句實現(xiàn)。121.2C語言概述主要內(nèi)容:C語言的發(fā)展C語言的特點C程序的基本結(jié)構(gòu)C程序的執(zhí)行過程131.2.1C語言的發(fā)展發(fā)展過程
B語言:Bell實驗室,1970年在PDP機(jī)器上用其編寫UNIX系統(tǒng)CPL語言:劍橋大學(xué),1963年BCPL語言:劍橋大學(xué),1967年C語言:Bell實驗室,1972~1973年用其改寫UNIX系統(tǒng)經(jīng)簡化進(jìn)一步簡化保持精練、接近硬件的優(yōu)點,克服數(shù)據(jù)類型過少的不足141.2.2C語言的特點語言簡潔,表達(dá)能力強(qiáng),易于理解只有32個關(guān)鍵字,9種控制語句數(shù)據(jù)構(gòu)造能力強(qiáng)運算符豐富程序書寫格式自由可直接訪問物理地址,實現(xiàn)對硬件和低層系統(tǒng)軟件的訪問語言生成的代碼質(zhì)量高可移植性好增加學(xué)習(xí)難度151.2.3C程序的基本結(jié)構(gòu)【例1.1】計算并輸出一個數(shù)a的平方。
main(){
floata,b;a=5.2;b=a*a;
printf("b=%f\n",b);
}
main
為函數(shù)名程序從這里開始運行函數(shù)體開始函數(shù)體結(jié)束函數(shù)體內(nèi)定義a,b為a賦值計算并輸出平方值b執(zhí)行程序的輸出結(jié)果為:b=27.039997
161.2.3C程序的基本結(jié)構(gòu)【例1.2】輸入兩個數(shù),輸出其中的大數(shù)。int
max(intx,inty)
/*max函數(shù)*/{
intz;if(x>y)z=x;elsez=y;return(z);}main()
/*主函數(shù)*/{inta,b,c;
scanf("%d,%d",&a,&b);c=max(a,b);/*調(diào)用max函數(shù),求a和b中大數(shù)*/
printf("max=%d\n",c);}17C程序結(jié)構(gòu)C程序由函數(shù)構(gòu)成必須有,且只能有一個main(主函數(shù))總是從main函數(shù)開始執(zhí)行函數(shù)由函數(shù)首部和函數(shù)體組成函數(shù)首部指定函數(shù)名、函數(shù)參數(shù)、類型函數(shù)體從{開始,到}結(jié)束函數(shù)內(nèi)有語句18C程序結(jié)構(gòu)(續(xù))語句包括說明性語句、可執(zhí)行語句以;表示語句結(jié)束注釋可以出現(xiàn)在程序的任何位置
用/*和*/括起來,必須成對出現(xiàn)書寫格式C語言沒有行的概念,書寫格式自由。習(xí)慣小寫字母,縮進(jìn)格式。191.2.4C程序的執(zhí)行過程
1.源程序文件的建立和編輯
編寫源程序,形成.C文件需用編輯工具:tc.exe、記事本2.編譯
編譯源程序,形成目標(biāo)程序.Obj文件需用編譯工具:tcc.exe3.連接
連接OBJ文件和調(diào)用的庫函數(shù),形成運行程序
.exe
文件需用連接工具:tlink.exe4.運行
.exe
文件運行jc1_2TurboC提供集成化開發(fā)環(huán)境201.3C程序的符號系統(tǒng)主要內(nèi)容:基本字符標(biāo)識符211.3.1基本字符大寫英文字母:ABC……XYZ
小寫英文字母:abc……xyz
數(shù)字:012……9
空白符:空格符、換行符、制表符
特殊字符:+-*/<>()[]{}_=!#%.,;:‘“|&?$^\~
221.3.2標(biāo)識符
由字母、下劃線和數(shù)字組成的字符序列用于程序中的變量、符號常量、數(shù)組、函數(shù)、數(shù)據(jù)類型等操作對象的名字1.系統(tǒng)定義標(biāo)識符具有固定名字和特定含義的標(biāo)識符分為關(guān)鍵字和預(yù)定義標(biāo)識符
2.用戶定義標(biāo)識符
用于對用戶使用的變量、數(shù)組、函數(shù)等操作對象進(jìn)行命名23關(guān)鍵字
數(shù)據(jù)類型:
int、char、float、double、short、long、void、signed、unsigned、enum、struct、union、const、typedef、volatile
存儲類別:auto、static、register、extern語句命令字:break、case、continue、default、do、else、for、goto、if、return、switch、while
運算符:sizeof
24預(yù)定義標(biāo)識符系統(tǒng)標(biāo)準(zhǔn)庫函數(shù)scanf、printf、putchar、getchar、strcpy、strcmp、sqrt等編譯預(yù)備處理命令include、define等25對標(biāo)識符的規(guī)定
用戶定義標(biāo)識符必須以字母或下劃線“_”開頭不能含有除字母、數(shù)字和下劃線“_”外的其他字符標(biāo)識符中大小寫字母含義不同關(guān)鍵字必須用小寫字母。不允許使用關(guān)鍵字為變量、數(shù)組、函數(shù)等操作對象命名預(yù)定義標(biāo)識符允許用戶對它們重新定義,當(dāng)重新定義后將改變它們原來的含義26正確區(qū)分標(biāo)識符正確區(qū)分哪些是合法標(biāo)識符,哪些是不合法標(biāo)識符。其中合法標(biāo)識符中哪些是關(guān)鍵字,哪些是預(yù)定義標(biāo)識符,哪些是用戶定義標(biāo)識符。Abc
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 急腹癥護(hù)理未來趨勢視頻
- 產(chǎn)科護(hù)理中的健康教育
- 2025年別墅裝修合同
- 2025年白內(nèi)障術(shù)后藥物治療合同協(xié)議
- 2026 年人民幣匯率展望:2026 年人民幣匯率大概率穩(wěn)步升值
- 多模態(tài)交互在視覺設(shè)計中的融合
- 聯(lián)考數(shù)學(xué)推理題庫及答案
- 2026 年中職酒店管理(酒店管理理論)試題及答案
- 會計個人考試題庫及答案
- 辦公設(shè)備回收服務(wù)合同(2025環(huán)??蚣軈f(xié)議)
- 2025年植物標(biāo)本采集合同協(xié)議
- 2025天津市第二批次工會社會工作者招聘41人考試筆試參考題庫及答案解析
- 膽管重復(fù)畸形健康宣教
- 2025秋人教精通版英語小學(xué)五年級上冊知識點及期末測試卷及答案
- 校園反恐防暴2025年培訓(xùn)課件
- 2026年安徽城市管理職業(yè)學(xué)院單招職業(yè)技能測試模擬測試卷附答案
- 2025甘肅省水務(wù)投資集團(tuán)有限公司招聘企業(yè)管理人員筆試備考題庫附答案解析
- 2025山東壹通無人機(jī)系統(tǒng)有限公司暨三航無人系統(tǒng)技術(shù)(煙臺)有限公司社會招聘筆試現(xiàn)場及筆試歷年參考題庫附帶答案詳解
- 2025年秋季學(xué)期國家開放大學(xué)《人文英語4》期末機(jī)考精準(zhǔn)復(fù)習(xí)題庫
- 神經(jīng)內(nèi)科三基考試題庫及答案
- 6秒鐘情商讓你遠(yuǎn)離情緒綁架
評論
0/150
提交評論