C語(yǔ)言-第1章-計(jì)算機(jī)的組成與程序設(shè)計(jì)基礎(chǔ)_第1頁(yè)
C語(yǔ)言-第1章-計(jì)算機(jī)的組成與程序設(shè)計(jì)基礎(chǔ)_第2頁(yè)
C語(yǔ)言-第1章-計(jì)算機(jī)的組成與程序設(shè)計(jì)基礎(chǔ)_第3頁(yè)
C語(yǔ)言-第1章-計(jì)算機(jī)的組成與程序設(shè)計(jì)基礎(chǔ)_第4頁(yè)
C語(yǔ)言-第1章-計(jì)算機(jī)的組成與程序設(shè)計(jì)基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第1章計(jì)算機(jī)的組成與程序設(shè)計(jì)根底1.1計(jì)算機(jī)的組成及根本工作原理一個(gè)完整的計(jì)算機(jī)系統(tǒng)應(yīng)包括兩個(gè)局部,即硬件系統(tǒng)和軟件系統(tǒng):1.2程序設(shè)計(jì)根底知識(shí)計(jì)算機(jī)程序計(jì)算機(jī)程序:為解決特定問(wèn)題而利用計(jì)算機(jī)語(yǔ)言編寫(xiě)的指令序列的集合。程序包含兩局部?jī)?nèi)容:描述待解決問(wèn)題中涉及到的對(duì)象或數(shù)據(jù)—數(shù)據(jù)結(jié)構(gòu)描述處理這些數(shù)據(jù)的方法、過(guò)程或步驟,即求解的算法。算法是程序的靈魂。計(jì)算機(jī)程序=數(shù)據(jù)結(jié)構(gòu)+算法程序設(shè)計(jì)編制程序的工作稱(chēng)為程序設(shè)計(jì),即分析需要解決的問(wèn)題,設(shè)計(jì)解決問(wèn)題的算法,應(yīng)用某種程序設(shè)計(jì)語(yǔ)言編寫(xiě)代碼等過(guò)程。結(jié)構(gòu)化程序設(shè)計(jì)

——描述問(wèn)題的解決過(guò)程面向?qū)ο蟪绦蛟O(shè)計(jì) ——描述事物(即對(duì)象)以及事物之間的關(guān)系程序設(shè)計(jì)方法f(n)=n!=n*(n-1)*(n-2)*…*2*1main(){intn=10;ints=1;inti;for(i=n;i>0;i--) s=s*i;}良好的程序設(shè)計(jì)風(fēng)格:程序結(jié)構(gòu)清晰合理、代碼便于維護(hù),保證程序的質(zhì)量程序設(shè)計(jì)風(fēng)格

良好的程序設(shè)計(jì)風(fēng)格1.源程序文檔化標(biāo)識(shí)符的命名:見(jiàn)名知義sum、r、PI、area…良好的程序設(shè)計(jì)風(fēng)格1.源程序文檔化程序注釋序言性注釋?zhuān)洪_(kāi)始局部,如標(biāo)題、程序的主要功能、主要算法、程序作者…良好的程序設(shè)計(jì)風(fēng)格1.源程序文檔化程序注釋功能性注釋?zhuān)撼绦蛑虚g,如變量的含義、語(yǔ)句的作用…良好的程序設(shè)計(jì)風(fēng)格1.源程序文檔化視覺(jué)組織:書(shū)寫(xiě)程序時(shí)應(yīng)盡量清晰,如空格、空行、縮進(jìn)良好的程序設(shè)計(jì)風(fēng)格2.?dāng)?shù)據(jù)說(shuō)明標(biāo)準(zhǔn)化當(dāng)一個(gè)說(shuō)明語(yǔ)句說(shuō)明多個(gè)變量時(shí),變量按照字母順序排列。使用注釋來(lái)說(shuō)明復(fù)雜數(shù)據(jù)的結(jié)構(gòu)。良好的程序設(shè)計(jì)風(fēng)格3.語(yǔ)句構(gòu)造

清晰第一,效率第二A=A+BB=A-BA=A-B良好的程序設(shè)計(jì)風(fēng)格4.輸入和輸出盡可能方便用戶(hù)的使用

結(jié)構(gòu)化程序設(shè)計(jì)

