版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
C語言程序設(shè)計(jì)第一講C語言概述課程要求課前請(qǐng)做好預(yù)習(xí)保持課堂安靜,頭腦清醒,思維活躍認(rèn)真、獨(dú)立、按時(shí)完成并提交作業(yè)重視上機(jī)實(shí)踐,有效利用寶貴的上機(jī)時(shí)間第一講C語言概述參考書目《C程序設(shè)計(jì)》
譚浩強(qiáng) 清華大學(xué)出版社《C語言程序設(shè)計(jì)》
何欽銘顏暉 高等教育出版社第一講C語言概述第0章幾個(gè)重要的術(shù)語概念1.數(shù)據(jù)凡是能夠被計(jì)算機(jī)接收、識(shí)別、處理的一切符號(hào)稱之為數(shù)據(jù)。2.指令在計(jì)算機(jī)中,指令指示計(jì)算機(jī)進(jìn)行什么操作和操作什么。進(jìn)行什么操作的符號(hào)叫操作碼,操作的對(duì)象叫做操作數(shù)。3.程序程序是為解決某一問題而設(shè)計(jì)的一系列指令,這些指令能被計(jì)算機(jī)識(shí)別和執(zhí)行。人們?cè)O(shè)計(jì)程序的最終目的是用它來解決問題。第一講C語言概述4.程序設(shè)計(jì)程序設(shè)計(jì)指設(shè)計(jì)、書寫及檢查程序的過程。具體來說是指包括分析問題、確定解決方法、設(shè)計(jì)程序結(jié)構(gòu),使問題內(nèi)容或解題計(jì)劃變?yōu)橛?jì)算機(jī)能夠接受的指令或語句序列的過程。5.語言語言用于傳達(dá)信息的表示方法、約定和規(guī)則的集合,是人們交流信息的工具和媒介。程序設(shè)計(jì)語言是人與計(jì)算機(jī)打交道時(shí)交流信息的一類媒介和工具,它由語句組成,包含語法和語義兩個(gè)方面。語法定義了構(gòu)造語言表達(dá)式或句子所需要的各種規(guī)則。語義則是對(duì)構(gòu)成語言成分的含義的定義和說明。
C語言程序設(shè)計(jì)
第0章C語言概述第一講C語言概述第一章C語言概述C語言發(fā)展歷史C語言特點(diǎn)C程序格式和結(jié)構(gòu)特點(diǎn)C程序開發(fā)步驟>>算法及其表示第一講C語言概述1.1C語言發(fā)展歷史程序設(shè)計(jì)語言的發(fā)展機(jī)器語言匯編語言高級(jí)語言面向過程面向?qū)ο驝PU指令系統(tǒng),由0、1序列構(gòu)成的指令碼組成如:10000000加
10010000減用助記符號(hào)描述的指令系統(tǒng)如ADDA,B面向機(jī)器的語言程序設(shè)計(jì)是數(shù)據(jù)被加工的過程客觀世界可以分類,對(duì)象是類的實(shí)例對(duì)象是數(shù)據(jù)和方法的封裝對(duì)象間通過發(fā)送和接受消息發(fā)生聯(lián)系程序設(shè)計(jì)關(guān)鍵是定義類,并由類派生對(duì)象
C語言程序設(shè)計(jì)
第一章C語言概述第一講C語言概述5254565860626466687072747678808284868890929496AdaALGOL60ALGOL68PascalModula-2CPLBCPLBCC++JavaLISPPROLOGCOBOLFORTRAN77FORTRANPL/1Simula67Smalltalk80BASICANSI-BASICQBASICVBFORTRAN90第一講C語言概述C語言發(fā)展過程產(chǎn)生背景產(chǎn)生過程時(shí)間:1972~1973地點(diǎn):美國貝爾實(shí)驗(yàn)室目的:UNIX操作系統(tǒng)設(shè)計(jì)人: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è)計(jì)
第一章C語言概述第一講C語言概述1.2C語言特點(diǎn)語言簡潔、緊湊、靈活運(yùn)算符和數(shù)據(jù)類型豐富程序設(shè)計(jì)結(jié)構(gòu)化、模塊化生成目標(biāo)代碼質(zhì)量高可移植性好語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大C語言允許直接訪問物理地址,能進(jìn)行位操作,能實(shí)現(xiàn)匯編語言的大部分功能,可以直接對(duì)硬件進(jìn)行操作中級(jí)語言
C語言程序設(shè)計(jì)
第一章C語言概述>>>>>>>第一講C語言概述32個(gè)關(guān)鍵字:(由系統(tǒng)定義,不能重作其它定義)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhile<
C語言程序設(shè)計(jì)
第一章C語言概述第一講C語言概述9種控制語句:if()~else~for()~while()~do~while()continuebreakswitchgotoreturn<
C語言程序設(shè)計(jì)
第一章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è)計(jì)
第一章C語言概述第一講C語言概述34種運(yùn)算符:算術(shù)運(yùn)算符:+-*/%++--關(guān)系運(yùn)算符:<<===>>=!=邏輯運(yùn)算符:!&&||位運(yùn)算符:<<>>~|^&賦值運(yùn)算符:=及其擴(kuò)展條件運(yùn)算符:?:逗號(hào)運(yùn)算符:,指針運(yùn)算符:*&求字節(jié)數(shù):sizeof強(qiáng)制類型轉(zhuǎn)換:(類型)分量運(yùn)算符:.->下標(biāo)運(yùn)算符:[]其它:()-<
C語言程序設(shè)計(jì)
第一章C語言概述第一講C語言概述C數(shù)據(jù)類型基本類型構(gòu)造類型指針類型空類型void定義類型typedef數(shù)值類型字符類型char枚舉類型enum整型浮點(diǎn)型單精度型float雙精度型double短整型short長整型long整型int數(shù)組結(jié)構(gòu)體struct共用體union<
C語言程序設(shè)計(jì)
第一章C語言概述第一講C語言概述1.3C程序格式和結(jié)構(gòu)特點(diǎn)例1.1第一個(gè)程序Hello,World!/*example1.1ThefirstCProgram*/#include<stdio.h>voidmain(){printf(“Hello,World!”);}
C語言程序設(shè)計(jì)
第一章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);}運(yùn)行結(jié)果:sum=34函數(shù)語句預(yù)處理命令注釋
C語言程序設(shè)計(jì)
第一章C語言概述第一講C語言概述格式特點(diǎn)習(xí)慣用小寫字母,大小寫敏感不使用行號(hào),無程序行概念可使用空行和空格常用鋸齒形書寫格式
C語言程序設(shè)計(jì)
第一章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){}對(duì)齊有足夠的注釋有合適的空行第一講C語言概述結(jié)構(gòu)特點(diǎn)函數(shù)與主函數(shù)程序由一個(gè)或多個(gè)函數(shù)組成必須有且只能有一個(gè)主函數(shù)main()程序執(zhí)行從main開始,在main中結(jié)束,其它函數(shù)通過嵌套調(diào)用得以執(zhí)行。程序語句C程序由語句組成(可分多行書寫)用“;”作為語句終止符注釋/**/為注釋,不能嵌套不產(chǎn)生編譯代碼例:/*Thisisthemain/*ofexample1.1*/*/非法編譯預(yù)處理命令
C語言程序設(shè)計(jì)
第一章C語言概述第一講C語言概述編輯鏈接編譯執(zhí)行1.4C程序的開發(fā)步驟C程序開發(fā)步驟
C語言程序設(shè)計(jì)
第一章C語言概述程序代碼的錄入,生成源程序*.c語法分析查錯(cuò),翻譯生成目標(biāo)程序*.obj與其它目標(biāo)程序或庫鏈接裝配,生成可執(zhí)行程序*.exe第一講C語言概述§1.4
算法及其表示
什么是程序?沃思(N.Wirth)公式:數(shù)據(jù)結(jié)構(gòu)+算法=程序數(shù)據(jù)結(jié)構(gòu)(DataStructure):對(duì)數(shù)據(jù)的數(shù)據(jù)類型、組成形式、相互關(guān)系等的描述算法(Algorithm):對(duì)數(shù)據(jù)結(jié)構(gòu)的操作的描述一般認(rèn)為:程序=數(shù)據(jù)結(jié)構(gòu)+算法+程序設(shè)計(jì)方法+語言工具和環(huán)境第一講C語言概述什么是算法?算法是解決問題的方法和步驟在計(jì)算機(jī)上的表示任何問題的求解都有一定的“算法”計(jì)算機(jī)算法有很大不同算法是人設(shè)計(jì)出來的計(jì)算機(jī)算法是嚴(yán)謹(jǐn)?shù)乃惴煞譃閮深悾簲?shù)值運(yùn)算算法:主要用于科學(xué)運(yùn)算非數(shù)值運(yùn)算算法:如信息檢索、人工智能等第一講C語言概述算法的特性有零個(gè)或多個(gè)執(zhí)行算法所需要的數(shù)據(jù)作為輸入有一個(gè)或多個(gè)經(jīng)算法處理的數(shù)據(jù)作為輸出包含有限個(gè)步驟,執(zhí)行算法的時(shí)間也是有限時(shí)間算法的每一步所規(guī)定的動(dòng)作應(yīng)該是唯一確定的,沒有二義的。算法的每個(gè)步驟都應(yīng)當(dāng)能有效地執(zhí)行,并得到確定的結(jié)果第一講C語言概述例:求s=1+2+3+……+100問題:求100個(gè)整數(shù)的和s,結(jié)果是s
這100個(gè)整數(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個(gè)整數(shù)的和s,結(jié)果是s
這100個(gè)整數(shù)是從1到100的所有自然數(shù)算法二:設(shè)n為計(jì)數(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個(gè)整數(shù)的和s,結(jié)果是s
這100個(gè)整數(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) 簡潔、易實(shí)現(xiàn)、不直觀常用語:BEGINENDIF…ELSEFORWHILEDO….第一講C語言概述例如:求任意兩個(gè)數(shù)a和b的和算法: 1)輸入a和b 2)計(jì)算a+b,結(jié)果存入sum 3)打印sum用偽代碼表示:
BEGIN INPUTa,b a+b=>sum PRINTa,'+',b,'=',sum END第
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年地震數(shù)據(jù)采集系統(tǒng)項(xiàng)目籌資方案
- PEP人教版小學(xué)六年級(jí)上冊(cè)Unit6 How do you feel B Lets try Lets talk
- 《知識(shí)與個(gè)人知識(shí)》課件
- 電工(初級(jí)工)測(cè)試題及參考答案
- 養(yǎng)老院老人入住資料制度
- 養(yǎng)老院老人安全管理制度
- 捐款型的借款合同
- 《高血壓的診治進(jìn)展》課件
- 2024年生日蛋糕定制與航空旅行禮品合作合同3篇
- 2025年山西貨運(yùn)從業(yè)資格證試題和答案
- 殯葬行業(yè)的風(fēng)險(xiǎn)分析
- 下肢靜脈血栓個(gè)案查房
- 通信工程冬季施工安全培訓(xùn)
- 痛風(fēng)病科普講座課件
- 工作崗位風(fēng)險(xiǎn)評(píng)估報(bào)告
- 護(hù)理查房肺部感染心衰
- 拒執(zhí)罪申請(qǐng)書范本
- 《阿米巴經(jīng)營》讀書分享
- 鉛酸鋰電池回收項(xiàng)目計(jì)劃書
- 北京市朝陽區(qū)2023-2024學(xué)年七年級(jí)上學(xué)期期末檢測(cè)語文試卷+
- (常州專版)江蘇省常州市2023-2024學(xué)年六年級(jí)數(shù)學(xué)上冊(cè)期末學(xué)情調(diào)研檢測(cè)卷一(蘇教版)
評(píng)論
0/150
提交評(píng)論