C語言-文檔資料_第1頁
C語言-文檔資料_第2頁
C語言-文檔資料_第3頁
C語言-文檔資料_第4頁
C語言-文檔資料_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1第1章 C語言概述n1.1 C語言出現(xiàn)的歷史背景n1.2 C語言的特點(diǎn)n1.3 簡單的C語言程序介紹n1.4 C程序的上機(jī)步驟21.1 C語言出現(xiàn)的歷史背景n一、計(jì)算機(jī)與程序n未裝任何軟件的計(jì)算機(jī)稱為“裸機(jī)”,只有裝有操作系統(tǒng)和應(yīng)用軟件的計(jì)算機(jī)才能正常工作n操作系統(tǒng)和應(yīng)用軟件均是用計(jì)算機(jī)語言編成的n要控制計(jì)算機(jī)完成人們想要做的工作,必須懂得和計(jì)算機(jī)進(jìn)行交流的語言。也許你會(huì)說,我不懂得計(jì)算機(jī)語言,不也能用計(jì)算輕松完成工作嗎?實(shí)際上,你所使用的各類軟件就是人們編制的計(jì)算機(jī)程序31.1 C語言出現(xiàn)的歷史背景(續(xù))n計(jì)算機(jī)程序:就是由人事先規(guī)定的計(jì)算機(jī)完成某項(xiàng)工作的操作步驟。每一步驟具體的內(nèi)容由計(jì)算

2、機(jī)能夠理解的指令或語句來描述。這些指令或語句告訴計(jì)算機(jī)“做什么”和“怎么做” 41.1 C語言出現(xiàn)的歷史背景(續(xù))n二、程序語言n我們已經(jīng)知道計(jì)算機(jī)的工作是受程序控制的,而任何一個(gè)計(jì)算機(jī)程序必須由某種程序設(shè)計(jì)語言來描述n程序設(shè)計(jì)語言經(jīng)歷了機(jī)器語言、匯編語言、高級(jí)語言的一個(gè)發(fā)展過程51.1 C語言出現(xiàn)的歷史背景(續(xù))機(jī)器語言匯編語言高級(jí)語言面向過程面向?qū)ο蟪绦蛟O(shè)計(jì)是數(shù)據(jù)被加工的過程61.1 C語言出現(xiàn)的歷史背景(續(xù))n機(jī)器語言(二進(jìn)制代碼 0和1)n01110000 00000010 B0 02n00000100 00000011 04 03 n00001100 00110000 0C 30n1

3、0001010 11010000 8A D0n10110100 00000010 B4 02n11001101 00100001 CD 21n10110100 01001100 B4 4Cn11001101 00100001 CD 217n匯編語言(低級(jí)語言 助記符)nCODE SEGMENTn ASSUME CS:CODEnSTART:MOV AL,2n ADD AL,3n OR AL,30Hn MOV DL,ALn MOV AH,02Hn INT 21H 1.1 C語言出現(xiàn)的歷史背景(續(xù))nMOV AH,4CHn INT 21HnCODE ENDSn END START 81.1 C語言出

4、現(xiàn)的歷史背景(續(xù))n高級(jí)語言 C語言n main()nn int a,b,c;n a=2;b=3;n c=a+b;n printf(c=%d,c);nn高級(jí)語言 BASIC語言na=2nb=3nc=a+bnprint (c=);c91.1 C語言出現(xiàn)的歷史背景(續(xù))n語言是高級(jí)語言(具有高級(jí)語言的形式),但具有一些低級(jí)語言的特性,因此,人們又稱為中級(jí)語言n常見程序語言簡介:nFortran第一個(gè)高級(jí)程序設(shè)計(jì)語言,50年代由IBM發(fā)明,主要用于科學(xué)計(jì)算,在科學(xué)計(jì)算上有獨(dú)特之處 nCOBOL主要數(shù)據(jù)處理,現(xiàn)在仍在大型數(shù)據(jù)庫等應(yīng)用中廣泛使用 101.1 C語言出現(xiàn)的歷史背景(續(xù))nBASIC主要用于

