




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1主講:景雪琴2教材、參考書與課時安排 教材丁海軍等編著,程序設計基礎(chǔ)(C語言),北京航空航天大學出版社 參考書譚浩強,C語言程序設計教程,高等教育出版社吳文虎,計算機語言與程序設計,清華大學出版社3課程要求 課前請做好預習課前請做好預習 保持課堂安靜,頭腦清醒,思維活躍保持課堂安靜,頭腦清醒,思維活躍 認真、獨立、按時完成并提交作業(yè)認真、獨立、按時完成并提交作業(yè) 重視上機實踐,有效利用寶貴的上機時間重視上機實踐,有效利用寶貴的上機時間4學習方法 多上機實踐多上機實踐 程序是調(diào)試出來的調(diào)試工具的使用程序是調(diào)試出來的調(diào)試工具的使用 讀別人的程序讀別人的程序,掌握一些常用算法,積累基本功掌握一些常
2、用算法,積累基本功 不要相信自已的記憶,隨時帶上語言參考書不要相信自已的記憶,隨時帶上語言參考書 準備一本簡明英語小詞典。以便于編程時讀懂每準備一本簡明英語小詞典。以便于編程時讀懂每一個錯誤信息一個錯誤信息 盡量培養(yǎng)自己具有優(yōu)秀程序員的素質(zhì)盡量培養(yǎng)自己具有優(yōu)秀程序員的素質(zhì): 編寫的程序要層次分明編寫的程序要層次分明 縮進縮進 對齊對齊 有足夠的注釋有足夠的注釋 有合適的空行有合適的空行5本節(jié)課的重點:1了解程序設計語言的發(fā)展史2了解簡單的程序理解算法的概念熟練用文字法描述一個數(shù)學問題的解題步驟6程序設計語言的發(fā)展機器語言匯編語言高級語言面向過程面向?qū)ο驝PU指令系統(tǒng),由0、1序列構(gòu)成的指令碼組
3、成如:10000000 加 10010000 減用助記符號描述的指令系統(tǒng)如 ADD A, B面向機器的語言程序設計是數(shù)據(jù)被加工的過程客觀世界可以分類,對象是類的實例對象是數(shù)據(jù)和方法的封裝對象間通過發(fā)送和接受消息發(fā)生聯(lián)系程序設計關(guān)鍵是定義類,并由類派生對象由于匯編語言依賴于硬件體系,且助記符量大難記,于是人們又發(fā)明了更加易用的所謂高級語言。在這種語言下,其語法和結(jié)構(gòu)更類似普通英文,它有更強的表達能力,可方便地表示數(shù)據(jù)的運算和程序的控制結(jié)構(gòu),能更好的描述各種算法,而且容易學習掌握。但高級語言編譯生成的程序代碼一般比用匯編程序語言設計的程序代碼要長,執(zhí)行的速度也慢。所以匯編語言適合編寫一些對速度和代
4、碼長度要求高的程序和直接控制硬件的程序。7 第四代語言第四代語言: 第四代語言(FourthGeneration Language, 以下簡稱4GL)的出現(xiàn)是出于商業(yè)需要,由于商業(yè)應用中需要處理大量的數(shù)據(jù),如何提高使用的速度?4GL這個詞最早是在80年代初期出現(xiàn)在軟件廠商的廣告和產(chǎn)品介紹中的。這一類語言由于具有“面向問題”(用戶只需告知系統(tǒng)做什么,而無需說明怎么做) 、“非過程化程度高”等特點,可以成數(shù)量級地提高軟件生產(chǎn)率,縮短軟件開發(fā)周期,因此贏得了很多用戶。 目前4GL主要面向基于數(shù)據(jù)庫應用的商務領(lǐng)域,不宜于科學計算、高速的實時系統(tǒng)和系統(tǒng)軟件開發(fā)。例如:SQL ,FOXPRO, Power
5、 Builder 程序設計語言的發(fā)展8表表 1.1. 一個語句的三種表示一個語句的三種表示9高級語言的特點由于匯編語言依賴于硬件體系,移植性差,且助記符量大難記,于是人們又發(fā)明了更加易用的所謂高級語言。程序設計語言從機器語言到高級語言的抽象,帶來程序設計語言從機器語言到高級語言的抽象,帶來的主要好處是:的主要好處是:1.高級語言接近數(shù)學語言或人的自然語言 ,易學、易掌握2.高級語言為程序員提供了結(jié)構(gòu)化程序設計的環(huán)境和工具,使得設計出來的程序可讀性好,可維護性強,可靠性高; 3.高級語言遠離機器語言,與具體的計算機硬件關(guān)系不大,因而所寫出來的程序可移植性好,重用率高; 10高級語言種類:從1 9
6、 5 4年,第一個完全脫離機器硬件的高級語言F O RT R A N問世以來,共有幾百種高級語言出現(xiàn),有重要意義的有幾十種,影響較大、使用較普遍的有F O RT R A N、A L G O L、C O B O L、B A S I C、L I S P、S N O B O L、P L / 1、P a s c a l、C、P R O L O G、C + +、V C、V B、D e l p h i、J AVA 等。 高級語言的發(fā)展高級語言發(fā)展高級語言的發(fā)展也經(jīng)歷了從早期語言到結(jié)構(gòu)化程序設計語言,從面向過程語言到面向?qū)ο蟪绦蛘Z言的過程。相應地,軟件的開發(fā)也由最初的個體手工作坊式的封閉式生產(chǎn),發(fā)展為產(chǎn)業(yè)化
7、、流水線式的工業(yè)化生產(chǎn)。 111 9 6 9年,提出了結(jié)構(gòu)化程序設計方法,1 9 7 0年,第一個結(jié)構(gòu)化程序設計語言P a s c a l語言出現(xiàn),標志著結(jié)構(gòu)化程序設計時期的開始。 高級語言的發(fā)展-結(jié)構(gòu)化程序設計方法結(jié)構(gòu)化程序設計方法主要包括:只采用三種基本的程序控制結(jié)構(gòu)來編制程序,從而使程序具有良好的結(jié)構(gòu);程序設計自頂而下;用結(jié)構(gòu)化程序設計流程圖表示算法。 12程序設計的基本目標是用算法對問題的原始數(shù)據(jù)進行處理,從而獲得所期望的效果。要全面提高程序的質(zhì)量,提高編程效率,使程序具有良好的可讀性、可靠性、可維護性以及良好的結(jié)構(gòu),編制出好的程序來,應當是每位程序設計工作者追求的目標。必須掌握正確的
8、程序設計方法和技術(shù)。 程序設計工作者追求的目標13 C語言的發(fā)展- 時間時間:1972-1973:1972-1973- 地點地點: :美國貝爾實驗室美國貝爾實驗室- 目的目的:UNIX:UNIX操作系統(tǒng)操作系統(tǒng)- 設計人設計人: : Ken.ThompsonKen.Thompson和和Dennis.M.RitchieDennis.M.Ritchie C+語言的發(fā)展- 產(chǎn)生背景產(chǎn)生背景: :克服克服C C語言的不足語言的不足- 時間時間:1980:1980- 地點地點: :美國貝爾實驗室美國貝爾實驗室- 目的目的:UNIX:UNIX操作系統(tǒng)操作系統(tǒng)- 設計人設計人: : Bjarne Bjarn
9、e StroustrupStroustrup,“帶類的帶類的C C”14 C語言程序設計 第一章第一章 C C語言概述語言概述C語言的用途:科學計算、編寫系統(tǒng)軟件、控制軟件、圖形、圖象處理軟件、數(shù)據(jù)庫軟件、游戲軟件等15語言簡潔、緊湊、靈活運算符和數(shù)據(jù)類型豐富 程序設計結(jié)構(gòu)化、模塊化 生成目標代碼質(zhì)量高 可移植性好中級語言 C語言程序設計 第一章第一章 C C語言概述語言概述NextC語言特點1632個關(guān)鍵字:(auto break case char constcontinue default do double elseenum extern float for gotoif int lo
10、ng register returnshort signed sizeof static structswitch typedef unsigned union voidvolatile while C語言程序設計 第一章第一章 C C語言概述語言概述179種控制語句:if( )elseswitchfor( )while( )dowhile( )continuebreakgotoreturn C語言程序設計 第一章第一章 C C語言概述語言概述1834種運算符:算術(shù)運算符:+ - * / % + -關(guān)系運算符: = !=邏輯運算符:! & |位運算符 : | &賦值運算符:=
11、及其擴展條件運算符:?:逗號運算符:,指針運算符:* &求字節(jié)數(shù) :sizeof強制類型轉(zhuǎn)換:(類型)分量運算符:. -下標運算符:其它 :( ) - 還有很多常用數(shù)學函數(shù)等 C語言程序設計 第一章第一章 C C語言概述語言概述使用運算符構(gòu)成各種表達式:pow(x,3)+sin(78.96/6)+y%419C數(shù)據(jù)類型基本類型構(gòu)造類型指針類型空類型void定義類型struct數(shù)值類型字符類型char枚舉類型enum整 型浮點型單精度型float雙精度型double短整型short長整型long整型int數(shù)組結(jié)構(gòu)體struct共用體union C語言程序設計 第一章第一章 C C語言概述語
12、言概述201. C程序概念例1-1 第一個程序 Hello,World!/ example1.1 The first C Program#include main() printf(“Hello,World!n”);注釋編譯預處理函數(shù)語句輸出:Hello,World!第一章 C語言程序設計概念21/ 例1.1-2:求三個數(shù)的平方根的和#include#includedouble sqrtsum(int a,int b,int c);void main() int a,b,c; float sumn; printf(請輸入三個整數(shù):); scanf(%d%d%d,&a,&b,&a
13、mp;c); sumn=sqrtsum(a,b,c); printf(三個數(shù)的平方根和=%fn,sumn);double sqrtsum(int x,int y,int z) double t; t=sqrt(x)+sqrt(y)+sqrt(z); return t;例1-2預處理命令函數(shù)原型說明22 格式特點 習慣用小寫字母,大小寫敏感 不使用行號,無程序行概念 可使用空行和空格 常用鋸齒形書寫格式main( ) . . . . . . .#includemain( ) int i , j , sum; sum=0; for(i=1; i10;i+) for(j=1;j10;j+) sum+
14、=i*j ; coutsum;優(yōu)秀程序員的素質(zhì)之一: 使用TAB縮進 對齊 有足夠的注釋 有合適的空行23 結(jié)構(gòu)特點 函數(shù)與主函數(shù) 程序由一個或多個函數(shù)組成 必須有且只能有一個主函數(shù)main() 程序執(zhí)行從main開始,在main中結(jié)束,其它函數(shù)通過嵌套調(diào)用得以執(zhí)行。 程序語句 C程序由語句組成 用“;”作為語句終止符 注釋 /* */為注釋,不能嵌套,多行注釋 /單行注釋 不產(chǎn)生編譯代碼 編譯預處理命令24/ 例1.1-2:求三個數(shù)的平方根的和#include#includedouble sqrtsum(int a,int b,int c);void main() int a,b,c; fl
15、oat sumn; printf(請輸入三個整數(shù):); scanf(%d%d%d,&a,&b,&c); sumn=sqrtsum(a,b,c); printf(三個數(shù)的平方根和=%fn,sumn);double sqrtsum(int x,int y,int z) double t; t=sqrt(x)+sqrt(y)+sqrt(z); return t;組成要素 組成要素 程序主要目的是處理數(shù)據(jù) 數(shù)據(jù)的輸入 數(shù)據(jù)處理 數(shù)據(jù)輸出 數(shù)據(jù)必須先定義后使用 對 數(shù)據(jù)的處理是通過流程控制語句進行的251.2 算法與程序設計方法學 程序=算法+數(shù)據(jù)結(jié)構(gòu) 算法是解決某個問題的思想和方法,由若干個步驟組成。 程序是算法的具體實現(xiàn)。 數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)的組織方式 261.2.1 算法與程序例1-3:(求三個數(shù)的最大值)設計一個算法對任意給定的三個整數(shù)x,y,z,求出其最大值。定義三個變量x,y,z存放三個整數(shù),變量max存放最大值輸入變量x,y,z的值;比較x和y,如果xy,則max=x;否則max=y比較max與z,如果max0 x1= x2= 2-2-2:if d=0 x1=x2=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026版《全品高考》選考復習方案生物03 第三單元 細胞的能量供應和利用10 實驗專題1 實驗設計的基本原則 含答案
- 2026版《全品高考》選考復習方案生物01 第1講 走近細胞含答案
- 河南新蔡小升初數(shù)學試卷
- 美麗鄉(xiāng)村 培訓 課件
- 荒漠化治理項目資金申請報告(模板范文)
- 光伏項目可行性研究報告
- 高海拔新型儲能項目實施方案(參考模板)
- 高精度陶瓷精密加工-洞察及研究
- 內(nèi)容創(chuàng)新驅(qū)動的娛樂產(chǎn)業(yè)全球化-洞察及研究
- 跨界整合機遇-洞察及研究
- 2025年西安市工業(yè)合作聯(lián)社下屬企業(yè)招聘考試試卷
- 托管回饋活動方案
- 2025屆四川內(nèi)江中考數(shù)學試題【含答案】
- 北京市殯葬惠民政策及實施可行性報告
- 危險化學品企業(yè)關(guān)鍵設施安全風險辨識管控指導手冊
- SL631水利水電工程單元工程施工質(zhì)量驗收標準第4部分:堤防與河道整治工程
- 北京玉淵潭中學新初一均衡分班語文試卷
- 銀行物業(yè)服務方案
- 生理心理學(三版)教學課件全套電子教案匯總整本書課件最全教學教程完整版教案(最新)
- KPI績效方案培訓PPT培訓課件
- 職業(yè)危害防護設施、器具檢查維護記錄
評論
0/150
提交評論