![第1章程序設(shè)計基礎(chǔ)講解_第1頁](http://file4.renrendoc.com/view4/M01/11/15/wKhkGGaGLN2AQusfAALb4u3Bjvk170.jpg)
![第1章程序設(shè)計基礎(chǔ)講解_第2頁](http://file4.renrendoc.com/view4/M01/11/15/wKhkGGaGLN2AQusfAALb4u3Bjvk1702.jpg)
![第1章程序設(shè)計基礎(chǔ)講解_第3頁](http://file4.renrendoc.com/view4/M01/11/15/wKhkGGaGLN2AQusfAALb4u3Bjvk1703.jpg)
![第1章程序設(shè)計基礎(chǔ)講解_第4頁](http://file4.renrendoc.com/view4/M01/11/15/wKhkGGaGLN2AQusfAALb4u3Bjvk1704.jpg)
![第1章程序設(shè)計基礎(chǔ)講解_第5頁](http://file4.renrendoc.com/view4/M01/11/15/wKhkGGaGLN2AQusfAALb4u3Bjvk1705.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
任亞茹2021年9?1?C語言程序設(shè)計—程序設(shè)計基礎(chǔ)?切向前?,都不能忘記?過的路;?得再遠(yuǎn)、?到再光輝的未來,也不能忘記?過的過去,不能忘記為什么出發(fā)。——習(xí)近平總書記導(dǎo)語主
要
內(nèi)
容課程導(dǎo)入1程序設(shè)計概述2結(jié)構(gòu)化程序設(shè)計方法34算法-程序的靈魂?、課程導(dǎo)入(一)課程性質(zhì)與任務(wù)《C語言程序設(shè)計》是汽車智能技術(shù)專業(yè)必修的一門公共基礎(chǔ)課程。本課程的任務(wù)是介紹計算機程序設(shè)計的基礎(chǔ)、程序設(shè)計的算法、C語言的語法、C語言結(jié)構(gòu)化程序設(shè)計的方法,使學(xué)生了解程序設(shè)計的總體思路,提高學(xué)生程序設(shè)計和程序調(diào)試的能力,為以后的課程打下牢固的程序設(shè)計基礎(chǔ),將C語言程序設(shè)計的方法融合到后續(xù)課中,真正掌握程序設(shè)計的方法。本課程組織教學(xué)形式,理論知識教學(xué)主要采取教師利用多媒體等現(xiàn)代技術(shù)手段進行講授,實踐知識教學(xué)采取學(xué)生分組討論、上機實驗等多種形式組織。教學(xué)方法可根據(jù)不同的內(nèi)容綜合運用案例教學(xué)法、引導(dǎo)文法、小組討論法、上機實驗法、演示法、講授法等多種教學(xué)方法。?、課程導(dǎo)入(二)學(xué)習(xí)目標(biāo)1.知識目標(biāo)(1)掌握C語言的基本概念和基本算法;(2)掌握C語言的基本語法及應(yīng)用;(3)掌握C語言結(jié)構(gòu)化程序設(shè)計的方法;(4)掌握C語言設(shè)計程序的總體思路和方法。2.能力目標(biāo)(1)具有掌握使用基本算法的能力;(2)具有使用C語言進行簡單程序設(shè)計的邏輯思維能力;(3)具有調(diào)試運行一般應(yīng)用程序的能力。3.考核方式30%平時成績+35%上機考試+35%閉卷考試?、課程導(dǎo)入請大家打開一款手機APP,思考什么是程序設(shè)計,設(shè)計一個程序是否離我們很遙遠(yuǎn)?/video/BV1uU4y1L7Sn?from=search&seid=13321135304825015191二、程序設(shè)計概述(一)概述(1)什么是程序:向執(zhí)行系統(tǒng)發(fā)出的命令集成為程序。向計算機發(fā)出的命令集成為計算機程序。(2)什么是語言指令集的形式必須遵從某種規(guī)則,這種規(guī)則稱之為語言。不同的語言有不同的規(guī)則(語法),手機、微波爐、電冰箱的指令集形式各不相同。討論思考什么是語言(3)計算機科學(xué)知識體系是一個有層次的知識體系計算機科學(xué)知識的學(xué)習(xí)之分為三個層次二、程序設(shè)計概述二、程序設(shè)計概述(二)計算機語言的分類(1)機器語言計算機按二進制進行基本工作,只能識別二進制代碼。例如:含義:將“地址1”和“地址2”是數(shù)據(jù)取出來進行加運算,并將結(jié)果放回到“地址1”中。機器語言格式:【指令碼】【地址1】【地址2】。。。。特點:必須要對計算機的工作方式非常熟悉,熟背“密碼本”及大量的與計算機工作原理密切相關(guān)的潛規(guī)則。a)難懂,不易理解和修改;b)可移植性差;c)執(zhí)行效率高。二、程序設(shè)計概述(二)計算機語言的分類(2)匯編語言用助記符來代替二進制代碼,提高了程序的易讀性。例如:匯編語言書寫的程序不能被計算機所理解,必須經(jīng)過一個“翻譯工具”進行處理,將它轉(zhuǎn)換成二進制代碼。
特點:a)初步解決了難懂的問題,程序的編寫效率有所提高;b)可移植性差;c)執(zhí)行效率高。二、程序設(shè)計概述(二)計算機語言的分類(3)高級語言用英語和數(shù)學(xué)表達(dá)式的方式來書寫程序。例如:if(beta>=0)x=(-b+sqrt(beta))/(2*a)高級語言更接近于人類的自然語言,很容易理解。高級語言書寫的程序更不可能被計算機所理解,必須經(jīng)過更高級的“翻譯”才能將它轉(zhuǎn)換成二進制代碼。特點:a)便于理解和修改,程序的編寫效率最高;b)具有良好的可移植性;c)執(zhí)行效率最低。二、程序設(shè)計概述(二)計算機語言的分類高級語言分類二、程序設(shè)計概述(三)通用計算機和嵌入式計算機C語言既是通用計算機軟件設(shè)計的基礎(chǔ)語言,也是當(dāng)前嵌入式軟件設(shè)計的主流語言。微型計算機具有很大的通用性,所以又稱通用計算機。測控領(lǐng)域的計算機系統(tǒng)是嵌入到應(yīng)用系統(tǒng)中,以計算機技術(shù)為基礎(chǔ),軟、硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對功能、成本、體積、可靠性、功耗嚴(yán)格要求的專用計算機系統(tǒng),即嵌入式計算機系統(tǒng),簡稱嵌入式系統(tǒng)(EmbeddedSystem)。通俗地說,除了通用計算機(如臺式計算機和筆記本計算機)外,所有包含CPU的系統(tǒng)都是嵌入式系統(tǒng),其中以微控制器(MicroControllerUnit,MCU,國內(nèi)也稱為單片機)為核心的嵌入式系統(tǒng)應(yīng)用最廣泛。二、程序設(shè)計概述(三)通用計算機和嵌入式計算機1、MCU的基本結(jié)構(gòu)MCU的基本含義:在一塊芯片上集成了CPU、ROM、RAM、定時/計數(shù)器、中斷系統(tǒng)、看門狗及通用輸入輸出(GPIO)、模-數(shù)(A-D)轉(zhuǎn)換、數(shù)-模(D-A)轉(zhuǎn)換、串行通信I/O等多種輸入輸出接口的比較完整的數(shù)字處理系統(tǒng)。CPU與其他部件交互是通過MCU內(nèi)部總線實現(xiàn)的。二、程序設(shè)計概述(三)通用計算機和嵌入式計算機2、以MCU為核心的嵌入式系統(tǒng)的基本組成MCU的硬件集成度越來越高,使得嵌入式硬件設(shè)計難度不斷降低,因此嵌入式軟件設(shè)計在整個嵌入式系統(tǒng)開發(fā)中所占的分量越來越大。社會對嵌入式軟件設(shè)計人才的需求量也越來越大,其就業(yè)薪酬高。嵌入式軟件設(shè)計的主流語言是C語言。三、結(jié)構(gòu)化程序設(shè)計方法(一)結(jié)構(gòu)化程序設(shè)計結(jié)構(gòu)化程序設(shè)計的核心是算法設(shè)計,基本思想是采用自頂向下、逐步細(xì)化的設(shè)計方法和單入單出的控制結(jié)構(gòu)。自頂向下和逐步細(xì)化的設(shè)計方法是將一個復(fù)雜任務(wù)按照功能進行拆分,并逐層細(xì)化到便于理解和描述的程度,最終形成由若干獨立模塊組成的樹狀層次結(jié)構(gòu)。單入單出的控制結(jié)構(gòu)是指每個模塊內(nèi)部均用順序、選擇、循環(huán)三種基本結(jié)構(gòu)來描述。a)順序從上到下依次執(zhí)行下來,中間沒有任何分叉b)分支在執(zhí)行過程中,根據(jù)條件成立與否產(chǎn)生了不同的操作c)循環(huán)當(dāng)某一條件成立時,反復(fù)做相同的操作。三、結(jié)構(gòu)化程序設(shè)計方法(二)方法原則①只采用三種基本的程序控制結(jié)構(gòu)來編制程序,從而使程序具有良好的結(jié)構(gòu);②程序設(shè)計自頂而下;③用結(jié)構(gòu)化程序設(shè)計流程圖來表示算法。四、算法-程序的靈魂(一)算法的基本概念算法與程序設(shè)計以及數(shù)據(jù)結(jié)構(gòu)密切相關(guān),是解決一個問題的完整的步驟描述,是解決問題的策略、規(guī)則和方法。算法的描述形式有很多種,如傳統(tǒng)的流程圖、結(jié)構(gòu)化流程圖及計算機程序語言等。(1)算法的特性算法是為解決某一特定類型的問題而制定的一個實現(xiàn)過程,它具有下列特性:有窮性、確定性、可行性、輸入、輸出(2)算法的優(yōu)劣衡量一個算法的好壞,通常從以下幾個方面來分析:正確性、可讀性、健壯性、時間復(fù)雜度與空間復(fù)雜度。四、算法-程序的靈魂(二)算法的描述算法包括算法設(shè)計和算法分析。算法設(shè)計主要研究怎么樣針對某一特定類型的問題設(shè)計出求解步驟;算法分析則要討論所設(shè)計出來的算法步驟的正確性和復(fù)雜性。計算機算法分為兩大類:(1)數(shù)值運算算法:求數(shù)值解;通過運算得出一個具體值,如求方程的根等注:數(shù)值運算一般有現(xiàn)成的模型,算法較成熟。(2)非數(shù)值運算算法:用于事務(wù)管理,如圖書檢索、人事管理等。對于一些問題的求解步驟,需要一種表達(dá)方式,即算法描述。常用的方法有:①自然語言②傳統(tǒng)流程圖③結(jié)構(gòu)化流程圖④偽代碼⑤PAD圖四、算法-程序的靈魂(二)算法的描述常用簡單算法(1)累乘即:1×2×3×4×5……×1001×2→S(結(jié)果)
S×3→S(結(jié)果)
S×4→S(結(jié)果)S×5→S(結(jié)果)
S×6→S(結(jié)果)┇
S×100→S(結(jié)果)四、算法-程序的靈魂(二)算法的描述常用簡單算法(2)累加即:1+2+3+4+5……+1001+2→S(結(jié)果)
S+3→S(結(jié)果)
S+4→S(結(jié)果)
S+5→S(結(jié)果)
S+6→S(結(jié)果)┇
S+100→S(結(jié)果)四、算法-程序的靈魂(二)算法的描述常用簡單算法(3)找最大值5,2,4,12,95→max(max放最大值,后面的數(shù)都和它比較)2>max不成立
4>max不成立
12>max成立:12→max9>max不成立注:該算法可擴展為在一批數(shù)據(jù)中,找某一個數(shù)四、算法-程序的靈魂(二)算法的描述1.自然語言自然語言就是人們?nèi)粘S玫恼Z言,這種表示方式通俗易懂,下面通過實例具體介紹。【實例1】求n!。(1)定義3個變量i、n及mul,并為i和mul均賦初值為1。(2)從鍵盤中輸入一個數(shù)賦給n。(3)將mul乘以i的結(jié)果賦給mul。(4)i的值加1,判斷i的值是否大于n,如果大于n,則執(zhí)行步驟(5),否則執(zhí)行步驟(3)。(5)將mul的結(jié)果輸出。四、算法-程序的靈魂(二)算法的描述1.自然語言自然語言就是人們?nèi)粘S玫恼Z言,這種表示方式通俗易懂,下面通過實例具體介紹?!緦嵗?】任意輸入3個數(shù),求這3個數(shù)中的最小數(shù)。(1)定義4個變量分別為x、y、z以及min。(2)輸入大小不同的3個數(shù)分別賦給x、y、z。(3)判斷x是否小于y,如果小于,則將x的值賦給min,否則將y的值賦給min。(4)判斷min是否小于z,如果小于,則執(zhí)行步驟(5),否則將z的值賦給min。(5)將min的值輸出。四、算法-程序的靈魂(二)算法的描述2.流程圖流程圖是一種傳統(tǒng)的算法表示法,它用一些圖框來代表各種不同性質(zhì)的操作,用流程線來指示算法的執(zhí)行方向。由于它直觀形象,易于理解,所以應(yīng)用廣泛,特別是在語言發(fā)展的早期階段,只有通過流程圖才能簡明地表述算法。(1)流程圖符號四、算法-程序的靈魂(二)算法的描述2.流程圖(2)3種基本結(jié)構(gòu)
Bohra和Jacopini為了提高算法的質(zhì)量,經(jīng)研究提出了3種基本結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),因為任何一個算法都可由這3種基本結(jié)構(gòu)組成。這3種基本結(jié)構(gòu)之間可以并列,可以相互包含,但不允許交叉,不允許從一個結(jié)構(gòu)直接轉(zhuǎn)到另一個結(jié)構(gòu)的內(nèi)部去。整個算法都是由3種基本結(jié)構(gòu)組成的,所以只要規(guī)定好3種基本結(jié)構(gòu)的流程圖的畫法,就可以畫出任何算法的流程圖。四、算法-程序的靈魂(二)算法的描述2.流程圖順序結(jié)構(gòu)順序結(jié)構(gòu)是簡單的線性結(jié)構(gòu),在順序結(jié)構(gòu)的程序里,各操作是按照它們出現(xiàn)的先后順序執(zhí)行的,如圖所示。在執(zhí)行完A框所指定的操作后,接著執(zhí)行B框所指定的操作,這個結(jié)構(gòu)里只有一個入口點A和一個出口點B。四、算法-程序的靈魂(二)算法的描述2.流程圖順序結(jié)構(gòu)【實例3】輸入兩個數(shù)分別賦給變量i和j,再將這兩個數(shù)分別輸出。本實例流程圖可以采用順序結(jié)構(gòu)來實現(xiàn),如圖所示。四、算法-程序的靈魂(二)算法的描述2.流程圖選擇結(jié)構(gòu)1選擇結(jié)構(gòu)也叫分支結(jié)構(gòu),如圖所示。選擇結(jié)構(gòu)中必須包含一個判斷框。圖中所代表的含義是根據(jù)給定的條件p是否成立選擇執(zhí)行A框或者是B框。四、算法-程序的靈魂(二)算法的描述2.流程圖選擇結(jié)構(gòu)2下圖所代表的含義是根據(jù)給定的條件P進行判斷,如果條件成立則執(zhí)行A框,否則什么也不做。四、算法-程序的靈魂(二)算法的描述2.流程圖選擇結(jié)構(gòu)【實例4】輸入一個數(shù),判斷該數(shù)是否為偶數(shù),并給出相應(yīng)提示。本實例流程圖可以采用選擇結(jié)構(gòu)來實現(xiàn),如圖所示。四、算法-程序的靈魂(二)算法的描述循環(huán)結(jié)構(gòu)在循環(huán)結(jié)構(gòu)中,反復(fù)地執(zhí)行一系列操作,直到條件不成立時才終止循環(huán)。按照判斷條件出現(xiàn)的位置,可將循環(huán)結(jié)構(gòu)分為當(dāng)型循環(huán)結(jié)構(gòu)和直到型循環(huán)結(jié)構(gòu)。當(dāng)型循環(huán)是先判斷條件P是否成立,如果成立,則執(zhí)行A框;執(zhí)行完A框后,再判斷條件P是否成立,如果成立,接著再執(zhí)行A框;如此反復(fù),直到條件P不成立為止,此時不執(zhí)行A框,跳出循環(huán)。直到型循環(huán)是先執(zhí)行A框,然后判斷條件P是否成立,如果條件P成立則再執(zhí)行A;然后判斷條件P是否成立,如果成立,接著再執(zhí)行A框;如此反復(fù),直到條件P不成立,此時不執(zhí)行A框,跳出循環(huán)。四、算法-程序的靈魂(二)算法的描述2.流程圖循環(huán)結(jié)構(gòu)當(dāng)型循環(huán)直到型循環(huán)四、算法-程序的靈魂(二)算法的描述循環(huán)結(jié)構(gòu)【實例2.5】求1和100之間(包括1和100)所有整數(shù)之和。
四、算法-程序的靈魂(二)算法的描述3.N-S流程圖N-S圖是另一種算法表示法,是由美國人I.Nassi和B.Shneiderman共同提出的,其根據(jù)是:既然任何算法都是由前面介紹的3種結(jié)構(gòu)組成,則各基本結(jié)構(gòu)之間的流程線就是多余的,因此去掉了所有的流程線,將全部的算法寫在一個矩形框內(nèi)。N-S圖也是算法的一種結(jié)構(gòu)化描述方法,同樣也有3種基本結(jié)構(gòu),下面分別進行介紹:
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 社交媒體使用對青少年心理健康影響-深度研究
- 烘焙食品營養(yǎng)研究-深度研究
- 消化不良臨床護理策略-深度研究
- 醫(yī)藥電商市場分析-深度研究
- 農(nóng)產(chǎn)品供應(yīng)鏈協(xié)同-深度研究
- 農(nóng)產(chǎn)品加工技術(shù)創(chuàng)新-深度研究
- 生物多樣性保護與可持續(xù)發(fā)展-深度研究
- 不同民族文化背景下的文學(xué)作品比較分析-深度研究
- 用戶體驗優(yōu)化的營銷策略創(chuàng)新-深度研究
- 生物傳感器材料研究-深度研究
- 高考語文復(fù)習(xí):文言文簡答題例析
- 三年級英語上冊整冊書單詞默寫表學(xué)生版(外研版三起)
- 課本劇《劉姥姥進大觀園》劇本
- 自閉癥機構(gòu)與家長協(xié)議書
- 《研學(xué)旅行概論》課程標(biāo)準(zhǔn)
- 如愿三聲部合唱簡譜
- 廢舊物質(zhì)處置項目投標(biāo)方案
- 自習(xí)輔導(dǎo)老師崗位職責(zé)
- 愛麗絲夢游仙境英文
- 水生野生動物保護與管理
- 湖南市政工程資料統(tǒng)一用表及填寫范例全面規(guī)范
評論
0/150
提交評論