版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
C語言程序設(shè)計第一講C語言概述課程要求課前請做好預(yù)習(xí)保持課堂安靜,頭腦清醒,思維活躍認(rèn)真、獨立、按時完成并提交作業(yè)重視上機(jī)實踐,有效利用寶貴的上機(jī)時間第一講C語言概述參考書目《C程序設(shè)計》
譚浩強(qiáng) 清華大學(xué)出版社《C語言程序設(shè)計》
何欽銘顏暉 高等教育出版社第一講C語言概述第0章幾個重要的術(shù)語概念1.數(shù)據(jù)凡是能夠被計算機(jī)接收、識別、處理的一切符號稱之為數(shù)據(jù)。2.指令在計算機(jī)中,指令指示計算機(jī)進(jìn)行什么操作和操作什么。進(jìn)行什么操作的符號叫操作碼,操作的對象叫做操作數(shù)。3.程序程序是為解決某一問題而設(shè)計的一系列指令,這些指令能被計算機(jī)識別和執(zhí)行。人們設(shè)計程序的最終目的是用它來解決問題。第一講C語言概述4.程序設(shè)計程序設(shè)計指設(shè)計、書寫及檢查程序的過程。具體來說是指包括分析問題、確定解決方法、設(shè)計程序結(jié)構(gòu),使問題內(nèi)容或解題計劃變?yōu)橛嬎銠C(jī)能夠接受的指令或語句序列的過程。5.語言語言用于傳達(dá)信息的表示方法、約定和規(guī)則的集合,是人們交流信息的工具和媒介。程序設(shè)計語言是人與計算機(jī)打交道時交流信息的一類媒介和工具,它由語句組成,包含語法和語義兩個方面。語法定義了構(gòu)造語言表達(dá)式或句子所需要的各種規(guī)則。語義則是對構(gòu)成語言成分的含義的定義和說明。
C語言程序設(shè)計
第0章C語言概述第一講C語言概述第一章C語言概述C語言發(fā)展歷史C語言特點C程序格式和結(jié)構(gòu)特點C程序開發(fā)步驟>>算法及其表示第一講C語言概述1.1C語言發(fā)展歷史程序設(shè)計語言的發(fā)展機(jī)器語言匯編語言高級語言面向過程面向?qū)ο驝PU指令系統(tǒng),由0、1序列構(gòu)成的指令碼組成如:10000000加
10010000減用助記符號描述的指令系統(tǒng)如ADDA,B面向機(jī)器的語言程序設(shè)計是數(shù)據(jù)被加工的過程客觀世界可以分類,對象是類的實例對象是數(shù)據(jù)和方法的封裝對象間通過發(fā)送和接受消息發(fā)生聯(lián)系程序設(shè)計關(guān)鍵是定義類,并由類派生對象
C語言程序設(shè)計
第一章C語言概述第一講C語言概述5254565860626466687072747678808284868890929496AdaALGOL60ALGOL68PascalModula-2CPLBCPLBCC++JavaLISPPROLOGCOBOLFORTRAN77FORTRANPL/1Simula67Smalltalk80BASICANSI-BASICQBASICVBFORTRAN90第一講C語言概述C語言發(fā)展過程產(chǎn)生背景產(chǎn)生過程時間:1972~1973地點:美國貝爾實驗室目的:UNIX操作系統(tǒng)設(shè)計人:Ken.Thompson和Dennis.M.RitchieC標(biāo)準(zhǔn)標(biāo)準(zhǔn)C:K&R合著《TheCProgrammingLanguage》ANSIC:1983年87ANSIC:1987年1990年國際標(biāo)準(zhǔn)的ANSIC
C語言程序設(shè)計
第一章C語言概述第一講C語言概述1.2C語言特點語言簡潔、緊湊、靈活運算符和數(shù)據(jù)類型豐富程序設(shè)計結(jié)構(gòu)化、模塊化生成目標(biāo)代碼質(zhì)量高可移植性好語法限制不太嚴(yán)格,程序設(shè)計自由度大C語言允許直接訪問物理地址,能進(jìn)行位操作,能實現(xiàn)匯編語言的大部分功能,可以直接對硬件進(jìn)行操作中級語言
C語言程序設(shè)計
第一章C語言概述>>>>>>>第一講C語言概述32個關(guān)鍵字:(由系統(tǒng)定義,不能重作其它定義)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhile<
C語言程序設(shè)計
第一章C語言概述第一講C語言概述9種控制語句:if()~else~for()~while()~do~while()continuebreakswitchgotoreturn<
C語言程序設(shè)計
第一章C語言概述第一講C語言概述例C語言與Pascal語言比較C語言
Pascal語言含義{}
BEGIN….END
復(fù)合語句if(e)s;
IF(e)THENs
條件語句inti
;
VARi:INTEGER
定義i為整型變量inta[10];
VARa:ARRAY[1..10]OFINTEGER
定義整型數(shù)組aintf();
FUNCTIONf():INTEGER
定義f為返值整型的函數(shù)int*p;
VARp:INTEGER
定義p為指向整型變量的指針i+=2;
i=i+2
賦值i+2ii++,++i;
i=i+1 i自增值結(jié)論:C比Pascal簡練,源程序短。<
C語言程序設(shè)計
第一章C語言概述第一講C語言概述34種運算符:算術(shù)運算符:+-*/%++--關(guān)系運算符:<<===>>=!=邏輯運算符:!&&||位運算符:<<>>~|^&賦值運算符:=及其擴(kuò)展條件運算符:?:逗號運算符:,指針運算符:*&求字節(jié)數(shù):sizeof強(qiáng)制類型轉(zhuǎn)換:(類型)分量運算符:.->下標(biāo)運算符:[]其它:()-<
C語言程序設(shè)計
第一章C語言概述第一講C語言概述C數(shù)據(jù)類型基本類型構(gòu)造類型指針類型空類型void定義類型typedef數(shù)值類型字符類型char枚舉類型enum整型浮點型單精度型float雙精度型double短整型short長整型long整型int數(shù)組結(jié)構(gòu)體struct共用體union<
C語言程序設(shè)計
第一章C語言概述第一講C語言概述1.3C程序格式和結(jié)構(gòu)特點例1.1第一個程序Hello,World!/*example1.1ThefirstCProgram*/#include<stdio.h>voidmain(){printf(“Hello,World!”);}
C語言程序設(shè)計
第一章C語言概述注釋編譯預(yù)處理函數(shù)語句輸出:Hello,World!第一講C語言概述例1.2/*example1.1calculatethesumofaandb*/#include<stdio.h>/*Thisisthemainprogram*/voidmain(){
int
a,b,sum;
a=10;
b=24;
sum=add(a,b);
printf(”sum=%d\n",sum);}/*Thisfunctioncalculatesthesumofxandy*/int
add(int
x,inty){
int
z;
z=x+y;
return(z);}運行結(jié)果:sum=34函數(shù)語句預(yù)處理命令注釋
C語言程序設(shè)計
第一章C語言概述第一講C語言概述格式特點習(xí)慣用小寫字母,大小寫敏感不使用行號,無程序行概念可使用空行和空格常用鋸齒形書寫格式
C語言程序設(shè)計
第一章C語言概述main(){
……………….………………
…………..…………..
……………….
………………………….
……………….………………..}#include<stdio.h>voidmain(){
inti,j,sum;sum=0;for(i=1;i<10;i++){for(j=1;j<10;j++){sum+=i*j;}}printf(“%d\n”,sum);}優(yōu)秀程序員的素質(zhì)之一:使用TAB縮進(jìn){}對齊有足夠的注釋有合適的空行第一講C語言概述結(jié)構(gòu)特點函數(shù)與主函數(shù)程序由一個或多個函數(shù)組成必須有且只能有一個主函數(shù)main()程序執(zhí)行從main開始,在main中結(jié)束,其它函數(shù)通過嵌套調(diào)用得以執(zhí)行。程序語句C程序由語句組成(可分多行書寫)用“;”作為語句終止符注釋/**/為注釋,不能嵌套不產(chǎn)生編譯代碼例:/*Thisisthemain/*ofexample1.1*/*/非法編譯預(yù)處理命令
C語言程序設(shè)計
第一章C語言概述第一講C語言概述編輯鏈接編譯執(zhí)行1.4C程序的開發(fā)步驟C程序開發(fā)步驟
C語言程序設(shè)計
第一章C語言概述程序代碼的錄入,生成源程序*.c語法分析查錯,翻譯生成目標(biāo)程序*.obj與其它目標(biāo)程序或庫鏈接裝配,生成可執(zhí)行程序*.exe第一講C語言概述§1.4
算法及其表示
什么是程序?沃思(N.Wirth)公式:數(shù)據(jù)結(jié)構(gòu)+算法=程序數(shù)據(jù)結(jié)構(gòu)(DataStructure):對數(shù)據(jù)的數(shù)據(jù)類型、組成形式、相互關(guān)系等的描述算法(Algorithm):對數(shù)據(jù)結(jié)構(gòu)的操作的描述一般認(rèn)為:程序=數(shù)據(jù)結(jié)構(gòu)+算法+程序設(shè)計方法+語言工具和環(huán)境第一講C語言概述什么是算法?算法是解決問題的方法和步驟在計算機(jī)上的表示任何問題的求解都有一定的“算法”計算機(jī)算法有很大不同算法是人設(shè)計出來的計算機(jī)算法是嚴(yán)謹(jǐn)?shù)乃惴煞譃閮深悾簲?shù)值運算算法:主要用于科學(xué)運算非數(shù)值運算算法:如信息檢索、人工智能等第一講C語言概述算法的特性有零個或多個執(zhí)行算法所需要的數(shù)據(jù)作為輸入有一個或多個經(jīng)算法處理的數(shù)據(jù)作為輸出包含有限個步驟,執(zhí)行算法的時間也是有限時間算法的每一步所規(guī)定的動作應(yīng)該是唯一確定的,沒有二義的。算法的每個步驟都應(yīng)當(dāng)能有效地執(zhí)行,并得到確定的結(jié)果第一講C語言概述例:求s=1+2+3+……+100問題:求100個整數(shù)的和s,結(jié)果是s
這100個整數(shù)是從1到100的所有自然數(shù)算法一:設(shè)s為累加單元1)將1送到S中;2)把2加到S中(即S中的內(nèi)容1加2后再送回S中,下同)3)把3加到S中;……100)把100加到S中;101)把S中的結(jié)果輸出。第一講C語言概述例:求s=1+2+3+……+100問題:求100個整數(shù)的和s,結(jié)果是s
這100個整數(shù)是從1到100的所有自然數(shù)算法二:設(shè)n為計數(shù)單元,s為累加單元1)將0送到S中,將0送到n中;2)將n+1送到n中,再把n加到s中;3)判斷n的值是否大于等于100?4)若n<100,轉(zhuǎn)到2;否則向下進(jìn)行;5)輸出s中的內(nèi)容。第一講C語言概述例:求s=1+2+3+……+100問題:求100個整數(shù)的和s,結(jié)果是s
這100個整數(shù)是從1到100的所有自然數(shù)算法三:“聰明的人的方法”s=1+2+3+……+100=100+(1+99)+(2+98)+……+(49+51)+50=50*100+50=5050第一講C語言概述算法的表示方法1.自然語言描述(如上) 通俗、冗長、易“歧義”2.算法語言描述1)偽代碼(P-Code) 簡潔、易實現(xiàn)、不直觀常用語:BEGINENDIF…ELSEFORWHILEDO….第一講C語言概述例如:求任意兩個數(shù)a和b的和算法: 1)輸入a和b 2)計算a+b,結(jié)果存入sum 3)打印sum用偽代碼表示:
BEGIN INPUTa,b a+b=>sum PRINTa,'+',b,'=',sum END第
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年設(shè)備采購合同補(bǔ)充協(xié)議
- 2024版保健品藥品購銷合同
- 招商引資工作方案模版(3篇)
- 2025版食品行業(yè)市場調(diào)研與委托合同3篇
- 2025年銀行客服年終工作總結(jié)(3篇)
- 2024年特色農(nóng)業(yè)發(fā)展合同 agricultural development
- 2025年度新能源汽車充電站車位租賃及維護(hù)服務(wù)合同3篇
- 工貿(mào)企業(yè)糧破工安全操作規(guī)程模版(3篇)
- 2024深圳二手住宅買賣合同
- 2024年皮具禮品箱包定制及品牌推廣服務(wù)合同3篇
- 插座安裝 服務(wù)合同范本
- 承德市承德縣2022-2023學(xué)年七年級上學(xué)期期末歷史試題【帶答案】
- CJT511-2017 鑄鐵檢查井蓋
- 轉(zhuǎn)科患者交接記錄單
- 現(xiàn)代漢語智慧樹知到期末考試答案章節(jié)答案2024年昆明學(xué)院
- 人教版六年級數(shù)學(xué)(上冊)期末調(diào)研題及答案
- 舞蹈療法在減少壓力和焦慮中的作用
- 計算機(jī)應(yīng)用專業(yè)大學(xué)生職業(yè)生涯規(guī)劃
- 設(shè)備的故障管理
- 女性婦科保健知識講座
- 《電力系統(tǒng)治安反恐防范要求 第3部分:水力發(fā)電企業(yè)》
評論
0/150
提交評論