版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
C語言概述1.1C語言的發(fā)展簡史和特點1.C語言的誕生與發(fā)展(1)在C語言誕生以前,系統(tǒng)軟體主要是用組合語言編寫的。由於組合語言程式依賴於電腦硬體,其可讀性和可移植性都很差;但一般的高級語言又難以實現(xiàn)對電腦硬體的直接操作(這正是組合語言的優(yōu)勢),於是人們盼望有一種兼有組合語言和高級語言特性的新語言。(2)C語言是貝爾實驗室於70年代初研製出來的,後來又被多次改進(jìn),並出現(xiàn)了多種版本。80年代初,美國國家標(biāo)準(zhǔn)化協(xié)會(ANSI),根據(jù)C語言問世以來各種版本對C語言的發(fā)展和擴(kuò)充,制定了ANSIC標(biāo)準(zhǔn)(1989年再次做了修訂)。本書以ANSIC新標(biāo)準(zhǔn)來介紹。(3)目前,在微機(jī)上廣泛使用的C語言編譯系統(tǒng)有MicrosoftC、TurboC、BorlandC等。雖然它們的基本部分都是相同的,但還是有一些差異,所以請大家注意自己所使用的C編譯系統(tǒng)的特點和規(guī)定(參閱相應(yīng)的手冊)。本書選定的上機(jī)環(huán)境是TCV2.0(DOS操作系統(tǒng))。
2.C語言的特點
C語言同時具有組合語言和高級語言的優(yōu)勢。(1)語言簡潔、緊湊,使用方便、靈活。
(2)運算符極其豐富。(3)生成的目標(biāo)代碼品質(zhì)高,程式執(zhí)行效率高。(4)可移植性好(較之組合語言)。(5)可以直接操縱硬體。
3.在C語言中,除實現(xiàn)順序、選擇和迴圈三種基本結(jié)構(gòu)等的9條控制語句外,輸入輸出操作均由標(biāo)準(zhǔn)庫函數(shù)(不是C語言的組成部分)來實現(xiàn)。所以學(xué)習(xí)C語言,不僅要學(xué)習(xí)這9條控制語句和各種運算符,而且要學(xué)習(xí)並掌握常用標(biāo)準(zhǔn)庫函數(shù)的使用。[Return]
1.2C語言程式的結(jié)構(gòu)與書寫規(guī)則1.2.1C語言程式的總體結(jié)構(gòu)
一個完整的C語言程式,是由一個main()函數(shù)(又稱主函數(shù))和若干個其他函數(shù)結(jié)合而成的,或僅由一個main()函數(shù)構(gòu)成。[案例1.1]僅由main()函數(shù)構(gòu)成的C語言程式。/*案例代碼檔案名:AL1_1.C*//*功能:僅由main()函數(shù)構(gòu)成的C語言程式示例*/main(){printf(“ThisisaCprogram.\n”);}程式運行結(jié)果:
ThisisaCprogram.
[程式演示][案例1.2]由main()函數(shù)和1個其他函數(shù)max()構(gòu)成的C語言程式。/*案例代碼檔案名:AL1_2.C*//*功能:由main()函數(shù)和1個其他函數(shù)max()構(gòu)成的C語言程式示例*/intmax(intx,inty){return(x>y?x:y);}main(){intnum1,num2;printf(“Inputthefirstintegernumber:”);scanf(“%d”,&num1);printf(“Inputthesecondintegernumber:”);scanf(“%d”,&num2);printf(“max=%d\n”,max(num1,num2));}程式運行情況:
Inputthefirstintegernumber:6←┘Inputthesecondintegernumber:9←┘max=9[程式演示][案例1.3]改寫[案例1.2],交換main()函數(shù)和max()函數(shù)的前後位置。根源程式略。程式運行情況:
Inputthefirstintegernumber:6←┘Inputthesecondintegernumber:9←┘max=91.函數(shù)是C語言程式的基本單位。main()函數(shù)的作用,相當(dāng)於其他高級語言中的主程序;其他函數(shù)的作用,相當(dāng)於副程式。2.C語言程式總是從main()函數(shù)開始執(zhí)行。一個C語言程式,總是從main()函數(shù)開始執(zhí)行,而不論其在程式中的位置。當(dāng)主函數(shù)執(zhí)行完畢時,亦即程式執(zhí)行完畢。習(xí)慣上,將主函數(shù)main()放在最前頭。
1.2.2函數(shù)的一般結(jié)構(gòu)
任何函數(shù)(包括主函數(shù)main())都是由函數(shù)說明和函數(shù)體兩部分組成。其一般結(jié)構(gòu)如下:
[函數(shù)類型]函數(shù)名(函數(shù)參數(shù)表)函數(shù)說明部分
{說明語句部分;執(zhí)行語句部分;函數(shù)體部分
}
1.使用的語法符號約定
[...]──方括號表示可選(即可以指定,也可以缺省)
……──省略號表示前面的項可以重複
|──多(含2)中選1
2.函數(shù)說明由函數(shù)類型(可缺省)、函數(shù)名和函數(shù)參數(shù)表三部分組成,其中函數(shù)參數(shù)表的格式為:數(shù)據(jù)類型形參[,數(shù)據(jù)類型形參2……]例如,[案例1.2]中的函數(shù)max(),其函數(shù)說明各部分如圖1-1所示。函數(shù)類型函數(shù)名函數(shù)參數(shù)表
↓↓↓
intmax(intx,inty)
圖1-1函數(shù)說明部分結(jié)構(gòu)圖注意:在舊標(biāo)準(zhǔn)中,函數(shù)可以缺省參數(shù)表。3.函數(shù)體在函數(shù)說明部分的下麵、大括?。ū仨毰鋵κ褂茫﹥?nèi)的部分。函數(shù)體一般由說明語句和可執(zhí)行語句兩部分構(gòu)成:(1)說明語句部分說明語句部分由變數(shù)定義、自定義類型定義、自定義函數(shù)說明、外部變數(shù)說明等組成。
(2)可執(zhí)行語句一般由若干條可執(zhí)行語句構(gòu)成。圖1-2是[案例1.2]的main()函數(shù)體的示意圖。/*主函數(shù)main()*/main(){intnum1,num2;
變數(shù)定義部分
printf(“Inputthefirstintegernumber:”);scanf(“%d”,&num1);printf(“Inputthesecondintegernumber:”);
可執(zhí)行語句部分函數(shù)體
scanf(“%d”,&num2);printf(“max=%d\n”,max(num1,num2));}
圖1-2函數(shù)體結(jié)構(gòu)示意圖
4.說明(1)函數(shù)體中的變數(shù)定義語句,必須在所有可執(zhí)行語句之前。下麵程式中變數(shù)定義語句“intmax;”的位置是非法的:main(){intx,y; /*變數(shù)定義語句:定義2個整型變數(shù)x、y*/
x=3; /*可執(zhí)行的賦值語句:將3賦值給變數(shù)x*/y=6; /*可執(zhí)行的賦值語句:將6賦值給變數(shù)y*/intmax; /*變數(shù)定義語句:出現(xiàn)在可執(zhí)行的賦值語句“x=3;”和“y=6;”之後,非法!*/
max=x>y?x:y;printf(“max=%d\n”,max);}解決辦法很簡單,請讀者自己思考。(2)如果不需要,也可以缺省變數(shù)定義語句。1.2.3根源程式書寫格式1.所有語句都必須以分號“;”結(jié)束,函數(shù)的最後一個語句也不例外。2.程式行的書寫格式自由,既允許1行內(nèi)寫幾條語句,也允許1條語句分寫在幾行上。例如,[案例1.2]的主函數(shù)main(),也可改寫成如下所示的格式:……main(){intnum1,num2;printf(“Inputthefirstintegernumber:”);scanf(“%d”,&num1);
printf(“Inputthesecondintegernumber:”);scanf(“%d”,&num2);
printf(“max=%d\n”,max(num1,num2));
}如果某條語句很長,一般需要將其分寫在幾行上。3.允許使用注釋。C語言的注釋格式為:/*……*/例如,在[案例1.1]和[案例1.2]中,以及本節(jié)其他部分給出的根源程式中,凡是用“/*”和“*/”括起來的文字,都是注釋。(1)“/*”和“*/”必須成對使用,且“/”和“*”、以及“*”和“/”之間不能有空格,否則都出錯。
技巧:為避免遺漏必須配對使用的符號,例如注釋符號、函數(shù)體的起止識別字(花括?。?、圓括號等等,在輸入時,可連續(xù)輸入這些起止識別字,然後再在其中進(jìn)行插入來完成內(nèi)容的編輯。在起止識別字嵌套時,以及相距較遠(yuǎn)時,這樣做更有必要。
(2)注釋的位置,可以單占1行,也可以跟在語句的後面。(3)如果1行寫不下,可另起1行繼續(xù)寫。(4)注釋中允許使用漢字。在非中文操作系統(tǒng)下,看到的是一串亂碼,但不影響程式運行。
[Return]1.3C語言的語句和關(guān)鍵字
1.3.1C語言的語句
與其它高級語言一樣,C語言也是利用函數(shù)體中的可執(zhí)行語句,向電腦系統(tǒng)發(fā)出操作命令。按照語句功能或構(gòu)成的不同,可將C語言的語句分為五類。1.控制語句控制語句完成一定的控制功能。C語言只有9條控制語句,又可細(xì)分為三種:(1)選擇結(jié)構(gòu)控制語句
if()~else~,switch()~(2)迴圈結(jié)構(gòu)控制語句
do~while(),for()~,while()~,break,continue(3)其他控制語句
goto,return
2.函數(shù)調(diào)用語句函數(shù)調(diào)用語句由一次函數(shù)調(diào)用加一個分號(語句結(jié)束標(biāo)誌)構(gòu)成。例如,printf("ThisisaCfunctionstatement.");3.運算式語句運算式語句由運算式後加一個分號構(gòu)成。最典型的運算式語句是,在賦值運算式後加一個分號構(gòu)成的賦值語句。例如,“num=5”是一個賦值運算式,而“num=5;”卻是一個賦值語句。4.空語句空語句僅由一個分號構(gòu)成。顯然,空語句什麼操作也不執(zhí)行。
例如,下麵就是一個空語句:;5.複合語句複合語句是由大括弧括起來的一組(也可以是1條)語句構(gòu)成。例如:
main(){……
{……}/*複合語句。注意:右括弧後不需要分號。*/……}複合語句的性質(zhì):(1)在語法上和單一語句相同,即單一語句可以出現(xiàn)的地方,也可以使用複合語句。(2)複合語句可以嵌套,即複合語句中也可出現(xiàn)複合語句。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,while
(3)存儲類型關(guān)鍵字(4個):auto,extern,register,static
(4)其他關(guān)鍵字(4個):const,sizeof,typedef,volatile[Return]1.4TurboCV2.0的基本操作1.運行一個C語言程式的一般過程2.TC的啟動、退出與命令菜單3.編輯並保存一個C語言根源程式4.編譯、連接──單個根源程式檔5.運行與查看結(jié)果6.編輯下一個新的根源程式[Return]1.運行一個C語言程式的一般過程
TurboC是一個集根源程式編輯、編譯、連接、運行與調(diào)試於一體、用菜單驅(qū)動的集成軟體環(huán)境。運行一個C語言程式的一般過程:(1)啟動TC,進(jìn)入TC集成環(huán)境。(2)編輯(或修改)根源程式。(3)編譯。如果編譯成功,則可進(jìn)行下一步操作;否則,返回(2)修改根源程式,再重新編譯,直至編譯成功。(4)連接。如果連接成功,則可進(jìn)行下一步操作;否則,根據(jù)系統(tǒng)的錯誤提示,進(jìn)行相應(yīng)修改,再重新連接,直至連接成功。(5)運行。通過觀察程式運行結(jié)果,驗證程式的正確性。如果出現(xiàn)邏輯錯誤,則必須返回(2)修改根源程式,再重新編譯、連接和運行,直至程式正確。(6)退出TC集成環(huán)境,結(jié)束本次程式運行。[Return]2.TC的啟動、退出與命令菜單
(1)啟動TurboC:
tc←┘
[畫面演示]啟動TurboC後,其主菜單條橫向排列在螢?zāi)豁敹?,並被啟動,其中File主項成為當(dāng)前項。主菜單的下麵,是Edit(編輯)窗口和Message(消息)窗口。兩個窗口中,頂端橫線為雙線顯示的,表示該窗口是活動窗口。編輯窗口的頂端為狀態(tài)行,其中:.Line1Col1:顯示游標(biāo)所在的行號和列號,即游標(biāo)位置。.Insert:表示編輯狀態(tài)處於“插入”。當(dāng)處於“改寫”狀態(tài)時,此處為空白。.d:NONAME.C:顯示當(dāng)前正在編輯的檔案名。顯示為“NONAME.C”時,表示用戶尚未給檔命名。螢?zāi)坏锥耸?個功能鍵的說明,以及NumLock鍵的狀態(tài)(顯示“NUM”時,表示處於“數(shù)字鍵”狀態(tài);空白,表示“控制鍵”狀態(tài))。
(2)命令菜單的使用
1)按下功能鍵F10,啟動主菜單。如果主菜單已經(jīng)被啟動,則直接轉(zhuǎn)下一步。
2)用左、右方向鍵移動光帶,定位於需要的主項上,然後再按回車鍵,打開其子菜單(縱向排列)。
3)用上、下方向鍵移動光帶,定位於需要的子項上,回車即可。執(zhí)行完選定的功能後,系統(tǒng)自動關(guān)閉菜單。注意:菜單啟動後,又不使用,可再按F10/Esc鍵關(guān)閉,返回原來狀態(tài)。
(3)退出TurboC
退出TC有兩種方法:
1)菜單法:File|Quit(先選擇File主項,再選擇並執(zhí)行Quit子項)
2)快捷鍵法:Alt+“X”(先按下Alt鍵並保持,再按字母鍵X,然後同時放開)[Return]3.編輯並保存一個C語言根源程式
(1)啟動主菜單,選擇並執(zhí)行File|Load項(快捷鍵鍵:F3)。(2)在“LoadFileName”窗口,輸入根源程式檔案名。檔案名的輸入有兩種方法:直接輸入和選擇輸入。1)直接輸入按照檔案名的組成字串,逐個字元輸入即可。如果是已經(jīng)存在的檔,系統(tǒng)就在編輯窗口顯示該檔的內(nèi)容,可供編輯、修改。如果是新檔,則給出一個空白編輯窗口,可供輸入新的根源程式。如果該檔不在當(dāng)前目錄下,則需要冠以路徑名和(或)盤符。2)選擇檔(僅適用於已經(jīng)存在的根源程式檔)
①空回車,打開當(dāng)前目錄下、尾碼為.C的所有檔的檔案名窗口。
②用上、下、左、右方向鍵,將光帶定位於所需的檔案名上。
③按回車鍵。
(3)常用編輯操作在編輯根源程式過程中,隨時都可以按F2鍵(或File|Save),將當(dāng)前編輯的檔存盤,然後繼續(xù)編輯。這是一個良好的習(xí)慣!關(guān)於線上幫助:在任何窗口(或狀態(tài))下,按F1鍵啟動活動窗口(或狀態(tài))的線上幫助:.下一頁──PageDown,返回上一頁──PageUp.關(guān)閉線上幫助、返回原窗口(或狀態(tài))──Esc.返回前一個線上幫助屏──Alt+F1(無論線上幫助是否被啟動).返回線上幫助索引──F1:啟動線上幫助後,再按F1,則返回線上幫助索引,以便查詢其他類別線上幫助資訊。.查詢庫函數(shù)的線上幫助資訊──^F1:將游標(biāo)移到需要查詢函數(shù)名的首字元上,然後鍵入^F1,即可獲得該庫函數(shù)的線上幫助資訊。注:為簡化描述,用“^”代表“Ctrl”鍵。^Fn就是Ctrl+Fn,下同。[Return]
4.編譯、連接──單個根源程式檔
選擇並執(zhí)行Compile|Ma
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度年會場地租賃及現(xiàn)場直播服務(wù)合同4篇
- 二零二五年度農(nóng)用拖拉機(jī)售后服務(wù)與技術(shù)支持合同4篇
- 2025年度迷你氣象站智能預(yù)警系統(tǒng)定制合同4篇
- 2025年培訓(xùn)特許經(jīng)營合同
- 二零二五版苗木養(yǎng)護(hù)與園林工程承包合同3篇
- 2025年度裝飾藝術(shù)鋼化玻璃定制合同2篇
- 二零二五年度智能農(nóng)業(yè)機(jī)械租賃服務(wù)合同4篇
- 2024年度青海省公共營養(yǎng)師之三級營養(yǎng)師自我檢測試卷A卷附答案
- 2025年度個人知識產(chǎn)權(quán)維權(quán)委托合同樣本4篇
- 2024年度青海省公共營養(yǎng)師之三級營養(yǎng)師考前沖刺試卷A卷含答案
- 2024版塑料購銷合同范本買賣
- 2024-2025學(xué)年人教新版高二(上)英語寒假作業(yè)(五)
- JJF 2184-2025電子計價秤型式評價大綱(試行)
- GB/T 44890-2024行政許可工作規(guī)范
- 2024年安徽省中考數(shù)學(xué)試卷含答案
- 2025屆山東省德州市物理高三第一學(xué)期期末調(diào)研模擬試題含解析
- 2024年滬教版一年級上學(xué)期語文期末復(fù)習(xí)習(xí)題
- 兩人退股協(xié)議書范文合伙人簽字
- 2024版【人教精通版】小學(xué)英語六年級下冊全冊教案
- 汽車噴漆勞務(wù)外包合同范本
- 微項目 探討如何利用工業(yè)廢氣中的二氧化碳合成甲醇-2025年高考化學(xué)選擇性必修第一冊(魯科版)
評論
0/150
提交評論