軟件危機(jī)20世紀(jì)70年代,結(jié)構(gòu)化程序設(shè)計(jì)方法(structuredprogramming)結(jié)構(gòu)化程序設(shè)計(jì)方法引入工程的思想,使大型軟件的開(kāi)發(fā)和編程得到了改善。結(jié)構(gòu)化程序設(shè)計(jì)的原那么1〕采用自頂向下、逐步細(xì)化的方法進(jìn)行設(shè)計(jì)2〕采用模塊化原那么和方法進(jìn)行設(shè)計(jì)將大型任務(wù)從上向下劃分為多個(gè)功能模塊,每個(gè)模塊又可以劃分為假設(shè)干子模塊,然后分別進(jìn)行模塊程序的編寫(xiě)。3)限制使用goto語(yǔ)句結(jié)構(gòu)化程序的根本結(jié)構(gòu)結(jié)構(gòu)化程序的根本結(jié)構(gòu): 順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)順序結(jié)構(gòu)最根本、最常用、最簡(jiǎn)單的結(jié)構(gòu)按照書(shū)寫(xiě)順序依次執(zhí)行語(yǔ)句結(jié)構(gòu)化程序的根本結(jié)構(gòu)選擇結(jié)構(gòu)按照給定的條件判斷選擇執(zhí)行相應(yīng)的語(yǔ)句序列結(jié)構(gòu)化程序的根本結(jié)構(gòu)循環(huán)結(jié)構(gòu)通過(guò)循環(huán)控制條件來(lái)決定是否重復(fù)執(zhí)行相同的語(yǔ)句序列結(jié)構(gòu)化程序的根本結(jié)構(gòu)算法概述假設(shè)有A、B兩個(gè)杯子,分別裝有不同的液體,現(xiàn)在要求把這兩個(gè)杯子中的液體交換放置,如何進(jìn)行操作?操作步驟:(準(zhǔn)備一個(gè)備用的杯子) ①準(zhǔn)備第三個(gè)杯子C; ②把杯子A的液體倒到杯子C中,即A→C; ③把杯子B的液體倒到杯子A中,即B→A; ④把杯子C的液體倒到杯子B中,即C→B; ⑤操作完成。解決具體問(wèn)題的過(guò)程都是由一定的規(guī)那么、步驟組成的,這種規(guī)那么、步驟實(shí)際上就是算法。算法是什么算法(Algorithm)的定義:算法是一系列解決問(wèn)題的清晰指令,能夠?qū)σ欢?biāo)準(zhǔn)的輸入,在有限時(shí)間內(nèi)獲得所要求的輸出。算法的根本特征:確定性:每一步運(yùn)算必須是確定的,無(wú)歧義?!皩或y與z相乘”有限性:每條指令的執(zhí)行次數(shù)是有限的,執(zhí)行每條指令的時(shí)間也是有限的。“求從1到+∞所有整數(shù)的和”輸入:有零個(gè)或多個(gè)外部提供的量作為算法的輸入。輸出:算法產(chǎn)生至少一個(gè)輸出量。算法是什么自然語(yǔ)言表示偽代碼根本流程圖N-S流程圖算法的描述自然語(yǔ)言表示算法的描述偽代碼介于自然語(yǔ)言和計(jì)算機(jī)語(yǔ)言之間的形式;方便用任何一種編程語(yǔ)言實(shí)現(xiàn)。算法的描述根本流程圖算法的描述有且僅有一個(gè)開(kāi)始框和一個(gè)結(jié)束框,開(kāi)始框只有一個(gè)出口,沒(méi)有入口;結(jié)束框只有一個(gè)入口,沒(méi)有出口;輸入輸出框只能有一個(gè)入口,一個(gè)出口,框內(nèi)填寫(xiě)需要輸入或輸出的各項(xiàng);處理框只能有一個(gè)入口,一個(gè)出口,框內(nèi)填寫(xiě)處理說(shuō)明或算式;判斷框只能有一個(gè)入口,但是可以有兩個(gè)出口,框內(nèi)填寫(xiě)判斷條件,由判斷框出發(fā)的流程線上標(biāo)注判斷的結(jié)果,“真”、“假”或“Y”、“N”或“T”、“F”。根本流程圖:圖形化描述算法的描述N-S流程圖/塊圖算法的描述在下表中查找指定學(xué)號(hào)為key的學(xué)生成績(jī)算法例

