




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1第1章 C語(yǔ)言概述n1.1 C語(yǔ)言出現(xiàn)的歷史背景n1.2 C語(yǔ)言的特點(diǎn)n1.3 簡(jiǎn)單的C語(yǔ)言程序介紹n1.4 C程序的上機(jī)步驟21.1 C語(yǔ)言出現(xiàn)的歷史背景n一、計(jì)算機(jī)與程序n未裝任何軟件的計(jì)算機(jī)稱為“裸機(jī)”,只有裝有操作系統(tǒng)和應(yīng)用軟件的計(jì)算機(jī)才能正常工作n操作系統(tǒng)和應(yīng)用軟件均是用計(jì)算機(jī)語(yǔ)言編成的n要控制計(jì)算機(jī)完成人們想要做的工作,必須懂得和計(jì)算機(jī)進(jìn)行交流的語(yǔ)言。也許你會(huì)說(shuō),我不懂得計(jì)算機(jī)語(yǔ)言,不也能用計(jì)算輕松完成工作嗎?實(shí)際上,你所使用的各類軟件就是人們編制的計(jì)算機(jī)程序31.1 C語(yǔ)言出現(xiàn)的歷史背景(續(xù))n計(jì)算機(jī)程序:就是由人事先規(guī)定的計(jì)算機(jī)完成某項(xiàng)工作的操作步驟。每一步驟具體的內(nèi)容由計(jì)算
2、機(jī)能夠理解的指令或語(yǔ)句來(lái)描述。這些指令或語(yǔ)句告訴計(jì)算機(jī)“做什么”和“怎么做” 41.1 C語(yǔ)言出現(xiàn)的歷史背景(續(xù))n二、程序語(yǔ)言n我們已經(jīng)知道計(jì)算機(jī)的工作是受程序控制的,而任何一個(gè)計(jì)算機(jī)程序必須由某種程序設(shè)計(jì)語(yǔ)言來(lái)描述n程序設(shè)計(jì)語(yǔ)言經(jīng)歷了機(jī)器語(yǔ)言、匯編語(yǔ)言、高級(jí)語(yǔ)言的一個(gè)發(fā)展過(guò)程51.1 C語(yǔ)言出現(xiàn)的歷史背景(續(xù))機(jī)器語(yǔ)言匯編語(yǔ)言高級(jí)語(yǔ)言面向過(guò)程面向?qū)ο蟪绦蛟O(shè)計(jì)是數(shù)據(jù)被加工的過(guò)程61.1 C語(yǔ)言出現(xiàn)的歷史背景(續(xù))n機(jī)器語(yǔ)言(二進(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匯編語(yǔ)言(低級(jí)語(yǔ)言 助記符)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語(yǔ)言出現(xiàn)的歷史背景(續(xù))nMOV AH,4CHn INT 21HnCODE ENDSn END START 81.1 C語(yǔ)言出
4、現(xiàn)的歷史背景(續(xù))n高級(jí)語(yǔ)言 C語(yǔ)言n main()nn int a,b,c;n a=2;b=3;n c=a+b;n printf(c=%d,c);nn高級(jí)語(yǔ)言 BASIC語(yǔ)言na=2nb=3nc=a+bnprint (c=);c91.1 C語(yǔ)言出現(xiàn)的歷史背景(續(xù))n語(yǔ)言是高級(jí)語(yǔ)言(具有高級(jí)語(yǔ)言的形式),但具有一些低級(jí)語(yǔ)言的特性,因此,人們又稱為中級(jí)語(yǔ)言n常見(jiàn)程序語(yǔ)言簡(jiǎn)介:nFortran第一個(gè)高級(jí)程序設(shè)計(jì)語(yǔ)言,50年代由IBM發(fā)明,主要用于科學(xué)計(jì)算,在科學(xué)計(jì)算上有獨(dú)特之處 nCOBOL主要數(shù)據(jù)處理,現(xiàn)在仍在大型數(shù)據(jù)庫(kù)等應(yīng)用中廣泛使用 101.1 C語(yǔ)言出現(xiàn)的歷史背景(續(xù))nBASIC主要用于
5、初級(jí)計(jì)算機(jī)教育,在微機(jī)發(fā)明后,得到大發(fā)展。微軟公司靠他起步 nPASCAL專為計(jì)算機(jī)教育而發(fā)明的程序設(shè)計(jì)語(yǔ)言,對(duì)于促進(jìn)結(jié)構(gòu)化程序設(shè)計(jì)方法的普及有很大作用 nC/C+C與Unix操作系統(tǒng)結(jié)伴而生,BELL實(shí)驗(yàn)室發(fā)明,目標(biāo)代碼效率高,可以用來(lái)編系統(tǒng)軟件。C+也是BELL實(shí)驗(yàn)室發(fā)明,是在C上增加了面向?qū)ο筇匦?,是現(xiàn)在使用最廣泛的程序設(shè)計(jì)語(yǔ)言之一 nJava面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,面向internet,Sun公司發(fā)明,可以一次編譯,隨處運(yùn)行n數(shù)據(jù)庫(kù)FoxPro、SQL、Oracle等 11121.1 C語(yǔ)言出現(xiàn)的歷史背景(續(xù))n三、語(yǔ)言歷史nALGOL60(1960,面向問(wèn)題的高級(jí)語(yǔ)言,不宜用來(lái)編寫系統(tǒng)
6、程序)nCPL(1963,英國(guó)劍橋大學(xué),規(guī)模較大)nBCPL(1967,劍橋大學(xué)Matin Richards,作了簡(jiǎn)化)nB(1970,美國(guó)貝爾實(shí)驗(yàn)室Ken Thompson,進(jìn)一步簡(jiǎn)化,又過(guò)于簡(jiǎn)單,功能有限)nC(1972-1973,貝爾實(shí)驗(yàn)室D.M.Ritchie,保持了精練,接近硬件的優(yōu)點(diǎn),克服了B語(yǔ)言過(guò)于簡(jiǎn)單的缺點(diǎn))131.1 C語(yǔ)言出現(xiàn)的歷史背景(續(xù))n1973年,K.Thompson和D.M.Ritchie合作用C改寫UNIX(第5版)n1975年出的的UNIX第6版使人們普遍注意C語(yǔ)言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語(yǔ)言稱為標(biāo)準(zhǔn)Cn1983年,美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)(ANSI)制定了新的標(biāo)準(zhǔn),稱為ANSI C141.1 C語(yǔ)言出現(xiàn)的歷史背景(續(xù))n早期的C語(yǔ)言主要是用于UNIX系統(tǒng)。由于語(yǔ)言的強(qiáng)大功能和各方面的優(yōu)點(diǎn)逐漸為人們認(rèn)識(shí),到了八十年代,C開(kāi)始進(jìn)入其它操作系統(tǒng),并很快在各類大、中、小和微型計(jì)算機(jī)上得到了廣泛的使用。成為當(dāng)代最優(yōu)秀的程序設(shè)計(jì)語(yǔ)言之一n現(xiàn)在微機(jī)上常用的C語(yǔ)言編譯系統(tǒng)有Microsoft C,Turbo C,Quick C15C語(yǔ)言適合做什么161.2 C語(yǔ)言的特點(diǎn)(P2-P3)n語(yǔ)言
8、簡(jiǎn)潔、緊湊,使用方便、靈活。一共只有32個(gè)關(guān)鍵字P365,9種控制語(yǔ)句P370n數(shù)據(jù)類型關(guān)鍵字(12個(gè)):char, double, enum, float, int, long, short, signed, struct, union, unsigned, voidn控制語(yǔ)句關(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語(yǔ)言的特點(diǎn)(續(xù))n運(yùn)算符豐富。共有34種運(yùn)算符P365-P366n數(shù)據(jù)結(jié)構(gòu)豐富,便于數(shù)據(jù)的描述與存儲(chǔ)n具有結(jié)構(gòu)化的控制語(yǔ)句。用函數(shù)作為程序模塊以實(shí)現(xiàn)程序的模塊化n語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大nC語(yǔ)言允許直接訪問(wèn)物理地址181.2 C語(yǔ)言的特點(diǎn)(續(xù))n生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高n用C語(yǔ)言寫的程序可移植性較好191.3 簡(jiǎn)單的C程序介紹n任何一種程序設(shè)計(jì)語(yǔ)言都具有任何一種程序設(shè)計(jì)語(yǔ)言都具有特定的語(yǔ)特定的語(yǔ)法規(guī)則和規(guī)定法規(guī)則和規(guī)定的表達(dá)方法。一個(gè)程序只的表達(dá)方法。一個(gè)程序只有有嚴(yán)格嚴(yán)格按照語(yǔ)言規(guī)定的語(yǔ)法和表達(dá)方式按照語(yǔ)言規(guī)定的語(yǔ)法和表達(dá)方式編寫,
10、才能保證編寫的程序在計(jì)算機(jī)中編寫,才能保證編寫的程序在計(jì)算機(jī)中能正確地被執(zhí)行,同時(shí)也便于閱讀和理能正確地被執(zhí)行,同時(shí)也便于閱讀和理解。解。201.3 簡(jiǎn)單的C程序介紹(續(xù))n例1.1(L1_1)n#include /*文件包含,見(jiàn)9.2*/nint main(void)/*主函數(shù)*/n/*函數(shù)體開(kāi)始*/n printf(This is a c Program.n);n/*函數(shù)體結(jié)束*/n運(yùn)行結(jié)果:在屏幕上顯示一串文字。211.3 簡(jiǎn)單的C程序介紹(續(xù))n例1.2(L1_2)n#include nint main(void)nnint a,b,sum;/*這是定義變量*/na=123;b=456
11、;/*以下3行為C語(yǔ)句*/nsum=a+b;nprintf(Sum is %dn,sum);nreturn 0;nn運(yùn)行結(jié)果:在屏幕上顯示Sum is 579221.3 簡(jiǎn)單的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 簡(jiǎn)單的C程序介紹(續(xù))n例1.3運(yùn)行結(jié)果:n屏幕先等待用戶輸入n用戶輸入:5,8n屏幕輸出8241.3 簡(jiǎn)單的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通過(guò)用戶選擇,加載相應(yīng)的結(jié)果251.3 簡(jiǎn)單的C程序介紹(續(xù))n由C程序示例得出C程序特性: 1. C程序由函數(shù)構(gòu)成,有且僅有一個(gè)main函數(shù),可以有多個(gè)子函數(shù)(0個(gè)或多個(gè))
13、。函數(shù)是C程序的基本單位261.3 簡(jiǎn)單的C程序介紹(續(xù)) 2. 一個(gè)函數(shù)基本結(jié)構(gòu):函數(shù)類型 函數(shù)名稱(形式參數(shù))數(shù)據(jù)聲明部分(說(shuō)明部分);執(zhí)行語(yǔ)句部分;函數(shù)首部函數(shù)體271.3 簡(jiǎn)單的C程序介紹(續(xù)) 3. 一個(gè)C程序總是從main函數(shù)開(kāi)始執(zhí)行,在main函數(shù)中結(jié)束執(zhí)行 4. C程序書寫格式自由,最好一行只寫一個(gè)語(yǔ)句 5. 每個(gè)語(yǔ)句和數(shù)據(jù)定義的最后必須有一個(gè)分號(hào) 6. C使用標(biāo)準(zhǔn)庫(kù)函數(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)編寫了大部分常見(jiàn)的通用函數(shù)。當(dāng)我們
14、調(diào)用一個(gè)別人編寫的標(biāo)準(zhǔn)函數(shù)時(shí),編譯程序“記憶”它的名字。隨后鏈接程序把我們編寫的程序同標(biāo)準(zhǔn)函數(shù)庫(kù)中找到的目標(biāo)碼結(jié)合起來(lái),這個(gè)過(guò)程稱為“鏈接”。無(wú)有無(wú)正確不正確開(kāi) 始結(jié) 束編輯、保存編 譯連 接執(zhí) 行有錯(cuò)?結(jié)果正確?可執(zhí)行目標(biāo)程序file.exe源程序file.c目標(biāo)程序file.obj庫(kù)函數(shù)和其它目標(biāo)程序有有錯(cuò)?圖1.1( P8 )編輯鏈接編譯執(zhí)行程序代碼的錄入程序代碼的錄入, ,生成源程序生成源程序* *.c.c語(yǔ)法分析查錯(cuò),翻譯語(yǔ)法分析查錯(cuò),翻譯生成目標(biāo)程序生成目標(biāo)程序* *.obj.obj與其它目標(biāo)程序或庫(kù)與其它目標(biāo)程序或庫(kù)鏈接裝配鏈接裝配, ,生成可執(zhí)行生成可執(zhí)行程序程序* *.exe
15、.exe321.4 C程序的上機(jī)步驟(續(xù))n開(kāi)發(fā)一個(gè)C程序n1.程序設(shè)計(jì):亦稱程序編輯n2.程序編譯:指將編輯好的源文件翻譯成二進(jìn)制目標(biāo)代碼的過(guò)程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ì)語(yǔ)言機(jī)器語(yǔ)言機(jī)器語(yǔ)言可執(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(打開(kāi)打開(kāi)) )、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+紅色(或下劃線)字母:打開(kāi)相應(yīng)菜單或執(zhí)行相應(yīng)菜單功能371.
18、4 C程序的上機(jī)步驟(續(xù))nTC快捷鍵快捷鍵:nF1后再按F1:在線幫助索引nF9:編譯和鏈接(Make)nF3:打開(kāi)(Load)nF2:存盤(Save)nF6:切換工作窗口(Switch)nF7:跟蹤(調(diào)試程序使用)nF10:加載菜單nESC:取消菜單381.4 C程序的上機(jī)步驟(續(xù))n使用TC注意問(wèn)題n1.文件名可使用字符限制較多,不能出現(xiàn)空格等很多字符,建議僅使用英文字母和數(shù)字n2.文件名長(zhǎng)度不能超過(guò)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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 九年級(jí)化學(xué)上冊(cè) 第5章 第2節(jié)《物質(zhì)組成的表示-化學(xué)式》教學(xué)設(shè)計(jì)2 (新版)北京課改版
- 人教版九年級(jí)道德與法治下冊(cè)教學(xué)設(shè)計(jì):4.2 攜手促發(fā)展
- 2024內(nèi)蒙古煤炭地質(zhì)勘查(集團(tuán))一一七有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 人教新目標(biāo)版英語(yǔ)八年級(jí)上冊(cè) Unit 2 How often do you exercise Period 3 (Section B 1a-1e)教案
- 六年級(jí)品德與社會(huì)下冊(cè) 第一單元 你我同行 3 學(xué)會(huì)和諧相處教學(xué)設(shè)計(jì)8 新人教版
- 辦公軟件培訓(xùn)
- 七年級(jí)地理下冊(cè) 第八章 第四節(jié)《澳大利亞》教學(xué)設(shè)計(jì)(新版)新人教版
- 癲癇病人的護(hù)理
- 人教新目標(biāo) (Go for it) 版九年級(jí)全冊(cè)Unit 2 I think that mooncakes are delicious!Section B一等獎(jiǎng)第3課時(shí)教學(xué)設(shè)計(jì)
- 人教統(tǒng)編版高中語(yǔ)文必修上冊(cè)《【寫作專題】寫景人文化:融情寓理妙筆生花》教學(xué)設(shè)計(jì)
- 2024年秋兒童發(fā)展問(wèn)題的咨詢與輔導(dǎo)終考期末大作業(yè)案例分析1-5答案
- 主要單元工程、重要隱蔽工程、工程關(guān)鍵部位的概念及驗(yàn)收簽證
- 維生素K2行業(yè)研究、市場(chǎng)現(xiàn)狀及未來(lái)發(fā)展趨勢(shì)(2020-2026)
- 定遠(yuǎn)縣蔡橋水庫(kù)在建工程實(shí)施方案
- 社會(huì)體育指導(dǎo)員的社會(huì)責(zé)任
- 中華護(hù)理學(xué)會(huì)科研課題申請(qǐng)書
- 相互尊重、理解、信任.ppt
- 壓蓋機(jī)設(shè)計(jì)說(shuō)明書參考資料(精編版)
- 區(qū)間盾構(gòu)始發(fā)關(guān)鍵節(jié)點(diǎn)評(píng)估報(bào)告
- ××關(guān)于深化政府采購(gòu)制度改革的實(shí)施意見(jiàn)
- 建筑構(gòu)造上冊(cè)——門和窗一PPT課件
評(píng)論
0/150
提交評(píng)論