版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
為什么學(xué)?通過計算機(jī)等級考試為以后的就業(yè)和工作奠定基礎(chǔ)1學(xué)什么?程序設(shè)計基本概念C程序設(shè)計的初步知識(數(shù)據(jù)類型、運(yùn)算符和表達(dá)式)編寫程序(簡單程序設(shè)計,選擇結(jié)構(gòu)程序設(shè)計,循環(huán)結(jié)構(gòu)程序設(shè)計)字符型數(shù)據(jù)函數(shù)指針數(shù)組字符串11章12章13章14章15章16章2怎么學(xué)?樹立自信,大家應(yīng)該都沒有問題研究考試大綱(我們會對其進(jìn)行研究)預(yù)習(xí),盡量走在教學(xué)的前面多做題,針對性地做加強(qiáng)對上機(jī)能力的調(diào)試(填空、改錯、自己寫程序)3C語言公開課什么叫程序設(shè)計?程序設(shè)計的語言課程情況介紹及主要內(nèi)容C程序上機(jī)步驟及VC++6.0的操作算法4什么叫程序設(shè)計?計算機(jī)系統(tǒng)=硬件+軟件
硬件:主板cpu硬盤內(nèi)存等軟件:系統(tǒng)程序應(yīng)用程序軟件(程序)就是人給計算機(jī)的命令,讓計算機(jī)完成一定的任務(wù)。因此要讓計算機(jī)完成一定的事情需要兩步
1.寫出來命令程序開發(fā)
2.讓計算機(jī)來執(zhí)行雙擊某個圖標(biāo)5程序設(shè)計的語言
編寫程序需要一種人與計算機(jī)之間對話的語言機(jī)器語言匯編語言高級程序設(shè)計語言面向?qū)ο笳Z言編譯器6課程情況介紹教材:《c語言程序設(shè)計》教育部考試中心高教出版社參考書:《c語言程序設(shè)計》(第二版)譚浩強(qiáng)實驗指導(dǎo)書:實驗資料(電子文檔)上機(jī)環(huán)境:Turboc2.0----VC++6.0本課學(xué)時數(shù):課程安排:上課學(xué)時數(shù):上機(jī)學(xué)時數(shù):不限制最多次數(shù),最少20小時
7本門課主要內(nèi)容程序設(shè)計基本概念C程序設(shè)計的初步知識(數(shù)據(jù)類型、運(yùn)算符和表達(dá)式)編寫程序(簡單程序設(shè)計,選擇結(jié)構(gòu)程序設(shè)計,循環(huán)結(jié)構(gòu)程序設(shè)計)字符型數(shù)據(jù)函數(shù)指針數(shù)組字符串11章12章13章14章15章16章8C程序格式和結(jié)構(gòu)特點(diǎn)
一個完整的C語言程序,是由一個main()函數(shù)(又稱主函數(shù))和若干個其它函數(shù)結(jié)合而成的,或僅由一個main()函數(shù)構(gòu)成。第一個程序Hello,World!/*example1.1ThefirstCProgram*/#include<stdio.h>main(){printf(“Hello,World!”);}注釋編譯預(yù)處理函數(shù)語句輸出:Hello,World!9編輯鏈接編譯執(zhí)行程序代碼的錄入,生成源程序*.c語法分析查錯,翻譯生成目標(biāo)程序*.obj與其它目標(biāo)程序或庫鏈接裝配,生成可執(zhí)行程序*.exeC程序上機(jī)步驟10
編輯編譯出錯?連接出錯?執(zhí)行
結(jié)果正確?
.C源程序
.OBJ目標(biāo)程序
.EXE可執(zhí)行程序開始結(jié)束YYNYNN庫函數(shù)和其它目標(biāo)程序11VC++6.0的操作12一個程序應(yīng)包括的兩個方面:
(1)對數(shù)據(jù)的描述
在程序中要指定數(shù)據(jù)的類型和數(shù)據(jù)的組織形式,即數(shù)據(jù)的結(jié)構(gòu)。
(2)對操作的描述
即操作步驟,也就是算法。數(shù)據(jù)和操作的關(guān)系:
數(shù)據(jù)是操作的對象,操作的目的是對數(shù)據(jù)進(jìn)行加工,以得到期望的結(jié)果。算法13著名計算機(jī)科學(xué)家沃斯(NikiklausWirth)提出了一個公式:
數(shù)據(jù)結(jié)構(gòu)+算法=程序在設(shè)計程序時,還要考慮采用好的設(shè)計方法-------結(jié)構(gòu)化程序設(shè)計方法。因此有:
程序=數(shù)據(jù)結(jié)構(gòu)+算法+程序設(shè)計方法+語言工具和環(huán)境以上4個方面是一個程序設(shè)計人員應(yīng)具備的知識。設(shè)計一個程序時要綜合運(yùn)用這幾方面的知識。本門課程重點(diǎn)講述算法的設(shè)計。14上述四個方面中:
算法是靈魂;數(shù)據(jù)結(jié)構(gòu)是加工對象;語言是工具;編程需要采取合適的方法。算法解決"做什么"和"怎么做"的問題。程序中的按一定順序列出的操作語句,就是算法的體現(xiàn)。通過本門課,大家學(xué)會使用c語言的語法編寫不太復(fù)雜的c程序。15算法的定義算法的概念:用計算機(jī)解決問題的步驟,即計算機(jī)算法。(算法舉例)算法的5個特性:有窮性確定性有零個或多個輸入有一個或多個輸出有效性16簡單算法舉例例1:求1×2×3×4×5最原始的方法:
步驟1:求1×2,得結(jié)果2。步驟2:將第1步得到的結(jié)果再乘以3,得結(jié)果6。步驟3:將第2步得到的結(jié)果再乘以4,得結(jié)果24。步驟4:將第3步得到的結(jié)果再乘以5,得120。即最后結(jié)果。想一想:如果按照此方法,求1×2×3×...×100,要寫多少步?因此,上述計算方法不可取!99步!17改進(jìn)的方法(或通用的方法):先設(shè)兩個變量p和i,p代表被乘數(shù),i代表乘數(shù)。并且將每一步乘積直接放入被乘數(shù)變量p中。用循環(huán)算法求結(jié)果。步驟1:令p=1
步驟2:令i=2
步驟3:使pxi,并將乘積放入p中。通常表示為p×i=>p
步驟4:使i的值加1,表示為i+1=>i
步驟5:如果i不大于5,返回到步驟3繼續(xù)向下執(zhí)行;否則算法結(jié)束。p中的值即最后結(jié)果。想一想:采用此方法求1×2×3×...×100,如何?
簡練!18先設(shè)兩個變量p和i,p代表被乘數(shù),i代表乘數(shù)。并且將每一步乘積直接放入被乘數(shù)變量p中。用循環(huán)算法求結(jié)果。步驟1:令p=1
步驟2:令i=3
步驟3:使p×i,并將乘積放入p中。通常表示為p×i=>p
步驟4:使i的值加2,表示為i+2=>i
步驟5:如果i不大于13,返回到步驟3繼續(xù)向下執(zhí)行;否則算法結(jié)束。p中的值即最后結(jié)果。想一想:采用此方法求1×3×5×...×101,如何?如果將題目改為求1x3x5x7x9x11x13,如何設(shè)計算法呢?19例2:有兩個數(shù)a,b,按大小順序打印它們。步驟1:輸入a,b的值;步驟2:如果a≥b,則先打印a,再打印b;否則,先打印b,再打印a;算法結(jié)束。三、簡單算法舉例20四、算法的表示用自然語言表示用流程圖表示(傳統(tǒng)流程圖和N-S圖)用偽代碼表示用計算機(jī)語言表示結(jié)構(gòu)化程序的三種基本結(jié)構(gòu):順序、選擇、循環(huán)結(jié)構(gòu)21(一)用自然語言表示算法上節(jié)中討論的例1和例2的算法是用自然語言寫的。自然語言指人們?nèi)粘J褂玫恼Z言,如漢語、英語等。用自然語言表示算法的特點(diǎn):通俗易懂,但不嚴(yán)謹(jǐn),容易產(chǎn)生歧義。除非問題很簡單,一般不用自然語言描述算法。22(二)用流程圖表示算法流程圖采用一些圖形框表示算法要表述的各種操作。美國國家標(biāo)準(zhǔn)化協(xié)會ANSI規(guī)定了一些常用的流程圖符號:起止框處理框輸入輸出框流程線或判斷框連接點(diǎn)
注釋開始結(jié)束23例1的算法用流程圖來表示計算1x3x5x...x11的值
步驟1:令p=1
步驟2:令i=1
步驟3:使pxi,并將乘積放入p中。通常表示為pxi=>p
步驟4:使i的值加2,表示為i+2=>i
步驟5:如果i不大于11,返回到步驟3繼續(xù)向下執(zhí)行;否則算法結(jié)束。p中的值即最后結(jié)果。開始1=>p1=>ip×i=>pi+2=>ii≤11真結(jié)束假輸出p的值24例2的算法用流程圖來表示有兩個數(shù)a,b,按大小順序打印它們。
步驟1:輸入a,b的值;
步驟2:如果a≥b,則先打印a,再打印b;否則,先打印b,再打印a;算法結(jié)束。
真假開始a≥b結(jié)束輸出b,a的值輸入a,b的值輸出a,b的值25(三)三種基本結(jié)構(gòu)順序結(jié)構(gòu):
BA虛線框內(nèi)是一個順序結(jié)構(gòu)。AB兩個框是順序執(zhí)行的:按圖中所畫的框的順序,先執(zhí)行A操作,再執(zhí)行B操作。26選擇結(jié)構(gòu)也稱為分支結(jié)構(gòu)。虛線框內(nèi)是一個選擇結(jié)構(gòu)。此結(jié)構(gòu)包括一個選擇框,框中寫有一個條件,根據(jù)給定的條件是否成立,從而選擇執(zhí)行A框還是B框。例如:條件可以是i≤101條件PAB成立不成立條件PA成立不成立B操作為空時,畫成直線(三)三種基本結(jié)構(gòu)27循環(huán)結(jié)構(gòu)(當(dāng)型---while型)虛線框內(nèi)是一個當(dāng)型循環(huán)結(jié)構(gòu)。當(dāng)給定的條件成立時,執(zhí)行A框中的操作;執(zhí)行完A操作后,判條件P是否成立;如果仍成立,繼續(xù)執(zhí)行A操作;如此反復(fù)執(zhí)行A框中的操作,直到條件P不成立為止。條件PA成立不成立(三)三種基本結(jié)構(gòu)28循環(huán)結(jié)構(gòu)(直到型---until型)條件PA成立不成立虛線框內(nèi)是一個直到型循環(huán)結(jié)構(gòu)。先執(zhí)行A框中的操作;執(zhí)行完A操作后,判條件P是否成立;如果不成立,繼續(xù)執(zhí)行A操作;如此反復(fù)執(zhí)行A框中的操作,直到條件P成立為止。(三)三種基本結(jié)構(gòu)29(四)結(jié)構(gòu)化程序設(shè)計方法三種基本結(jié)構(gòu)的共同點(diǎn):只有一個入口;一個出口;結(jié)構(gòu)內(nèi)每一部分都有機(jī)會被執(zhí)行。結(jié)構(gòu)內(nèi)不存在"死循環(huán)"。如條件永遠(yuǎn)成立時,就成了"死循環(huán)"已經(jīng)證明,用上述三種基本結(jié)構(gòu)順序組成的算法結(jié)構(gòu),可以解決任何復(fù)雜的問題。由基本結(jié)構(gòu)構(gòu)成的算法屬于"結(jié)構(gòu)化"的算法只要符合上述的四個特點(diǎn)的結(jié)構(gòu),都稱為基本結(jié)構(gòu)。30對例1算法的流程圖的結(jié)構(gòu)化分析計算1x3x5x...x101的值
步驟1:令p=1
步驟2:令i=3
步驟3:使pxi,并將乘積放入p中。通常表示為pxi=>p
步驟4:使i的值加2,表示為i+2=>i
步驟5:如果i不大于101,返回到步驟3繼續(xù)向下執(zhí)行;否則算法結(jié)束。p中的值即最后結(jié)果。開始1=>p3=>ip×i=>pi+2=>ii≤101真結(jié)束假輸出p的值這兩個操作之間是順序關(guān)系這是一個循環(huán)結(jié)構(gòu)這是一個順序結(jié)構(gòu)上述算法由基本結(jié)構(gòu)組成31對例2算法的流程圖的結(jié)構(gòu)化分析有兩個數(shù)a,b,按大小順序打印它們。
步驟1:輸入a,b的值;
步驟2:如果a≥b,則先打印a,再打印b;否則,先打印b,再打印a;算法結(jié)束。
真假開始a≥b結(jié)束輸出b,a的值輸入a,b的值輸出a,b的值這是一個選擇結(jié)構(gòu)上述算法由基本結(jié)構(gòu)組成32用基本結(jié)構(gòu)的組合表示算法,從而去掉了流程線。避免了隨意的跳轉(zhuǎn)。1973年兩名美國學(xué)者提出了一種新的流程圖形式,并用二人名字的第一個字母組合命名了該流程圖。即N-S流程圖,也稱盒圖。三種基本結(jié)構(gòu)的表示:P成立AB(五)用N-S流程圖表示算法AB不成立A當(dāng)條件P成立時直到條件P1成立A33前面的算法用N-S流程圖來表示計算1x3x5x...x11的值
步驟1:令p=1
步驟2:令i=1
步驟3:使pxi,并將乘積放入p中。通常表示為pxi=>p
步驟4:使i的值加2,表示為i+2=>i
步驟5:如果i不大于11,返回到步驟3繼續(xù)向下執(zhí)行;否則算法結(jié)束。p中的值即最后結(jié)果。這兩個操作之間是順序關(guān)系1=>P1=>i直到i>11pxi=>p
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版新能源產(chǎn)品銷售合同標(biāo)準(zhǔn)模板
- 2025年度熱鍍鋅鋼管銷售合同范本2篇
- 二零二五年度企業(yè)財務(wù)報表編制與分析合同范本3篇
- 2025年度體育場館教練個人聘用合同示例4篇
- 2025年度二手房全款買賣合同房產(chǎn)交易風(fēng)險提示協(xié)議
- 2025年度城市綜合體商業(yè)空間租賃及品牌入駐協(xié)議
- 跨領(lǐng)域的安全逃生技巧探索
- 綠色能源在農(nóng)業(yè)機(jī)械中的運(yùn)用前景
- 智能家居時代下的家用醫(yī)療設(shè)備選擇
- 2025版新能源產(chǎn)業(yè)信托借款合同范本系列3篇
- 2025年度車輛抵押借款合同模板(專業(yè)二手車交易平臺)
- 2025年人民教育出版社有限公司招聘筆試參考題庫含答案解析
- 非ST段抬高型急性冠脈綜合征診斷和治療指南(2024)解讀
- 2024年安全員-C證考試題庫及答案(1000題)
- 當(dāng)代中外公司治理典型案例剖析(中科院研究生課件)
- GMP-基礎(chǔ)知識培訓(xùn)
- 動力管道設(shè)計手冊-第2版
- 2022年重慶市中考物理試卷A卷(附答案)
- Python繪圖庫Turtle詳解(含豐富示例)
- 煤礦機(jī)電設(shè)備檢修技術(shù)規(guī)范完整版
- 榆林200MWp并網(wǎng)光伏發(fā)電項目可行性研究報告
評論
0/150
提交評論