算法例C語(yǔ)言概述33B語(yǔ)言:Bell實(shí)驗(yàn)室,1970年在PDP機(jī)器上用其編寫(xiě)UNIX系統(tǒng)CPL語(yǔ)言:劍橋大學(xué),1963年BCPL語(yǔ)言:劍橋大學(xué),1967年C語(yǔ)言:Bell實(shí)驗(yàn)室,1972~1973年用其改寫(xiě)UNIX系統(tǒng)經(jīng)簡(jiǎn)化進(jìn)一步簡(jiǎn)化保持精練、接近硬件的優(yōu)點(diǎn),克服數(shù)據(jù)類(lèi)型過(guò)少的不足C語(yǔ)言的歷史C語(yǔ)言的標(biāo)準(zhǔn)化:K&RCANSICISOCC11——ANSI現(xiàn)行標(biāo)準(zhǔn)

目前廣泛流行的各種版本C語(yǔ)言編譯系統(tǒng):TurboC、VisualC++、QuickC、BORLANDC……34C語(yǔ)言的開(kāi)展35語(yǔ)言簡(jiǎn)潔,表達(dá)能力強(qiáng),易于理解只有32個(gè)關(guān)鍵字,9種控制語(yǔ)句數(shù)據(jù)構(gòu)造能力強(qiáng)運(yùn)算符豐富程序書(shū)寫(xiě)格式自由可直接訪問(wèn)物理地址,實(shí)現(xiàn)對(duì)硬件和低層系統(tǒng)軟件的訪問(wèn)語(yǔ)言生成的代碼質(zhì)量高可移植性好C語(yǔ)言的特點(diǎn)36【例1.1】計(jì)算并輸出一個(gè)數(shù)a的平方。

voidmain(){

floata,b;a=5.2;b=a*a;printf("b=%f\n",b);

}

main

為函數(shù)名程序從這里開(kāi)始運(yùn)行函數(shù)體開(kāi)始函數(shù)體結(jié)束函數(shù)體內(nèi)定義a,b為a賦值計(jì)算并輸出平方值b執(zhí)行程序的輸出結(jié)果為:b=27.039997

C程序的根本結(jié)構(gòu)37【例1.2】輸入兩個(gè)數(shù),輸出其中的大數(shù)。intmax(intx,inty)

/*max函數(shù)*/{

intz;if(x>y)z=x;elsez=y;return(z);}voidmain()

/*主函數(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);}C程序的根本結(jié)構(gòu)38C程序由函數(shù)構(gòu)成必須有,且只能有一個(gè)main〔主函數(shù)〕總是從main函數(shù)開(kāi)始執(zhí)行兩類(lèi)函數(shù):系統(tǒng)定義的函數(shù),即標(biāo)準(zhǔn)庫(kù)函數(shù)用戶(hù)自定義的函數(shù)C程序的根本結(jié)構(gòu)函數(shù)由函數(shù)首部和函數(shù)體組成函數(shù)首部指定函數(shù)名、函數(shù)參數(shù)、類(lèi)型函數(shù)體從{開(kāi)始,到}結(jié)束函數(shù)內(nèi)有語(yǔ)句39C程序的根本結(jié)構(gòu)intmax(intx,inty){

intz;if(x>y)z=x;elsez=y;return(z);}40語(yǔ)句包括說(shuō)明性語(yǔ)句、可執(zhí)行語(yǔ)句以;表示語(yǔ)句結(jié)束注釋可以出現(xiàn)在程序的任何位置

用“/*”和“*/”括起來(lái),必須成對(duì)出現(xiàn)書(shū)寫(xiě)格式C語(yǔ)言沒(méi)有行的概念,書(shū)寫(xiě)格式自由。習(xí)慣小寫(xiě)字母,縮進(jìn)格式。C程序的根本結(jié)構(gòu)main(){floata,b;a=5.2;b=a*a;printf("b=%f\n",b);}1.源程序文件的建立和編輯

編寫(xiě)源程序,形成.c文件需用編輯工具:tc.exe、記事本2.編譯

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論