5、初級(jí)計(jì)算機(jī)教育,在微機(jī)發(fā)明后,得到大發(fā)展。微軟公司靠他起步 nPASCAL專為計(jì)算機(jī)教育而發(fā)明的程序設(shè)計(jì)語言,對(duì)于促進(jìn)結(jié)構(gòu)化程序設(shè)計(jì)方法的普及有很大作用 nC/C+C與Unix操作系統(tǒng)結(jié)伴而生,BELL實(shí)驗(yàn)室發(fā)明,目標(biāo)代碼效率高,可以用來編系統(tǒng)軟件。C+也是BELL實(shí)驗(yàn)室發(fā)明,是在C上增加了面向?qū)ο筇匦?,是現(xiàn)在使用最廣泛的程序設(shè)計(jì)語言之一 nJava面向?qū)ο蟪绦蛟O(shè)計(jì)語言,面向internet,Sun公司發(fā)明,可以一次編譯,隨處運(yùn)行n數(shù)據(jù)庫FoxPro、SQL、Oracle等 11121.1 C語言出現(xiàn)的歷史背景(續(xù))n三、語言歷史nALGOL60(1960,面向問題的高級(jí)語言,不宜用來編寫系統(tǒng)

6、程序)nCPL(1963,英國劍橋大學(xué),規(guī)模較大)nBCPL(1967,劍橋大學(xué)Matin Richards,作了簡化)nB(1970,美國貝爾實(shí)驗(yàn)室Ken Thompson,進(jìn)一步簡化,又過于簡單,功能有限)nC(1972-1973,貝爾實(shí)驗(yàn)室D.M.Ritchie,保持了精練,接近硬件的優(yōu)點(diǎn),克服了B語言過于簡單的缺點(diǎn))131.1 C語言出現(xiàn)的歷史背景(續(xù))n1973年,K.Thompson和D.M.Ritchie合作用C改寫UNIX(第5版)n1975年出的的UNIX第6版使人們普遍注意C語言n以1978年發(fā)表的UNIX第7版中的C編譯程序?yàn)榛A(chǔ),Brian W.Kernighan和De

7、nnis M.Ritchie合著了影響深遠(yuǎn)的The C Programming Language,書中介紹的C語言稱為標(biāo)準(zhǔn)Cn1983年,美國國家標(biāo)準(zhǔn)化協(xié)會(huì)(ANSI)制定了新的標(biāo)準(zhǔn),稱為ANSI C141.1 C語言出現(xiàn)的歷史背景(續(xù))n早期的C語言主要是用于UNIX系統(tǒng)。由于語言的強(qiáng)大功能和各方面的優(yōu)點(diǎn)逐漸為人們認(rèn)識(shí),到了八十年代,C開始進(jìn)入其它操作系統(tǒng),并很快在各類大、中、小和微型計(jì)算機(jī)上得到了廣泛的使用。成為當(dāng)代最優(yōu)秀的程序設(shè)計(jì)語言之一n現(xiàn)在微機(jī)上常用的C語言編譯系統(tǒng)有Microsoft C,Turbo C,Quick C15C語言適合做什么161.2 C語言的特點(diǎn)(P2-P3)n語言

8、簡潔、緊湊,使用方便、靈活。一共只有32個(gè)關(guān)鍵字P365,9種控制語句P370n數(shù)據(jù)類型關(guān)鍵字(12個(gè)):char, double, enum, float, int, long, short, signed, struct, union, unsigned, voidn控制語句關(guān)鍵字(12個(gè)):break, case, continue, default, do, else, for, goto, if, return, switch, whilen存儲(chǔ)類型關(guān)鍵字(4個(gè)):auto, extern, register, staticn其它關(guān)鍵字(4個(gè)):const, sizeof, type

9、def, volatile171.2 C語言的特點(diǎn)(續(xù))n運(yùn)算符豐富。共有34種運(yùn)算符P365-P366n數(shù)據(jù)結(jié)構(gòu)豐富,便于數(shù)據(jù)的描述與存儲(chǔ)n具有結(jié)構(gòu)化的控制語句。用函數(shù)作為程序模塊以實(shí)現(xiàn)程序的模塊化n語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大nC語言允許直接訪問物理地址181.2 C語言的特點(diǎn)(續(xù))n生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高n用C語言寫的程序可移植性較好191.3 簡單的C程序介紹n任何一種程序設(shè)計(jì)語言都具有任何一種程序設(shè)計(jì)語言都具有特定的語特定的語法規(guī)則和規(guī)定法規(guī)則和規(guī)定的表達(dá)方法。一個(gè)程序只的表達(dá)方法。一個(gè)程序只有有嚴(yán)格嚴(yán)格按照語言規(guī)定的語法和表達(dá)方式按照語言規(guī)定的語法和表達(dá)方式編寫,

