版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第1章 語言概述,東軟IT人才實(shí)訓(xùn)中心 Copyright 2009-2010 By Neusoft Group. All rights reserved,課程結(jié)構(gòu),第一章:語言概述,目標(biāo): 本章旨在向?qū)W員介紹: 1)本章主要介紹C語言程序的結(jié)構(gòu)和書寫規(guī)則,以及基本操作。,時間:0.5學(xué)時 教學(xué)方法:,1.1 C語言的發(fā)展簡史和特點(diǎn),1語言的誕生與發(fā)展 (1)在C語言誕生以前,系統(tǒng)軟件主要是用匯編語言編寫的。由于匯編語言程序依賴于計(jì)算機(jī)硬件,其可讀性和可移植性都很差;但一般的高級語言又難以實(shí)現(xiàn)對計(jì)算機(jī)硬件的直接操作(這正是匯編語言的優(yōu)勢),于是人們盼望有一種兼有匯編語言和高級語言特性的新語言。
2、 (2)語言是貝爾實(shí)驗(yàn)室于70年代初研制出來的,后來又被多次改進(jìn),并出現(xiàn)了多種版本。80年代初,美國國家標(biāo)準(zhǔn)化協(xié)會(ANSI),根據(jù)語言問世以來各種版本對語言的發(fā)展和擴(kuò)充,制定了ANSI C標(biāo)準(zhǔn)(1989年再次做了修訂)。,1.1 C語言的發(fā)展簡史和特點(diǎn)(續(xù)),(3)目前,在微機(jī)上廣泛使用的語言編譯系統(tǒng)有Microsoft C、Turbo C 、Borland C等。雖然它們的基本部分都是相同的,但還是有一些差異, 所以請大家注意自己所使用的編譯系統(tǒng)的特點(diǎn)和規(guī)定(參閱相應(yīng)的手冊)。 本書選定的上機(jī)環(huán)境是VC 6.0(windows操作系統(tǒng))。 2C語言的特點(diǎn):同時具有匯編語言和高級語言的優(yōu)勢。
3、 (1)語言簡潔、緊湊,使用方便、靈活。 (2)運(yùn)算符極其豐富。 (3)生成的目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。 (4)可移植性好(較之匯編語言)。 (5)可以直接操縱硬件。,1.1 C語言的發(fā)展簡史和特點(diǎn)(續(xù)),3. 在C語言中,除實(shí)現(xiàn)順序、選擇和循環(huán)三種基本結(jié)構(gòu)等的9條控制語句外,輸入輸出操作均由標(biāo)準(zhǔn)庫函數(shù)(不是C語言的組成部分)來實(shí)現(xiàn)。 所以學(xué)習(xí)C語言,不僅要學(xué)習(xí)這9條控制語句和各種運(yùn)算符,而且要學(xué)習(xí)并掌握常用標(biāo)準(zhǔn)庫函數(shù)的使用。,1.2 語言程序的結(jié)構(gòu)與書寫規(guī)則,1.2.1 語言程序的總體結(jié)構(gòu) 每個完整的語言程序,是由一個main()函數(shù)(又稱主函數(shù))和若干個其它函數(shù)結(jié)合而成的,或僅由一個
4、main()函數(shù)構(gòu)成。 案例1.1 僅由main()函數(shù)構(gòu)成的語言程序。 /*功能:僅由main()函數(shù)構(gòu)成的語言程序示例*/ void main() printf(“This is a C program.n”); 程序運(yùn)行結(jié)果: This is a C program.,1.2 語言程序的結(jié)構(gòu)與書寫規(guī)則(續(xù)),案例1.2 由main()函數(shù)和1個其它函數(shù)max()構(gòu)成的語言程序。 /*功能:由main()函數(shù)和1個其它函數(shù)構(gòu)成的語言程序示例*/ int max(int x, int y) return( xy ? x : y ); void main() int num1,num2; pr
5、intf(“Input the first integer number: ”); scanf(“%d”, ,1.2 語言程序的結(jié)構(gòu)與書寫規(guī)則(續(xù)),程序運(yùn)行情況: Input the first integer number:6 Input the second integer number:9 max=9,1.2 語言程序的結(jié)構(gòu)與書寫規(guī)則(續(xù)),案例1.3 改寫案例1.2,交換main()函數(shù)和max()函數(shù)的前后位置。 源程序略。 程序運(yùn)行情況: Input the first integer number:6 Input the second integer number:9 max=
6、9,1.2 語言程序的結(jié)構(gòu)與書寫規(guī)則(續(xù)),1.函數(shù)是語言程序的基本單位。 main()函數(shù)的作用,相當(dāng)于其它高級語言中的主程序;其它函數(shù)的作用,相當(dāng)于子程序。 2.C語言程序總是從main()函數(shù)開始執(zhí)行。 一個語言程序,總是從main()函數(shù)開始執(zhí)行,而不論其在程序中的位置。當(dāng)主函數(shù)執(zhí)行完畢時,亦即程序執(zhí)行完畢。 習(xí)慣上,將主函數(shù)main()放在最前頭。,1.2 語言程序的結(jié)構(gòu)與書寫規(guī)則(續(xù)),1.2.2 函數(shù)的一般結(jié)構(gòu) 任何函數(shù)(包括主函數(shù)main())都是由函數(shù)說明和函數(shù)體兩部分組成。其一般結(jié)構(gòu)如下: 函數(shù)類型 函數(shù)名(函數(shù)參數(shù)表) 說明語句部分; 執(zhí)行語句部分; ,函數(shù)體部分,函數(shù)說
7、明部分,1.2 語言程序的結(jié)構(gòu)與書寫規(guī)則(續(xù)),1. 使用的語法符號約定 . 方括號表示可選(即可以指定,也可以缺?。?省略號表示前面的項(xiàng)可以重復(fù) | 多(含2)中選1 2.函數(shù)說明 由函數(shù)類型(可缺省)、函數(shù)名和函數(shù)參數(shù)表三部分組成,其中函數(shù)參數(shù)表的格式為: 數(shù)據(jù)類型 形參1, 數(shù)據(jù)類型 形參2,1.2 語言程序的結(jié)構(gòu)與書寫規(guī)則(續(xù)),例如,案例1.2中的函數(shù)max(),其函數(shù)說明各部分如圖1-1所示。 函數(shù)類型 函數(shù)名 函數(shù)參數(shù)表 int max ( int x , int y ) 圖1-1 函數(shù)說明部分結(jié)構(gòu)圖 注意:在舊標(biāo)準(zhǔn)中,函數(shù)可以缺省參數(shù)表。,1.2 語言程序的結(jié)構(gòu)與書寫規(guī)則(續(xù))
8、,3.函數(shù)體 在函數(shù)說明部分的下面、大括號(必須配對使用)內(nèi)的部分。 函數(shù)體一般由說明語句和可執(zhí)行語句兩部分構(gòu)成: (1)說明語句部分 說明語句部分由變量定義、自定義類型定義、自定義函數(shù)說明、外部變量說明等組成。 (2)可執(zhí)行語句 一般由若干條可執(zhí)行語句構(gòu)成。下面是案例1.2的main()函數(shù)體的示意圖。,1.2 語言程序的結(jié)構(gòu)與書寫規(guī)則(續(xù)),void main() int num1,num2; printf( “Input the first integer number: ” ); scanf(“%d”, ,1.2 語言程序的結(jié)構(gòu)與書寫規(guī)則(續(xù)),4.說明 (1)函數(shù)體中的變量定義語句,
9、必須在所有可執(zhí)行語句之前。例如:下面程序中變量定義語句“int max;”的位置是非法的。 (2)如果不需要,也可以缺省變量定義語句。,1.2 語言程序的結(jié)構(gòu)與書寫規(guī)則(續(xù)),void main() int x,y;/*變量定義語句:定義2個整型變量x、y*/ x=3; /*可執(zhí)行的賦值語句:將3賦值給變量x*/ y=6;/*可執(zhí)行的賦值語句:將6賦值給變量y*/ int max;/*變量定義語句:出現(xiàn)在可執(zhí)行 賦值語句“x=3;”和“ y=6;”之后,非法!*/ max=xy?x:y; printf(“max=%dn”,max); 解決辦法很簡單,請讀者自己思考。,1.2 語言程序的結(jié)構(gòu)與書
10、寫規(guī)則(續(xù)),1.2.3 源程序書寫格式 (1)所有語句都必須以分號“;”結(jié)束,函數(shù)的最后一個語句也不例外。 (2)程序行的書寫格式自由,既允許1行內(nèi)寫幾條語句,也允許1條語句分寫在幾行上。,1.2 語言程序的結(jié)構(gòu)與書寫規(guī)則(續(xù)),例如,案例1.2的主函數(shù)main(),也可改寫成如下所示的格式 int max(int x,int y); void main() int num1,num2; printf(“Input the first integer number: ”); scanf(“%d”, /如果某條語句很長,一般需要將其分寫在幾行上。,1.2 語言程序的結(jié)構(gòu)與書寫規(guī)則(續(xù)),3.允
11、許使用注釋。 C語言的注釋格式為: /* */ 例如,在案例1.1和案例1.2中,以及本節(jié)其它部分給出的源程序中,凡是用“/*”和“*/”括起來的文字,都是注釋。 (1) “/*”和“*/” 必須成對使用,且“/”和“*”、以及“*”和“/”之間不能有空格,否則都出錯。,1.2 語言程序的結(jié)構(gòu)與書寫規(guī)則(續(xù)),技巧:為避免遺漏必須配對使用的符號,例如注釋符號、函數(shù)體的起止標(biāo)識符(花括號)、圓括號等等,在輸入時,可連續(xù)輸入這些起止標(biāo)識符,然后再在其中進(jìn)行插入來完成內(nèi)容的編輯。在起止標(biāo)識符嵌套時,以及相距較遠(yuǎn)時,這樣做更有必要。 (2)注釋的位置,可以單占1行,也可以跟在語句的后面。 (3)如果1
12、行寫不下,可另起1行繼續(xù)寫。 (4)注釋中允許使用漢字。在非中文操作系統(tǒng)下,看到的是一串亂碼,但不影響程序運(yùn)行。,1.3 C語言的語句和關(guān)鍵字,1.3.1 C語言的語句 語言是利用函數(shù)體中的可執(zhí)行語句,向計(jì)算機(jī)系統(tǒng)發(fā)出操作命令。按照語句功能或構(gòu)成的不同,可將語言的語句分為五類。 1.控制語句 控制語句完成一定的控制功能。語言只有條控制語句,又可細(xì)分為三種: (1)選擇結(jié)構(gòu)控制語句: if()else, switch() (2)循環(huán)結(jié)構(gòu)控制語句: dowhile(), for(), while(), break,continue (3)其它控制語句:goto, return,1.3 C語言的語句
13、和關(guān)鍵字(續(xù)),2. 函數(shù)調(diào)用語句 函數(shù)調(diào)用語句由一次函數(shù)調(diào)用加一個分號構(gòu)成。 例如,printf(This is a C function statement.); 3. 表達(dá)式語句 表達(dá)式語句由表達(dá)式后加一個分號構(gòu)成。最典型的表達(dá)式語句是,在賦值表達(dá)式后加一個分號構(gòu)成的賦值語句。 例如,“num=5 ”是一個賦值表達(dá)式,而“num=5;”卻是一個賦值語句。 4. 空語句 空語句僅由一個分號構(gòu)成。顯然,空語句什么操作也不執(zhí)行。 例如,下面就是一個空語句: ;,1.3 C語言的語句和關(guān)鍵字(續(xù)),5. 復(fù)合語句 復(fù)合語句是由大括號括起來的一組(也可以是1條)語句構(gòu)成。例如: void main
14、() /*復(fù)合語句。注意:右括號后不需要分號。*/ 復(fù)合語句的性質(zhì): (1)在語法上和單一語句相同,即單一語句可以出現(xiàn)的地方,也可以使用復(fù)合語句。 (2)復(fù)合語句可以嵌套,即復(fù)合語句中也可出現(xiàn)復(fù)合語句。,1.3 C語言的語句和關(guān)鍵字(續(xù)),1.3.2 關(guān)鍵字 C語言的關(guān)鍵字共有32個,根據(jù)關(guān)鍵字的作用,可分其為數(shù)據(jù)類型關(guān)鍵字、控制語句關(guān)鍵字、存儲類型關(guān)鍵字和其它關(guān)鍵字四類。 (1)數(shù)據(jù)類型關(guān)鍵字(12個):char, double, enum, float, int, long, short, signed, struct, union, unsigned, void (2)控制語句關(guān)鍵字(12個):break, case, continue, default, do, else, for, goto, if, return, switch,
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)大三(植物營養(yǎng)學(xué))植物施肥技術(shù)階段測試題及答案
- 2025年大學(xué)大二(計(jì)算機(jī)科學(xué)與技術(shù))計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)階段測試題及答案
- 2025年高職數(shù)字印刷技術(shù)(圖文處理工藝)試題及答案
- 2025年大學(xué)一年級(預(yù)防醫(yī)學(xué))流行病學(xué)概論試題及答案
- 2025年高職畜牧獸醫(yī)(獸醫(yī)藥理學(xué))試題及答案
- 2025年中職農(nóng)業(yè)機(jī)械應(yīng)用技術(shù)(農(nóng)業(yè)機(jī)械基礎(chǔ))試題及答案
- 2025年高職學(xué)前教育(教育基礎(chǔ))試題及答案
- 2025年高職食品加工工藝(食品保鮮技術(shù))試題及答案
- 2025年高職焊接技術(shù)與自動化(焊接自動化設(shè)備)試題及答案
- 2026年心理咨詢師(心理疏導(dǎo))考題及答案
- 2025年涼山教師業(yè)務(wù)素質(zhì)測試題及答案
- 2026年昭通市威信縣公安局第一季度輔警招聘(14人)筆試模擬試題及答案解析
- 第11課+近代以來的城市化進(jìn)程-2025-2026學(xué)年高二歷史統(tǒng)編版選擇性必修2
- 貴州省部分學(xué)校2026屆高三上學(xué)期12月聯(lián)考英語試卷(含音頻) - 原卷
- 氫能技術(shù)研發(fā)協(xié)議
- 口腔科2025年核與輻射安全隱患自查報告
- 2025寧電投(石嘴山市)能源發(fā)展有限公司秋季校園招聘100人筆試試題附答案解析
- 經(jīng)皮內(nèi)鏡下胃造瘺術(shù)護(hù)理配合
- 汽車電子連接器檢測技術(shù)規(guī)范
- 新版阿特拉斯空壓機(jī)培訓(xùn)教程
- (投標(biāo)書范本)禮品、日用品、辦公用品標(biāo)書模板
評論
0/150
提交評論