版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第一次課概念結(jié)構(gòu)演示文稿第一頁,共三十三頁。優(yōu)選第一次課概念結(jié)構(gòu)第二頁,共三十三頁。開篇本課程的組織第一部分基 礎(chǔ)第二部分簡單程序設(shè)計第三部分高級程序設(shè)計算法概念、編程原理、編程風(fēng)格、基本數(shù)據(jù)類型定義、算術(shù)運算符及表達式順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、函數(shù)、程序設(shè)計過程數(shù)組的定義及應(yīng)用、 變量的存儲類別、指針、結(jié)構(gòu)體與共用體、文件第三頁,共三十三頁。1.程序與程序設(shè)計語言什么是程序?什么是計算機?計算機是一種具有內(nèi)部存儲能力的自動、高效的電子設(shè)備計算機怎樣完成工作?執(zhí)行存放在計算機的內(nèi)部存儲器中的指令程序是計算機指令的序列可以被連續(xù)執(zhí)行的一條條指令的集合稱為計算機的程序第四頁,共三十三頁。1.程
2、序與程序設(shè)計語言什么是計算機語言? 是與計算機交流的工具人和人交流用的是雙方都能聽懂和讀懂的自然語言人和計算機交流也要用人和計算機都容易接受和理解的語言計算機語言是根據(jù)計算機的特點而編制的有限規(guī)則的集合什么是程序設(shè)計語言?計算機語言又稱為“程序語言“一個計算機程序總是用某種程序語言來編寫第五頁,共三十三頁。1.程序與程序設(shè)計語言程序設(shè)計語言的發(fā)展問題?Machine LanguagesAssembly LanguagesHigh-Level Languages+1300042774+1400593419+1200274027LOAD AADD BSTORE CC=A+B第六頁,共三十三頁。1.
3、程序與程序設(shè)計語言程序設(shè)計語言的發(fā)展問題?怎樣從功能和使用方式上來劃分程序設(shè)計語言?他們各有什么特點?舉例。第七頁,共三十三頁。2.程序設(shè)計什么是程序設(shè)計?使用某種程序語言編寫程序的過程 是用計算機語言對所要解決的問題中的數(shù)據(jù)以及處理問題的方法和步驟所做的完整而準(zhǔn)確的描述的過程怎樣進行程序設(shè)計?分析問題確定算法編制程序調(diào)試程序第八頁,共三十三頁。2.程序設(shè)計一個完整的程序數(shù)據(jù)結(jié)構(gòu)、算法、編程語言和程序設(shè)計方法對數(shù)據(jù)的描述(數(shù)據(jù)流) 指定數(shù)據(jù)的類型和數(shù)據(jù)的結(jié)構(gòu)對操作的描述(控制流)指定操作的步驟,既算法程序=數(shù)據(jù)結(jié)構(gòu)+算法第九頁,共三十三頁。3.算法什么是算法(Algorithm)?就是為了解決
4、一個特定的問題而采取的確定的、有限的、按照一定次序進行的、缺一不可的執(zhí)行步驟注意為了有效地利用計算機解決實際問題,在設(shè)計算法時不僅要保證計算機執(zhí)行算法的正確性,還要考慮算法的質(zhì)量,選擇適合于具體問題的算法通常計算機算法分為兩大類數(shù)值運算算法和非數(shù)值運算算法數(shù)值運算是指對問題求數(shù)值解有確定的數(shù)學(xué)模型非數(shù)值運算是指事務(wù)處理過程種類繁多,很難提供統(tǒng)一規(guī)范的算法更多的是需要用戶設(shè)計其算法的第十頁,共三十三頁。3.算法輸入三個數(shù),然后輸出最大的數(shù)算法的兩個要素基本功能操作數(shù)據(jù)運算和傳輸控制結(jié)構(gòu)順序、選擇和循環(huán)三種基本控制流程 算法可以寫成:(1)輸入A,B,C;(2)若AB,則A-MAX;若AMAX。(
5、3)若CMAX,則C-MAX。(4)輸出MAX,MAX既是最大數(shù)。 第十一頁,共三十三頁。3.算法例 猴子吃桃問題。有一堆桃子不知數(shù)目,猴子第一天吃掉一半并多吃了一個,第二天照此方法,吃掉剩下桃子的一半加一個,天天如此,到第十天早上,猴子發(fā)現(xiàn)只剩一只桃子了,問這堆桃子原來有多少個?數(shù)學(xué)模型:ai=2*(ai+1+1) i=9,8,7,1;算法寫成:(1)a1=1第10天的桃子數(shù),A1的初始值; i=9計數(shù)器的初值為9;(2)a0=2*(A1+1)計算當(dāng)天的桃子數(shù);(3)a1=a0;將當(dāng)天的桃子數(shù)作為下一次計算的初值;(4)i=i-1;(5)若i=1,繼續(xù)循環(huán)執(zhí)行(2);(6)輸出A0的值。其中
6、(2)(5)是反復(fù)的循環(huán)執(zhí)行。第十二頁,共三十三頁。3.算法算法的特性有窮性應(yīng)含有有限的操作步驟,不能是無限的。有窮性指在 “合理的限度之內(nèi)”唯一性每一個步驟都是確定的,只有一個涵義,不可以為二義性有零個或多個輸入在執(zhí)行算法時需要從外界獲取必要的信息有一個或多個輸出算法執(zhí)行的目的就是為了求解,“解”就是輸出的信息沒有輸出的算法是沒有意義的正確性每一個步驟應(yīng)當(dāng)被有效的執(zhí)行,并得到確定的結(jié)果第十三頁,共三十三頁。3.算法算法的表示流程圖端點:表示程序的轉(zhuǎn)向,常用來表示程序的開始和結(jié)束。處理:操作的功能判斷:單入口多出口,表明判斷的條件流線:表示程序的執(zhí)行方向和順序。輸入/輸出:表示數(shù)據(jù)的名稱、類型
7、和用途等。第十四頁,共三十三頁。3.算法算法的表示流程圖開始輸入A,B,CAB?TNMAX=AMAX=BCMAX?NTMAX=C輸出A,B,C結(jié)束第十五頁,共三十三頁。3.算法算法的表示N-S圖是適合結(jié)構(gòu)化程序設(shè)計方法的圖形工具N-S流程圖無法表示非結(jié)構(gòu)化的程序TN當(dāng)條件滿足A1=1i=9當(dāng)i=1時,循環(huán)a0=2*(a1+1)a1=a0i=i-1輸出a0第十六頁,共三十三頁。3.算法算法的表示偽代碼典型算法第十七頁,共三十三頁。4.結(jié)構(gòu)化的程序設(shè)計方法程序的三種基本結(jié)構(gòu) 問題的提出結(jié)構(gòu)化程序設(shè)計必須采用的結(jié)構(gòu)順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)被稱為程序設(shè)計的三種基本結(jié)構(gòu)算法的實現(xiàn)過程是由一系列操作組
8、成的,這些操作之間的執(zhí)行次序就是程序的控制結(jié)構(gòu)總體結(jié)構(gòu)流程都是自上而下順序執(zhí)行的。 第十八頁,共三十三頁。4.結(jié)構(gòu)化的程序設(shè)計方法程序的三種基本結(jié)構(gòu)順序結(jié)構(gòu) 順序結(jié)構(gòu)表示程序中的各操作是按照它們出現(xiàn)的先后順序執(zhí)行的 選擇結(jié)構(gòu) 表示程序的處理出現(xiàn)了分支,它需要根據(jù)某一特定的條件選擇其中的一個分支執(zhí)行 循環(huán)結(jié)構(gòu) 程序反復(fù)執(zhí)行某個或某些操作,直到某條件為假(或為真)時才可終止循環(huán) 第十九頁,共三十三頁。4.1順序結(jié)構(gòu)順序結(jié)構(gòu)是一組按書寫順序執(zhí)行的語句是C語言中最簡單、最基本的一種結(jié)構(gòu)是進行復(fù)雜程序設(shè)計的基礎(chǔ)C語言組成順序結(jié)構(gòu)的主要語句賦值語句聲明語句輸入/輸出函數(shù)第二十頁,共三十三頁。【例】 編寫程
9、序:輸入兩個整數(shù)a和b(設(shè)a=100,b=17) 求a除以b的商和余數(shù)。 #include “stdio.h” main( ) int a, b, x, y; scanf (“%d, %d”, &a, &b); x=a/b; /* 求a/b的商 */ y=a%b; /* 求a/b的余數(shù) */ printf (“a=%3d, b=%3d,a/b=%4d, a%b=%4dn”, a, b,x,y); 4.1順序結(jié)構(gòu)第二十一頁,共三十三頁。二者擇一4.2選擇結(jié)構(gòu)第二十二頁,共三十三頁。周而復(fù)始,稱循環(huán)4.3循環(huán)結(jié)構(gòu)第二十三頁,共三十三頁。5.什么是C語言?1973年由美國貝爾實驗室設(shè)計發(fā)布的 目前是
10、計算機程序設(shè)計語言的主流語種是世界上最為廣泛使用的語言之一C語言的流行歸功于兩個主要因素使用正確的C語言指令幾乎可以完成任何任務(wù)是可移植的C編譯系統(tǒng)的廣泛采用C語言是一種能夠讓軟件工程師與計算機進行有效對話的介于匯編語言和高級語言之間的編程語言C語言標(biāo)準(zhǔn)1978年,正式出版的The C Programming Language書中介紹的c語言,稱為標(biāo)準(zhǔn)c語言1983年,美國國家標(biāo)準(zhǔn)化協(xié)會(ANSI)根據(jù)各種c語言版本對c的擴充和發(fā)展,頒布了c語言的新標(biāo)準(zhǔn)ANSI cANSI c比標(biāo)準(zhǔn)c有了很大的擴充和發(fā)展1987年,美國國家標(biāo)準(zhǔn)化協(xié)會又頒布新標(biāo)準(zhǔn),稱為87 ANSI C1990年,國際標(biāo)準(zhǔn)化組
11、織ISO接受了87 ANSI C作為ISO C的標(biāo)準(zhǔn)目前功能最完善、性能最優(yōu)良的新版本目前流行的C編譯系統(tǒng)都是以它為基礎(chǔ)的第二十四頁,共三十三頁。5.什么是C語言?C語言的特點適合開發(fā)系統(tǒng)軟件結(jié)構(gòu)化的程序設(shè)計語言豐富的數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu)運算符多樣化可移植性好語句簡潔緊湊編程風(fēng)格靈活,語法限制少,使用靈活具有預(yù)處理功能面向?qū)ο蟪绦蛟O(shè)計的基礎(chǔ)第二十五頁,共三十三頁。編寫一個加法運算程序#includestdio.hmain() int a,b;/*定義兩個整形變量*/ a=1;b=5;/*給兩個變量賦值*/ printf(“%d+%d=%dn”,a,b,a+b); /*打印a和b之和*/ C語言嚴(yán)
12、格區(qū)分大、小寫 英文字母。五、什么是C語言?第二十六頁,共三十三頁。#includestdio.hmain() int a,b;/*定義兩個整形變量*/ a=1;b=5;/*給兩個變量賦值*/ printf(“%d+%d=%dn”,a,b,a+b); /*打印a和b之和*/ C語言嚴(yán)格區(qū)分大、小寫 英文字母。例:編寫一個加法運算程序如下:五、什么是C語言? C語言程序是由一個個的 語句組成。編寫一個加法運算程序第二十七頁,共三十三頁。#includestdio.hmain() int a,b;/*定義兩個整形變量*/ a=1;b=5;/*給兩個變量賦值*/ printf(“%d+%d=%dn”
13、,a,b,a+b); /*打印a和b之和*/ C語言嚴(yán)格區(qū)分大、小寫 英文字母。例:編寫一個加法運算程序如下:五、什么是C語言? C語言程序是由一個個的 語句組成。 C語言程序使用“;”作為 語句的終止符和分隔符。編寫一個加法運算程序第二十八頁,共三十三頁。#includestdio.hmain() int a,b;/*定義兩個整形變量*/ a=1;b=5;/*給兩個變量賦值*/ printf(“%d+%d=%dn”,a,b,a+b); /*打印a和b之和*/ C語言嚴(yán)格區(qū)分大、小寫 英文字母。例:編寫一個加法運算程序如下:五、什么是C語言? C語言程序是由一個個的 語句組成。 C語言程序使用
14、“;”作為 語句的終止符和分隔符。 C語言程序中用大括號對 “ ”表示程序的結(jié)構(gòu)層 次范圍。編寫一個加法運算程序第二十九頁,共三十三頁。#includestdio.hmain() int a,b;/*定義兩個整形變量*/ a=1;b=5;/*給兩個變量賦值*/ printf(“%d+%d=%dn”,a,b,a+b); /*打印a和b之和*/ C語言嚴(yán)格區(qū)分大、小寫 英文字母。例:編寫一個加法運算程序如下:五、什么是C語言? C語言程序是由一個個的 語句組成。 C語言程序使用“;”作為 語句的終止符和分隔符。 C語言程序中用大括號對 “ ”表示程序的結(jié)構(gòu)層 次范圍。語言程序可以使用注釋。 編寫一
15、個加法運算程序第三十頁,共三十三頁。5.什么是C語言?C程序結(jié)構(gòu)組成C程序為函數(shù)模塊結(jié)構(gòu),整個程序都是由一個或多個函數(shù)組成函數(shù)是由函數(shù)說明和函數(shù)體兩部分組成一個C程序總是從main()函數(shù)開始執(zhí)行被調(diào)用的函數(shù)可以是系統(tǒng)提供的庫函數(shù),也可以是用戶根據(jù)需要自己編制設(shè)計的函數(shù)(用戶自定義函數(shù))一個C 程序可以由一個文件組成,也可以由若干個文件組成分析下面程序:#include main () int a=1,b=5,c; c=add(a,b); printf(“c=%dn”,c); int add(int x,int y) return(x+y); 第三十一頁,共三十三頁。 C程序源程序文件1源程序文件i源程序文件n預(yù)編譯命令函數(shù)1函數(shù)n函數(shù)體函數(shù)首部C程序結(jié)構(gòu)組成五、什么是C語言? 注意 一個函數(shù)
溫馨提示
- 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度機場擴建工程承包主體合同4篇
- 二零二五版按揭購房合同:智能家居系統(tǒng)定制服務(wù)協(xié)議3篇
- 二零二五年度海濱度假區(qū)物業(yè)租賃服務(wù)合同4篇
- 二零二五年度生豬養(yǎng)殖場承包管理合同4篇
- 2025年度個人房產(chǎn)交易過橋資金合同4篇
- 2025年度糧食儲備與農(nóng)業(yè)現(xiàn)代化合作協(xié)議4篇
- 二零二五年度汽車抵押貸款合同規(guī)范文本4篇
- 2025年度大學(xué)圖書館數(shù)字資源采購與維護合同4篇
- 2025年度影視項目臨時燈光師及音響師聘用合同4篇
- 2024網(wǎng)絡(luò)安全服務(wù)采購合同
- DL-T1848-2018220kV和110kV變壓器中性點過電壓保護技術(shù)規(guī)范
- DZ∕T 0213-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 石灰?guī)r、水泥配料類(正式版)
- 食品銷售業(yè)務(wù)員合同
- (中考試題)2024年浙江省紹興市中考數(shù)學(xué)真題試卷解析版
- 國有企業(yè)內(nèi)部審計實施方案
- 部編版語文一年級下冊全冊大單元整體作業(yè)設(shè)計
- 減速機的培訓(xùn)課件
- 六西格瑪-DMAIC-報告
- 老年人護理風(fēng)險管理
- 蒸壓加氣混凝土制品課件
- 《根號2有多大》課件
評論
0/150
提交評論