10、才能保證編寫的程序在計(jì)算機(jī)中編寫,才能保證編寫的程序在計(jì)算機(jī)中能正確地被執(zhí)行,同時(shí)也便于閱讀和理能正確地被執(zhí)行,同時(shí)也便于閱讀和理解。解。201.3 簡單的C程序介紹(續(xù))n例1.1(L1_1)n#include /*文件包含,見9.2*/nint main(void)/*主函數(shù)*/n/*函數(shù)體開始*/n printf(This is a c Program.n);n/*函數(shù)體結(jié)束*/n運(yùn)行結(jié)果:在屏幕上顯示一串文字。211.3 簡單的C程序介紹(續(xù))n例1.2(L1_2)n#include nint main(void)nnint a,b,sum;/*這是定義變量*/na=123;b=456

11、;/*以下3行為C語句*/nsum=a+b;nprintf(Sum is %dn,sum);nreturn 0;nn運(yùn)行結(jié)果:在屏幕上顯示Sum is 579221.3 簡單的C程序介紹(續(xù))n例1.3(L1_3)n#include nint main(void)/*主函數(shù)*/n int a,b,c;/*定義變量*/n scanf(%d,%d,&a,&b);/*輸入變量*/n c=max(a,b);/*調(diào)用子函數(shù)*/n printf(Max=%dn,c);/*輸出結(jié)果*/nnint max(int x,int y)/*定義子函數(shù)*/函數(shù)首部函數(shù)首部n int z;/*定義子函數(shù)

