![第1章C語言程序設(shè)計基礎(chǔ)_第1頁](http://file4.renrendoc.com/view/a4bf238edc0d8e3a59800732d2ec7ce4/a4bf238edc0d8e3a59800732d2ec7ce41.gif)
![第1章C語言程序設(shè)計基礎(chǔ)_第2頁](http://file4.renrendoc.com/view/a4bf238edc0d8e3a59800732d2ec7ce4/a4bf238edc0d8e3a59800732d2ec7ce42.gif)
![第1章C語言程序設(shè)計基礎(chǔ)_第3頁](http://file4.renrendoc.com/view/a4bf238edc0d8e3a59800732d2ec7ce4/a4bf238edc0d8e3a59800732d2ec7ce43.gif)
![第1章C語言程序設(shè)計基礎(chǔ)_第4頁](http://file4.renrendoc.com/view/a4bf238edc0d8e3a59800732d2ec7ce4/a4bf238edc0d8e3a59800732d2ec7ce44.gif)
![第1章C語言程序設(shè)計基礎(chǔ)_第5頁](http://file4.renrendoc.com/view/a4bf238edc0d8e3a59800732d2ec7ce4/a4bf238edc0d8e3a59800732d2ec7ce45.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
應(yīng)用技術(shù)型高等教育“十三五”規(guī)劃教材
C語言程序設(shè)計(第三版)任正云李素若賴玲主編中國水利水電出版社20年前的情況:手機是財富擁有著的象征,播放音樂靠硬件實現(xiàn)10年前的情況:從工業(yè)發(fā)展歷程看未來世界:手機是一種通信工具,智能手機出現(xiàn),播放音樂靠軟件實現(xiàn)
10年后的情況:你所看到的任何一個物體,都具有顯示功能,見到的所有人,都能知道他叫什么,在什么單位人何種職務(wù)……制造技術(shù)、電子技術(shù)的進步信息處理方法和能力的提升今天的情況:智能手機走進千家萬戶,智能手機正在取代數(shù)碼相機、攝像機
1、大學(xué)理工科類專業(yè)的的學(xué)生為什么要開設(shè)程序設(shè)計基礎(chǔ)這門課程2、有很多種程序設(shè)計語言,為什么要選擇C語言3、怎樣才能學(xué)好C語言與本課程有關(guān)的幾個觀點4、程序設(shè)計及程序設(shè)計語言
1、大學(xué)理工科類專業(yè)的的學(xué)生為什么要開設(shè)程序設(shè)計基礎(chǔ)這門課程
(1)是《高等學(xué)校通識類課程教學(xué)實施方案》的明確要求。
《計算機應(yīng)用基礎(chǔ)》,《程序設(shè)計基礎(chǔ)》和《數(shù)據(jù)庫技術(shù)及應(yīng)用》。(2)是時代發(fā)展的需要(3)是專業(yè)背景和應(yīng)用的需要2、有很多種程序設(shè)計語言,為什么要選擇C語言VisualBasicPascalVisualC++CJava
選擇C語言作為程序設(shè)計基礎(chǔ)的理由:C語言是當(dāng)前各種程序設(shè)計語言的共同的語言。C語言是各種語言的基礎(chǔ)。3、怎樣才能學(xué)好C語言數(shù)據(jù)類型:char,int,float,double,void輸入輸出:scanf,printf,getchar,putchar,getch,getche語句:if,else,switch,case,default,break,while,for,do,continue,goto,return運算符:sizeof(1)讀懂別人書寫的程序。
(2)模仿別人寫好的程序,大膽地編寫一些常用的,解決實際問題的程序。
(3)無能有多么好的基礎(chǔ),編寫的程序一定要上機調(diào)試程序設(shè)計及程序設(shè)計語言程序:程序是能被機器識別并能執(zhí)行的一系列的指令代碼。指令代碼是用程序設(shè)計語言來描述的。程序設(shè)計語言是人與計算機對話的工具。程序設(shè)計需要在一定程序設(shè)計語言環(huán)境下進行。程序設(shè)計語言的發(fā)展:
程序設(shè)計語言一般分為機器語言、匯編語言和高級語言三大類。低級語言低級語言一般包括機器語言和匯編語言10000000(進行一次加法運算)10010000(進行一次減法運算)機器語言A+B=>A或ADDA,BA-B=>A或SUBA,B助記符匯編語言
用助記符號描述的指令系統(tǒng)稱為符號語言或匯編語言高級語言
它以人類易于接受的文字來表達解決問題的全過程。用戶不必費時費力去記憶難以理解的0、1代碼,而是可以把主要精力集中于解決問題的算法上。
高級語言分為:面向過程的程序設(shè)計語言和面向?qū)ο蟮某绦蛟O(shè)計語言main()//告訴編譯器C程序由此開始執(zhí)行{//這一段程序開始floata,b;//定義兩個實型變量長a和寬bfloatarea; //定義面積變量areaarea=a*b; //把計算的面積賦給areaprintf("%f",area); //輸出面積area的值return0;}面向過程的程序設(shè)計語言:面向?qū)ο蟮某绦蛟O(shè)計語言:
面向?qū)ο蟮某绦蛟O(shè)計是一種結(jié)構(gòu)模擬方法,它把現(xiàn)實世界看成是由許多對象(object)所組成,對象之間通過相互發(fā)送和接收消息進行聯(lián)系。消息的發(fā)送對象本身運動,形成對象狀態(tài)的變化。從程序結(jié)構(gòu)的角度,每個對象都是一個數(shù)據(jù)和方法的封裝體——抽象數(shù)據(jù)類型。1.1.2C語言的發(fā)展過程C語言的發(fā)展過程可粗略地分為三個階段:1970年至1973年為誕生階段之后至1988年為發(fā)展階段1988年以后為成熟階段1.C語言的誕生C語言是為寫UNIX操作系統(tǒng)而誕生的。1970年美國AT&T公司貝爾實驗室KenThompson為實現(xiàn)UNIX操作系統(tǒng)而提出一種僅供自己使用的工作語言,由于該工作語言是基于1967年由英國劍橋大學(xué)的MartinRichards提出的BCPL語言設(shè)計的,因而被作者命名為B語言,B取自BCPL的第一個字母。B語言被用于在PDP-7計算機上實現(xiàn)了第一個UNIX操作系統(tǒng)。1972年貝爾實驗室的DennisM.Ritchie又在B語言基礎(chǔ)上系統(tǒng)地引入了各種數(shù)據(jù)類型,從而使B語言的數(shù)據(jù)結(jié)構(gòu)類型化。1973年K.Tompson和D.M.Ritchie用C語言重寫了UNIX操作系統(tǒng),推出UNIXv5。1975年又推出UNIXv6。此時的C語言是附屬于UNIX操作系統(tǒng)的。2.C語言的發(fā)展1977年C語言的作者發(fā)表了不依賴于具體機器系統(tǒng)的C語言編譯文本《可移植C語言編譯程序》,從而推動了UNIX操作系統(tǒng)在各種機器上的實現(xiàn)以及UNIX操作系統(tǒng)的不斷發(fā)展。1978年以后相繼推出了UNIXv7,UNIXsystemV。使人們普遍注意到C語言的突出優(yōu)點,從而又促進了C語言的迅速推廣。1978年BrianW.Kernighan和D.M.Ritchie以UNIXv7中編譯程序為基礎(chǔ)寫了影響深遠的名著TheCProgrammingLanguage,這本書上介紹的C語言是以后各種C語言版本的基礎(chǔ),被稱為傳統(tǒng)C語言。1978年以后,C語言先后移植到各種大型機、中型機、小型機及微型機上。目前,C語言成為世界上使用最廣泛的高級程序設(shè)計語言,且不依賴于UNIX操作系統(tǒng)而獨立存在。3.C語言的成熟1978年以后,C語言的不斷發(fā)展產(chǎn)生了各種C語言版本,不同的C語言版本對傳統(tǒng)C語言都有所擴充和發(fā)展。1983年,美國國家標(biāo)準(zhǔn)協(xié)會(ANSI)綜合了各版本對C的擴充和發(fā)展,制定了新標(biāo)準(zhǔn),稱為ANSIC。Kernighan和D.M.Ritchie按ANSIC標(biāo)準(zhǔn)重寫了他們的經(jīng)典著作,于1990年正式發(fā)表了國際標(biāo)準(zhǔn)化組織(ISO)公布的C語言標(biāo)準(zhǔn)。1988年以后推出的各種C語言版本與ANSIC是相容的。
1999年發(fā)布的C99在基本保留C語言特征的基礎(chǔ)上,增加了一系列C++中面向?qū)ο蟮男绿卣?,使C99成為C++的一個子集。C99是C89的擴充,C語言也從過程化的語言發(fā)展成為面向?qū)ο蟮恼Z言。1.2C語言的特點語言簡潔、緊湊,使用方便、靈活。一共只有32個關(guān)鍵字9種控制語句程序書寫形式自由,主要用小寫字母表示。C語言PASCAL語言含義{}BEGIN...END復(fù)合語句if(e)SIF(e)THENS條件語句inti;VARi:INTEGER定義i為整型變量inta[10];VARa:ARRAY[1..10]OFINTEGER定義a為整型一維數(shù)組intf();FUNCTIONf():INTEGER定義f為返回整型值的函數(shù)int*p;VARp:INTEGER定義p為指向整型變量的指針變量i+=2;i:=i+2賦值語句,使i+2=>ii++,++ii:=i+1i自增值1,i+1=>i1.2C語言的特點運算符豐富。共有34種運算符。數(shù)據(jù)結(jié)構(gòu)豐富,具有現(xiàn)代化語言的各種數(shù)據(jù)結(jié)構(gòu)。C語言的數(shù)據(jù)類型有整型、實型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等。能實現(xiàn)各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)(如鏈表、樹、棧等)的運算,尤其是指針類型數(shù)據(jù)。具有結(jié)構(gòu)化的控制語句if...else語句while語句do...while語句switch語句for語句1.2C語言的特點語法限制不太嚴(yán)格,程序設(shè)計自由度大。對數(shù)組下標(biāo)越界不做檢查,由程序編寫者自己保證程序的正確。整型數(shù)據(jù)與字符型數(shù)據(jù)可以通用。
C語言能進行位(bit)操作,能實現(xiàn)匯編語言的大部分功能,可以直接對硬件進行操作。C語言既具有高級語言的特點,又具有低級語言的許多功能,可用來編寫系統(tǒng)軟件。生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。一般只比匯編程序生成的目標(biāo)代碼效率低10%~20%。程序可移植性好(與匯編語言比)。基本上不做修改就能用于各種型號的計算機和各種操作系統(tǒng)。
C程序結(jié)構(gòu)【例1.1】C程序輸出。main(){ printf("ThisisaCprogram.\n"); return0;}作用有兩個:一個使main()函數(shù)終止(從而結(jié)束程序),二是指出main()函數(shù)的返回值是0,這個值表明函數(shù)正常結(jié)束。C程序結(jié)構(gòu)【例1.2】設(shè)計一個程序,計算兩數(shù)之和并輸出結(jié)果。main(){inta,b,sum; //這是定義三個整型變量a,b,suma=123;b=456;//給a、b賦初值sum=a+b; //計算a、b之和賦給sumprintf("sum=%d\n",sum); //輸出sum的值return0;}C程序結(jié)構(gòu)【例1.3】輸入兩個整數(shù),計算兩者較大的數(shù),并輸出。main() {inta,b,c;intmax(intx,inty);scanf("%d,%d",&a,&b);c=max(a,b);printf("max=%d",c);return0;}
intmax(intx,inty){intz;if(x>y)z=x;elsez=y;returnz;}1.3.2C程序結(jié)構(gòu)(1)C程序由函數(shù)構(gòu)成(函數(shù)是C程序的基本單位)
一個C源程序至少包含一個main函數(shù),也可以包含一個main函數(shù)和若干個其他函數(shù)。函數(shù)是C程序的基本單位。被調(diào)用的函數(shù)可以是系統(tǒng)提供的庫函數(shù),也可以是用戶根據(jù)需要自己編寫設(shè)計的函數(shù)。C函數(shù)庫非常豐富,ANSIC提供100多個庫函數(shù),TurboC提供300多個庫函數(shù)。1.3.2C程序結(jié)構(gòu)(2)main函數(shù)(主函數(shù))是每個程序執(zhí)行的起始點。一個C程序總是從main函數(shù)開始執(zhí)行,而不論main函數(shù)在程序中的位置??梢詫ain函數(shù)放在整個程序的最前面,也可以放在整個程序的最后,或者放在其他函數(shù)之間。1.3.2C程序結(jié)構(gòu)(3)一個函數(shù)由函數(shù)首部和函數(shù)體兩部分組成。函數(shù)首部:一個函數(shù)的第一行。返回值類型函數(shù)名([函數(shù)參數(shù)類型1函數(shù)參數(shù)名1][,…,函數(shù)參數(shù)類型2,函數(shù)參數(shù)名2])intmax(intx,inty)函數(shù)體:函數(shù)首部下用一對{}括起來的部分。如果函數(shù)體內(nèi)有多個{},最外層是函數(shù)體的范圍。函數(shù)體一般包括聲明、執(zhí)行兩部分。[聲明部分]:定義本函數(shù)所使用的變量。執(zhí)行部分]:由若干條語句組成命令序列(可以在其中調(diào)用其他函數(shù))。1.3.2C程序結(jié)構(gòu)(4)C程序書寫格式自由。一行可以寫幾個語句,一個語句也可以寫在多行上。C程序沒有行號,也沒有FORTRAN、COBOL那樣嚴(yán)格規(guī)定書寫格式。每條語句的最后必須有一個分號“;”表示語句的結(jié)束。1.3.2C程序結(jié)構(gòu)(5)可以使用“/*”和“*/”對C程序中的任何部分作注釋。如果一開始編程就對程序進行注釋,雖然剛開始麻煩一些,但日后可以節(jié)省大量的時間。一個實際的系統(tǒng)往往是多人合作開發(fā),程序文檔、注釋是其中重要的交流工具。行注釋“//”塊注釋“/*”和“*/”1.3.2C程序結(jié)構(gòu)(6)C語言本身不提供輸入/輸出語句,輸入/輸出的操作是通過調(diào)用庫函數(shù)(scanf,printf)完成。輸入/輸出操作涉及具體計算機硬件,把輸入/輸出操作放在函數(shù)中處理,可以簡化C語言和C的編譯系統(tǒng),便于C語言在各種計算機上實現(xiàn)。1.4源程序的編輯、編譯、連接與運行用高級語言編寫的程序
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年山東省職教高考《職測》核心考點必刷必練試題庫(含答案)
- 《鄉(xiāng)村振興促進法》參考試題庫80題(含答案)
- 《公務(wù)員法》考試題庫500題(含答案)
- 2025年江蘇農(nóng)林職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 預(yù)防與解決勞動糾紛
- 人工智能應(yīng)用開發(fā)合同
- 幼兒園紙張活動策劃方案模板五篇
- 建筑施工合同管理培訓(xùn).x
- 租賃房屋租賃合同
- 企業(yè)業(yè)務(wù)咨詢服務(wù)簡單合同
- 2023年四川省公務(wù)員錄用考試《行測》真題卷及答案解析
- 機電一體化系統(tǒng)設(shè)計-第5章-特性分析
- 2025年高考物理復(fù)習(xí)壓軸題:電磁感應(yīng)綜合問題(原卷版)
- 鑄鋁焊接工藝
- 《社區(qū)康復(fù)》課件-第六章 骨關(guān)節(jié)疾病、損傷患者的社區(qū)康復(fù)實踐
- 2024年湖南省公務(wù)員考試行政職業(yè)能力測驗真題
- 攀巖運動之繩結(jié)技巧課程
- 防打架毆斗安全教育課件
- 采購行業(yè)的swot分析
- 石家莊長安區(qū)幼兒園信息統(tǒng)計表
- 最終稿(教學(xué)評一致)課件
評論
0/150
提交評論