12、中變量*/n if(xy) z=x;n else z=y; 函數(shù)體函數(shù)體nreturn z;/*返回結(jié)果*/nyxyyxxyxf),(231.3 簡單的C程序介紹(續(xù))n例1.3運(yùn)行結(jié)果:n屏幕先等待用戶輸入n用戶輸入:5,8n屏幕輸出8241.3 簡單的C程序介紹(續(xù))n例1.4nL1_4_1繪制自定義圖形nL1_4_2繪制圖形nL1_4_3繪制自定義圖形的移動(dòng)nL1_4_4繪制自定義圖形移動(dòng)并且適應(yīng)顯示器nL1_4_5通過用戶選擇,加載相應(yīng)的結(jié)果251.3 簡單的C程序介紹(續(xù))n由C程序示例得出C程序特性: 1. C程序由函數(shù)構(gòu)成,有且僅有一個(gè)main函數(shù),可以有多個(gè)子函數(shù)(0個(gè)或多個(gè))

13、。函數(shù)是C程序的基本單位261.3 簡單的C程序介紹(續(xù)) 2. 一個(gè)函數(shù)基本結(jié)構(gòu):函數(shù)類型 函數(shù)名稱(形式參數(shù))數(shù)據(jù)聲明部分(說明部分);執(zhí)行語句部分;函數(shù)首部函數(shù)體271.3 簡單的C程序介紹(續(xù)) 3. 一個(gè)C程序總是從main函數(shù)開始執(zhí)行,在main函數(shù)中結(jié)束執(zhí)行 4. C程序書寫格式自由,最好一行只寫一個(gè)語句 5. 每個(gè)語句和數(shù)據(jù)定義的最后必須有一個(gè)分號(hào) 6. C使用標(biāo)準(zhǔn)庫函數(shù)實(shí)現(xiàn)輸入輸出 7. C可以用/*/對(duì)C程序中的任何部分作注釋28需求分析需求分析(Analysis)設(shè)計(jì)設(shè)計(jì)(Design)291.4 C程序的上機(jī)步驟nC編譯程序的實(shí)現(xiàn)者已經(jīng)編寫了大部分常見的通用函數(shù)。當(dāng)我們

14、調(diào)用一個(gè)別人編寫的標(biāo)準(zhǔn)函數(shù)時(shí),編譯程序“記憶”它的名字。隨后鏈接程序把我們編寫的程序同標(biāo)準(zhǔn)函數(shù)庫中找到的目標(biāo)碼結(jié)合起來,這個(gè)過程稱為“鏈接”。無有無正確不正確開 始結(jié) 束編輯、保存編 譯連 接執(zhí) 行有錯(cuò)?結(jié)果正確?可執(zhí)行目標(biāo)程序file.exe源程序file.c目標(biāo)程序file.obj庫函數(shù)和其它目標(biāo)程序有有錯(cuò)?圖1.1( P8 )編輯鏈接編譯執(zhí)行程序代碼的錄入程序代碼的錄入, ,生成源程序生成源程序* *.c.c語法分析查錯(cuò),翻譯語法分析查錯(cuò),翻譯生成目標(biāo)程序生成目標(biāo)程序* *.obj.obj與其它目標(biāo)程序或庫與其它目標(biāo)程序或庫鏈接裝配鏈接裝配, ,生成可執(zhí)行生成可執(zhí)行程序程序* *.exe

15、.exe321.4 C程序的上機(jī)步驟(續(xù))n開發(fā)一個(gè)C程序n1.程序設(shè)計(jì):亦稱程序編輯n2.程序編譯:指將編輯好的源文件翻譯成二進(jìn)制目標(biāo)代碼的過程n3.鏈接程序:編譯后產(chǎn)生的目標(biāo)文件是可重定位的程序模塊,不能直接運(yùn)行n4.程序運(yùn)行:鏈接生成可執(zhí)行文件后,就可以在操作系統(tǒng)控制下運(yùn)行331.4 C程序的上機(jī)步驟(續(xù))源程序目標(biāo)程序可執(zhí)行程序內(nèi)容程序設(shè)計(jì)語言機(jī)器語言機(jī)器語言可執(zhí)行不可以不可以可以文件擴(kuò)展名.c.obj.exe341.4 C程序的上機(jī)步驟(續(xù))n啟動(dòng)TC2方法n1.雙擊TC2文件夾下的tc.exe文件n2.在命令提示符方式下,鍵入tc.exe(此啟動(dòng)方法要求熟悉DOS命令)n啟動(dòng)VC+

16、方法n程序-Microsoft Visual Studio 6.0-Microsoft Visual C+ -New Text File351.4 C程序的上機(jī)步驟(續(xù))n進(jìn)入進(jìn)入Turbo C 2.0Turbo C 2.0nC:TCTC.exeC:TCTC.exen文件操作文件操作FILEFILE: : New(New(新建新建) )、Load(Load(打開打開) )、Save(Save(保存保存) )、Write to(Write to(另存另存) )n編譯鏈接編譯鏈接COMPILECOMPILE: : Compile(Compile(編譯編譯) )、Link(Link(鏈鏈接接) )n

17、執(zhí)行執(zhí)行RUNRUN: : Run(Run(運(yùn)行運(yùn)行) )、User screen(User screen(看結(jié)果看結(jié)果) )n退出退出Turbo C: Turbo C: FILEFILE: : Quit(Quit(退出退出) )361.4 C程序的上機(jī)步驟(續(xù))nTC組合鍵(快捷鍵):組合鍵(快捷鍵):nAlt+Enter:全屏/窗口切換nCtrl+F1:查詢相關(guān)文字的幫助nAlt+F9:編譯(Compile)nCtrl+F9:運(yùn)行(Run)nAlt+F5:看運(yùn)行結(jié)果(User screen)nAlt+X:退出(Quit)nAlt+紅色(或下劃線)字母:打開相應(yīng)菜單或執(zhí)行相應(yīng)菜單功能371.

18、4 C程序的上機(jī)步驟(續(xù))nTC快捷鍵快捷鍵:nF1后再按F1:在線幫助索引nF9:編譯和鏈接(Make)nF3:打開(Load)nF2:存盤(Save)nF6:切換工作窗口(Switch)nF7:跟蹤(調(diào)試程序使用)nF10:加載菜單nESC:取消菜單381.4 C程序的上機(jī)步驟(續(xù))n使用TC注意問題n1.文件名可使用字符限制較多,不能出現(xiàn)空格等很多字符,建議僅使用英文字母和數(shù)字n2.文件名長度不能超過8位n3.注意擴(kuò)展名的顯示n4.文件默認(rèn)存盤位置與啟動(dòng)TC的方法相關(guān),第一種方式文件在TC2文件夾下,第二種方式在啟動(dòng)TC時(shí)命令提示符指示的文件夾下n5.TC環(huán)境配置(Option - Directories)391.4

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論