版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語(yǔ)言程序設(shè)計(jì)目 錄1C語(yǔ)言概述81.1語(yǔ)言的發(fā)展過(guò)程81.2當(dāng)代最優(yōu)秀的程序設(shè)計(jì)語(yǔ)言81.3語(yǔ)言版本81.4語(yǔ)言的特點(diǎn)81.5面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言91.6和91.7簡(jiǎn)單的程序介紹91.8輸入和輸出函數(shù)111.9源程序的結(jié)構(gòu)特點(diǎn)121.10書(shū)寫(xiě)程序時(shí)應(yīng)遵循的規(guī)則121.11語(yǔ)言的字符集121.12語(yǔ)言詞匯121.13Turbo C 2.0集成開(kāi)發(fā)環(huán)境的使用141.13.1Turbo C 2.0簡(jiǎn)介和啟動(dòng)141.13.2Turbo C 2.0集成開(kāi)發(fā)環(huán)境14菜單15菜單16菜單17菜單18菜單19菜單20菜單24菜單251.13.11Turbo C 2.0的配置文件262程序的靈魂算法272.
2、1算法的概念272.2簡(jiǎn)單算法舉例272.3算法的特性302.4怎樣表示一個(gè)算法30用自然語(yǔ)言表示算法30用流程圖表示算法30三種基本結(jié)構(gòu)和改進(jìn)的流程圖34用N-S流程圖表示算法35用偽代碼表示算法36用計(jì)算機(jī)語(yǔ)言表示算法372.5結(jié)構(gòu)化程序設(shè)計(jì)方法373數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式383.1語(yǔ)言的數(shù)據(jù)類(lèi)型383.2常量與變量40常量和符號(hào)常量40變量413.3整型數(shù)據(jù)41整型常量的表示方法41整型變量423.4實(shí)型數(shù)據(jù)45實(shí)型常量的表示方法45實(shí)型變量46實(shí)型常數(shù)的類(lèi)型473.5字符型數(shù)據(jù)47字符常量47轉(zhuǎn)義字符48字符變量48字符數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式及使用方法49字符串常量503.6變量賦初
3、值503.7各類(lèi)數(shù)值型數(shù)據(jù)之間的混合運(yùn)算513.8算術(shù)運(yùn)算符和算術(shù)表達(dá)式52運(yùn)算符簡(jiǎn)介52算術(shù)運(yùn)算符和算術(shù)表達(dá)式533.9賦值運(yùn)算符和賦值表達(dá)式553.10逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式563.11小結(jié)57的數(shù)據(jù)類(lèi)型57基本類(lèi)型的分類(lèi)及特點(diǎn)57常量后綴58常量類(lèi)型58數(shù)據(jù)類(lèi)型轉(zhuǎn)換58運(yùn)算符優(yōu)先級(jí)和結(jié)合性58表達(dá)式584最簡(jiǎn)單的C程序設(shè)計(jì)順序程序設(shè)計(jì)594.1語(yǔ)句概述594.2賦值語(yǔ)句614.3數(shù)據(jù)輸入輸出的概念及在C語(yǔ)言中的實(shí)現(xiàn)624.4字符數(shù)據(jù)的輸入輸出624.4.1putchar 函數(shù)(字符輸出函數(shù))62函數(shù)(鍵盤(pán)輸入函數(shù))634.5格式輸入與輸出63函數(shù)(格式輸出函數(shù))63函數(shù)(格式輸入函數(shù))6
4、64.6順序結(jié)構(gòu)程序設(shè)計(jì)舉例705分支結(jié)構(gòu)程序725.1關(guān)系運(yùn)算符和表達(dá)式72關(guān)系運(yùn)算符及其優(yōu)先次序72關(guān)系表達(dá)式725.2邏輯運(yùn)算符和表達(dá)式73邏輯運(yùn)算符極其優(yōu)先次序73邏輯運(yùn)算的值74邏輯表達(dá)式745.3if語(yǔ)句75語(yǔ)句的三種形式75語(yǔ)句的嵌套79條件運(yùn)算符和條件表達(dá)式805.4switch語(yǔ)句815.5程序舉例826循環(huán)控制846.1概述846.2goto語(yǔ)句以及用goto語(yǔ)句構(gòu)成循環(huán)846.3while語(yǔ)句856.4do-while語(yǔ)句876.5for語(yǔ)句896.6循環(huán)的嵌套926.7幾種循環(huán)的比較926.8break和continue語(yǔ)句92語(yǔ)句926.8.2continue 語(yǔ)句9
5、36.9程序舉例947數(shù)組977.1一維數(shù)組的定義和引用97一維數(shù)組的定義方式97一維數(shù)組元素的引用98一維數(shù)組的初始化100一維數(shù)組程序舉例1007.2二維數(shù)組的定義和引用102二維數(shù)組的定義102二維數(shù)組元素的引用102二維數(shù)組的初始化103二維數(shù)組程序舉例1057.3字符數(shù)組105字符數(shù)組的定義105字符數(shù)組的初始化105字符數(shù)組的引用106字符串和字符串結(jié)束標(biāo)志106字符數(shù)組的輸入輸出106字符串處理函數(shù)1087.4程序舉例1107.5本章小結(jié)1138函數(shù)1148.1概述1148.2函數(shù)定義的一般形式1168.3函數(shù)的參數(shù)和函數(shù)的值117形式參數(shù)和實(shí)際參數(shù)117函數(shù)的返回值1188.4
6、函數(shù)的調(diào)用119函數(shù)調(diào)用的一般形式119函數(shù)調(diào)用的方式119被調(diào)用函數(shù)的聲明和函數(shù)原型1208.5函數(shù)的嵌套調(diào)用1218.6函數(shù)的遞歸調(diào)用1238.7數(shù)組作為函數(shù)參數(shù)1258.8局部變量和全局變量130局部變量130全局變量1328.9變量的存儲(chǔ)類(lèi)別133動(dòng)態(tài)存儲(chǔ)方式與靜態(tài)動(dòng)態(tài)存儲(chǔ)方式133變量134用static聲明局部變量134變量135用extern聲明外部變量1369預(yù)處理命令1379.1概述1379.2宏定義137無(wú)參宏定義137帶參宏定義1409.3文件包含1449.4條件編譯1459.5本章小結(jié)14710指針14810.1地址指針的基本概念14810.2變量的指針和指向變量的指針
7、變量149定義一個(gè)指針變量150指針變量的引用150指針變量作為函數(shù)參數(shù)154指針變量幾個(gè)問(wèn)題的進(jìn)一步說(shuō)明15710.3數(shù)組指針和指向數(shù)組的指針變量160指向數(shù)組元素的指針160通過(guò)指針引用數(shù)組元素161數(shù)組名作函數(shù)參數(shù)163指向多維數(shù)組的指針和指針變量17010.4字符串的指針指向字符串的針指變量172字符串的表示形式172使用字符串指針變量與字符數(shù)組的區(qū)別17510.5函數(shù)指針變量17610.6指針型函數(shù)17710.7指針數(shù)組和指向指針的指針178指針數(shù)組的概念178指向指針的指針181函數(shù)的參數(shù)18310.8有關(guān)指針的數(shù)據(jù)類(lèi)型和指針運(yùn)算的小結(jié)184有關(guān)指針的數(shù)據(jù)類(lèi)型的小結(jié)184指針運(yùn)算的
8、小結(jié)185指針類(lèi)型18511結(jié)構(gòu)體與共用體18611.1定義一個(gè)結(jié)構(gòu)的一般形式18611.2結(jié)構(gòu)類(lèi)型變量的說(shuō)明18711.3結(jié)構(gòu)變量成員的表示方法18911.4結(jié)構(gòu)變量的賦值18911.5結(jié)構(gòu)變量的初始化19011.6結(jié)構(gòu)數(shù)組的定義19011.7結(jié)構(gòu)指針變量的說(shuō)明和使用192指向結(jié)構(gòu)變量的指針192指向結(jié)構(gòu)數(shù)組的指針194結(jié)構(gòu)指針變量作函數(shù)參數(shù)19511.8動(dòng)態(tài)存儲(chǔ)分配19611.9鏈表的概念19711.10枚舉類(lèi)型199枚舉類(lèi)型的定義和枚舉變量的說(shuō)明199枚舉類(lèi)型變量的賦值和使用20011.11類(lèi)型定義符typedef20112位運(yùn)算20312.1位運(yùn)算符語(yǔ)言提供了六種位運(yùn)算符:203按位與
9、運(yùn)算203按位或運(yùn)算204按位異或運(yùn)算204求反運(yùn)算205左移運(yùn)算205右移運(yùn)算20512.2位域(位段)20612.3本章小結(jié)20813文件20913.1C文件概述20913.2文件指針21013.3文件的打開(kāi)與關(guān)閉210文件的打開(kāi)(fopen函數(shù))210文件關(guān)閉函數(shù)(fclose函數(shù))21213.4文件的讀寫(xiě)212字符讀寫(xiě)函數(shù)fgetc和fputc212字符串讀寫(xiě)函數(shù)fgets和fputs216數(shù)據(jù)塊讀寫(xiě)函數(shù)fread和fwtrite217格式化讀寫(xiě)函數(shù)fscanf和fprintf21913.5文件的隨機(jī)讀寫(xiě)220文件定位220文件的隨機(jī)讀寫(xiě)22113.6文件檢測(cè)函數(shù)222文件結(jié)束檢測(cè)函數(shù)
10、feof函數(shù)222讀寫(xiě)文件出錯(cuò)檢測(cè)函數(shù)222文件出錯(cuò)標(biāo)志和文件結(jié)束標(biāo)志置0函數(shù)22213.7庫(kù)文件22213.8本章小結(jié)2231 C語(yǔ)言概述1.1 語(yǔ)言的發(fā)展過(guò)程語(yǔ)言是在 70 年代初問(wèn)世的。一九七八年由美國(guó)電話(huà)電報(bào)公司(AT&T)貝爾實(shí)驗(yàn)室正式發(fā)表了語(yǔ)言。同時(shí)由和合著了著名的“THE C PROGRAMMING LANGUAGE”一書(shū)。通常簡(jiǎn)稱(chēng)為K&R,也有人稱(chēng)之為K&R標(biāo)準(zhǔn)。但是,在K&R中并沒(méi)有定義一個(gè)完整的標(biāo)準(zhǔn)C 語(yǔ)言,后來(lái)由美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)(American National Standards Institute)在此基礎(chǔ)上制定了一個(gè)C 語(yǔ)言標(biāo)準(zhǔn),于
11、一九八三年發(fā)表。通常稱(chēng)之為ANSI C。1.2 當(dāng)代最優(yōu)秀的程序設(shè)計(jì)語(yǔ)言早期的C 語(yǔ)言主要是用于UNIX系統(tǒng)。由于語(yǔ)言的強(qiáng)大功能和各方面的優(yōu)點(diǎn)逐漸為人們認(rèn)識(shí),到了八十年代,C開(kāi)始進(jìn)入其它操作系統(tǒng),并很快在各類(lèi)大、中、小和微型計(jì)算機(jī)上得到了廣泛的使用,成為當(dāng)代最優(yōu)秀的程序設(shè)計(jì)語(yǔ)言之一。1.3 語(yǔ)言版本目前最流行的語(yǔ)言有以下幾種:·Microsoft C 或稱(chēng) MS C·Borland Turbo C 或稱(chēng) Turbo C·AT&T C這些語(yǔ)言版本不僅實(shí)現(xiàn)了ANSI C標(biāo)準(zhǔn),而且在此基礎(chǔ)上各自作了一些擴(kuò)充,使之更加方便、完美。1.4 語(yǔ)言的特點(diǎn)1·C
12、語(yǔ)言簡(jiǎn)潔、緊湊,使用方便、靈活。ANSI C一共只有32個(gè)關(guān)鍵字:autobreakcasecharconstcontinuedefaultdo double else enum extern float for goto if int long register return short signed static sizeof struct switch typedef union unsigned void volatilewhile9種控制語(yǔ)句,程序書(shū)寫(xiě)自由,主要用小寫(xiě)字母表示,壓縮了一切不必要的成分。Turbo C擴(kuò)充了11個(gè)關(guān)鍵字:asm_cs_ds_es_sscdeclfarhu
13、geinterruptnearpascal注意:在C語(yǔ)言中,關(guān)鍵字都是小寫(xiě)的。2·運(yùn)算符豐富。共有34種。C把括號(hào)、賦值、逗號(hào)等都作為運(yùn)算符處理。從而使C的運(yùn)算類(lèi)型極為豐富,可以實(shí)現(xiàn)其他高級(jí)語(yǔ)言難以實(shí)現(xiàn)的運(yùn)算。3·數(shù)據(jù)結(jié)構(gòu)類(lèi)型豐富。4·具有結(jié)構(gòu)化的控制語(yǔ)句。5·語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。6·C語(yǔ)言允許直接訪(fǎng)問(wèn)物理地址,能進(jìn)行位(bit)操作,能實(shí)現(xiàn)匯編語(yǔ)言的大部分功能,可以直接對(duì)硬件進(jìn)行操作。因此有人把它稱(chēng)為中級(jí)語(yǔ)言。7·生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。8·與匯編語(yǔ)言相比,用C語(yǔ)言寫(xiě)的程序可移植性好。但是,C語(yǔ)
14、言對(duì)程序員要求也高,程序員用C寫(xiě)程序會(huì)感到限制少、靈活性大,功能強(qiáng),但較其他高級(jí)語(yǔ)言在學(xué)習(xí)上要困難一些。1.5 面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言在C的基礎(chǔ)上,一九八三年又由貝爾實(shí)驗(yàn)室的Bjarne Strou-strup推出了C+。 C+進(jìn)一步擴(kuò)充和完善了語(yǔ)言,成為一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。C+目前流行的最新版本是Borland C+, Symantec C+和Microsoft VisualC+。 C+提出了一些更為深入的概念,它所支持的這些面向?qū)ο蟮母拍钊菀讓?wèn)題空間直接地映射到程序空間,為程序員提供了一種與傳統(tǒng)結(jié)構(gòu)程序設(shè)計(jì)不同的思維方式和編程方法。因而也增加了整個(gè)語(yǔ)言的復(fù)雜性,掌握起來(lái)有一定難度
15、。1.6 和但是,C是C+的基礎(chǔ),C+語(yǔ)言和語(yǔ)言在很多方面是兼容的。因此,掌握了語(yǔ)言,再進(jìn)一步學(xué)習(xí)C+就能以一種熟悉的語(yǔ)法來(lái)學(xué)習(xí)面向?qū)ο蟮恼Z(yǔ)言,從而達(dá)到事半功倍的目的。1.7 簡(jiǎn)單的程序介紹為了說(shuō)明語(yǔ)言源程序結(jié)構(gòu)的特點(diǎn),先看以下幾個(gè)程序。這幾個(gè)程序由簡(jiǎn)到難,表現(xiàn)了語(yǔ)言源程序在組成結(jié)構(gòu)上的特點(diǎn)。雖然有關(guān)內(nèi)容還未介紹,但可從這些例子中了解到組成一個(gè)C源程序的基本部分和書(shū)寫(xiě)格式。【例1.1】main() printf("世界,您好!n");l main是主函數(shù)的函數(shù)名,表示這是一個(gè)主函數(shù)。l 每一個(gè)C源程序都必須有,且只能有一個(gè)主函數(shù)(main函數(shù))。l 函數(shù)調(diào)用語(yǔ)句,print
16、f函數(shù)的功能是把要輸出的內(nèi)容送到顯示器去顯示。l printf函數(shù)是一個(gè)由系統(tǒng)定義的標(biāo)準(zhǔn)函數(shù),可在程序中直接調(diào)用?!纠?.2】#include<math.h>#include<stdio.h>main() double x,s; printf("input number:n"); scanf("%lf",&x); s=sin(x); printf("sine of %lf is %lfn",x,s); l include稱(chēng)為文件包含命令l 擴(kuò)展名為.h的文件稱(chēng)為頭文件l 定義兩個(gè)實(shí)數(shù)變量,以被后面程序使
17、用l 顯示提示信息l 從鍵盤(pán)獲得一個(gè)實(shí)數(shù)xl 求x的正弦,并把它賦給變量sl 顯示程序運(yùn)算結(jié)果l main函數(shù)結(jié)束程序的功能是從鍵盤(pán)輸入一個(gè)數(shù)x,求x的正弦值,然后輸出結(jié)果。在main()之前的兩行稱(chēng)為預(yù)處理命令(詳見(jiàn)后面)。預(yù)處理命令還有其它幾種,這里的include 稱(chēng)為文件包含命令,其意義是把尖括號(hào)<>或引號(hào)""內(nèi)指定的文件包含到本程序來(lái),成為本程序的一部分。被包含的文件通常是由系統(tǒng)提供的,其擴(kuò)展名為.h。因此也稱(chēng)為頭文件或首部文件。語(yǔ)言的頭文件中包括了各個(gè)標(biāo)準(zhǔn)庫(kù)函數(shù)的函數(shù)原型。因此,凡是在程序中調(diào)用一個(gè)庫(kù)函數(shù)時(shí),都必須包含該函數(shù)原型所在的頭文件。在本例中
18、,使用了三個(gè)庫(kù)函數(shù):輸入函數(shù)scanf,正弦函數(shù)sin,輸出函數(shù)printf。sin函數(shù)是數(shù)學(xué)函數(shù),其頭文件為math.h文件,因此在程序的主函數(shù)前用include命令包含了math.h。scanf和printf是標(biāo)準(zhǔn)輸入輸出函數(shù),其頭文件為stdio.h,在主函數(shù)前也用include命令包含了stdio.h文件。需要說(shuō)明的是,C語(yǔ)言規(guī)定對(duì)scanf和printf這兩個(gè)函數(shù)可以省去對(duì)其頭文件的包含命令。所以在本例中也可以刪去第二行的包含命令#include<stdio.h>。同樣,在例1.1中使用了printf函數(shù),也省略了包含命令。在例題中的主函數(shù)體中又分為兩部分,一部分為說(shuō)明部
19、分,另一部為分執(zhí)行部分。說(shuō)明是指變量的類(lèi)型說(shuō)明。例題1.1中未使用任何變量,因此無(wú)說(shuō)明部分。語(yǔ)言規(guī)定,源程序中所有用到的變量都必須先說(shuō)明,后使用,否則將會(huì)出錯(cuò)。這一點(diǎn)是編譯型高級(jí)程序設(shè)計(jì)語(yǔ)言的一個(gè)特點(diǎn),與解釋型的BASIC語(yǔ)言是不同的。說(shuō)明部分是C源程序結(jié)構(gòu)中很重要的組成部分。本例中使用了兩個(gè)變量x,s,用來(lái)表示輸入的自變量和sin函數(shù)值。由于sin函數(shù)要求這兩個(gè)量必須是雙精度浮點(diǎn)型,故用類(lèi)型說(shuō)明符double來(lái)說(shuō)明這兩個(gè)變量。說(shuō)明部分后的四行為執(zhí)行部分或稱(chēng)為執(zhí)行語(yǔ)句部分,用以完成程序的功能。執(zhí)行部分的第一行是輸出語(yǔ)句,調(diào)用printf函數(shù)在顯示器上輸出提示字符串,請(qǐng)操作人員輸入自變量x的值。
20、第二行為輸入語(yǔ)句,調(diào)用scanf函數(shù),接受鍵盤(pán)上輸入的數(shù)并存入變量x中。第三行是調(diào)用sin函數(shù)并把函數(shù)值送到變量s中。第四行是用printf 函數(shù)輸出變量s的值,即x的正弦值。程序結(jié)束。運(yùn)行本程序時(shí),首先在顯示器屏幕上給出提示串input number,這是由執(zhí)行部分的第一行完成的。用戶(hù)在提示下從鍵盤(pán)上鍵入某一數(shù),如5,按下回車(chē)鍵,接著在屏幕上給出計(jì)算結(jié)果。1.8 輸入和輸出函數(shù)在前兩個(gè)例子中用到了輸入和輸出函數(shù)scanf和 printf,在以后要詳細(xì)介紹。這里我們先簡(jiǎn)單介紹一下它們的格式,以便下面使用。 scanf和 printf這兩個(gè)函數(shù)分別稱(chēng)為格式輸入函數(shù)和格式輸出函數(shù)。其意義是按指定的
21、格式輸入輸出值。因此,這兩個(gè)函數(shù)在括號(hào)中的參數(shù)表都由以下兩部分組成:“格式控制串”,參數(shù)表格式控制串是一個(gè)字符串,必須用雙引號(hào)括起來(lái),它表示了輸入輸出量的數(shù)據(jù)類(lèi)型。各種類(lèi)型的格式表示法可參閱第三章。在printf函數(shù)中還可以在格式控制串內(nèi)出現(xiàn)非格式控制字符,這時(shí)在顯示屏幕上將原文照印。參數(shù)表中給出了輸入或輸出的量。當(dāng)有多個(gè)量時(shí),用逗號(hào)間隔。例如: printf("sine of %lf is %lfn",x,s);其中%lf為格式字符,表示按雙精度浮點(diǎn)數(shù)處理。它在格式串中兩次現(xiàn),對(duì)應(yīng)了x和s兩個(gè)變量。其余字符為非格式字符則照原樣輸出在屏幕上。【例1.3】int max(in
22、t a,int b); /*函數(shù)說(shuō)明*/main() /*主函數(shù)*/ int x,y,z; /*變量說(shuō)明*/int max(int a,int b); /*函數(shù)說(shuō)明*/ printf("input two numbers:n");scanf("%d%d",&x,&y); /*輸入x,y值*/ z=max(x,y); /*調(diào)用max函數(shù)*/ printf("maxmum=%d",z); /*輸出*/ int max(int a,int b) /*定義max函數(shù)*/ if(a>b)return a;else retu
23、rn b; /*把結(jié)果返回主調(diào)函數(shù)*/ 上面例中程序的功能是由用戶(hù)輸入兩個(gè)整數(shù),程序執(zhí)行后輸出其中較大的數(shù)。本程序由兩個(gè)函數(shù)組成,主函數(shù)和max 函數(shù)。函數(shù)之間是并列關(guān)系??蓮闹骱瘮?shù)中調(diào)用其它函數(shù)。max 函數(shù)的功能是比較兩個(gè)數(shù),然后把較大的數(shù)返回給主函數(shù)。max 函數(shù)是一個(gè)用戶(hù)自定義函數(shù)。因此在主函數(shù)中要給出說(shuō)明(程序第三行)。可見(jiàn),在程序的說(shuō)明部分中,不僅可以有變量說(shuō)明,還可以有函數(shù)說(shuō)明。關(guān)于函數(shù)的詳細(xì)內(nèi)容將在以后第五章介紹。在程序的每行后用/*和*/括起來(lái)的內(nèi)容為注釋部分,程序不執(zhí)行注釋部分。上例中程序的執(zhí)行過(guò)程是,首先在屏幕上顯示提示串,請(qǐng)用戶(hù)輸入兩個(gè)數(shù),回車(chē)后由scanf函數(shù)語(yǔ)句接收
24、這兩個(gè)數(shù)送入變量x,y中,然后調(diào)用max函數(shù),并把x,y 的值傳送給max函數(shù)的參數(shù)a,b。在max函數(shù)中比較a,b的大小,把大者返回給主函數(shù)的變量z,最后在屏幕上輸出z的值。1.9 源程序的結(jié)構(gòu)特點(diǎn) 1.一個(gè)語(yǔ)言源程序可以由一個(gè)或多個(gè)源文件組成。 2.每個(gè)源文件可由一個(gè)或多個(gè)函數(shù)組成。 3.一個(gè)源程序不論由多少個(gè)文件組成,都有一個(gè)且只能有一個(gè)main函數(shù),即主函數(shù)。 4.源程序中可以有預(yù)處理命令(include 命令僅為其中的一種),預(yù)處理命令通常應(yīng)放在源文件或源程序的最前面。 5.每一個(gè)說(shuō)明,每一個(gè)語(yǔ)句都必須以分號(hào)結(jié)尾。但預(yù)處理命令,函數(shù)頭和花括號(hào)“”之后不能加分號(hào)。 6.標(biāo)識(shí)符,關(guān)鍵字之
25、間必須至少加一個(gè)空格以示間隔。若已有明顯的間隔符,也可不再加空格來(lái)間隔。1.10 書(shū)寫(xiě)程序時(shí)應(yīng)遵循的規(guī)則從書(shū)寫(xiě)清晰,便于閱讀,理解,維護(hù)的角度出發(fā),在書(shū)寫(xiě)程序時(shí)應(yīng)遵循以下規(guī)則: 1.一個(gè)說(shuō)明或一個(gè)語(yǔ)句占一行。 2.用 括起來(lái)的部分,通常表示了程序的某一層次結(jié)構(gòu)。一般與該結(jié)構(gòu)語(yǔ)句的第一個(gè)字母對(duì)齊,并單獨(dú)占一行。 3.低一層次的語(yǔ)句或說(shuō)明可比高一層次的語(yǔ)句或說(shuō)明縮進(jìn)若干格后書(shū)寫(xiě)。以便看起來(lái)更加清晰,增加程序的可讀性。在編程時(shí)應(yīng)力求遵循這些規(guī)則,以養(yǎng)成良好的編程風(fēng)格。1.11 語(yǔ)言的字符集字符是組成語(yǔ)言的最基本的元素。語(yǔ)言字符集由字母,數(shù)字,空格,標(biāo)點(diǎn)和特殊字符組成。在字符常量,字符串常量和注釋中還
26、可以使用漢字或其它可表示的圖形符號(hào)。 1.字母小寫(xiě)字母az共26個(gè)大寫(xiě)字母AZ共26個(gè) 2.數(shù)字09共10個(gè) 3.空白符空格符、制表符、換行符等統(tǒng)稱(chēng)為空白符??瞻追辉谧址A亢妥址A恐衅鹱饔谩T谄渌胤匠霈F(xiàn)時(shí),只起間隔作用,編譯程序?qū)λ鼈兒雎圆挥?jì)。因此在程序中使用空白符與否,對(duì)程序的編譯不發(fā)生影響,但在程序中適當(dāng)?shù)牡胤绞褂每瞻追麑⒃黾映绦虻那逦院涂勺x性。 4.標(biāo)點(diǎn)和特殊字符1.12 語(yǔ)言詞匯在語(yǔ)言中使用的詞匯分為六類(lèi):標(biāo)識(shí)符,關(guān)鍵字,運(yùn)算符,分隔符,常量,注釋符等。 1.標(biāo)識(shí)符在程序中使用的變量名、函數(shù)名、標(biāo)號(hào)等統(tǒng)稱(chēng)為標(biāo)識(shí)符。除庫(kù)函數(shù)的函數(shù)名由系統(tǒng)定義外,其余都由用戶(hù)自定義。C 規(guī)定,
27、標(biāo)識(shí)符只能是字母(AZ,az)、數(shù)字(09)、下劃線(xiàn)(_)組成的字符串,并且其第一個(gè)字符必須是字母或下劃線(xiàn)。以下標(biāo)識(shí)符是合法的:a, x, x3, BOOK_1, sum5以下標(biāo)識(shí)符是非法的: 3s 以數(shù)字開(kāi)頭 s*T 出現(xiàn)非法字符* -3x 以減號(hào)開(kāi)頭 bowy-1 出現(xiàn)非法字符-(減號(hào))在使用標(biāo)識(shí)符時(shí)還必須注意以下幾點(diǎn): (1)標(biāo)準(zhǔn)C不限制標(biāo)識(shí)符的長(zhǎng)度,但它受各種版本的C 語(yǔ)言編譯系統(tǒng)限制,同時(shí)也受到具體機(jī)器的限制。例如在某版本C 中規(guī)定標(biāo)識(shí)符前八位有效,當(dāng)兩個(gè)標(biāo)識(shí)符前八位相同時(shí),則被認(rèn)為是同一個(gè)標(biāo)識(shí)符。 (2)在標(biāo)識(shí)符中,大小寫(xiě)是有區(qū)別的。例如BOOK和book 是兩個(gè)不同的標(biāo)識(shí)符。 (
28、3)標(biāo)識(shí)符雖然可由程序員隨意定義,但標(biāo)識(shí)符是用于標(biāo)識(shí)某個(gè)量的符號(hào)。因此,命名應(yīng)盡量有相應(yīng)的意義,以便于閱讀理解,作到“顧名思義”。 2.關(guān)鍵字關(guān)鍵字是由語(yǔ)言規(guī)定的具有特定意義的字符串,通常也稱(chēng)為保留字。用戶(hù)定義的標(biāo)識(shí)符不應(yīng)與關(guān)鍵字相同。語(yǔ)言的關(guān)鍵字分為以下幾類(lèi): (1)類(lèi)型說(shuō)明符用于定義、說(shuō)明變量、函數(shù)或其它數(shù)據(jù)結(jié)構(gòu)的類(lèi)型。如前面例題中用到的int,double等 (2)語(yǔ)句定義符用于表示一個(gè)語(yǔ)句的功能。如例1.3中用到的if else就是條件語(yǔ)句的語(yǔ)句定義符。 (3)預(yù)處理命令字用于表示一個(gè)預(yù)處理命令。如前面各例中用到的include。 3.運(yùn)算符語(yǔ)言中含有相當(dāng)豐富的運(yùn)算符。運(yùn)算符與變量,函
29、數(shù)一起組成表達(dá)式,表示各種運(yùn)算功能。運(yùn)算符由一個(gè)或多個(gè)字符組成。 4.分隔符在語(yǔ)言中采用的分隔符有逗號(hào)和空格兩種。逗號(hào)主要用在類(lèi)型說(shuō)明和函數(shù)參數(shù)表中,分隔各個(gè)變量??崭穸嘤糜谡Z(yǔ)句各單詞之間,作間隔符。在關(guān)鍵字,標(biāo)識(shí)符之間必須要有一個(gè)以上的空格符作間隔,否則將會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤,例如把int a;寫(xiě)成 inta;C編譯器會(huì)把inta當(dāng)成一個(gè)標(biāo)識(shí)符處理,其結(jié)果必然出錯(cuò)。 5.常量 C 語(yǔ)言中使用的常量可分為數(shù)字常量、字符常量、字符串常量、符號(hào)常量、轉(zhuǎn)義字符等多種。在后面章節(jié)中將專(zhuān)門(mén)給予介紹。 6.注釋符C 語(yǔ)言的注釋符是以“/*”開(kāi)頭并以“*/”結(jié)尾的串。在“/*”和“*/”之間的即為注釋。程序編譯時(shí)
30、,不對(duì)注釋作任何處理。注釋可出現(xiàn)在程序中的任何位置。注釋用來(lái)向用戶(hù)提示或解釋程序的意義。在調(diào)試程序中對(duì)暫不使用的語(yǔ)句也可用注釋符括起來(lái),使翻譯跳過(guò)不作處理,待調(diào)試結(jié)束后再去掉注釋符。1.13 Turbo C 2.0集成開(kāi)發(fā)環(huán)境的使用1.13.1 Turbo C 2.0簡(jiǎn)介和啟動(dòng)我們上機(jī)實(shí)習(xí)和將來(lái)考試都是使用Borland Turbo C 2.0這個(gè)版本。該系統(tǒng)是DOS操作系統(tǒng)支持下的軟件,在windows 98環(huán)境下,可以在DOS窗口下運(yùn)行。我們機(jī)房是在D盤(pán)根目錄下建立一個(gè)TC 子目 錄下安裝Turbo C 2.0系統(tǒng)的。 TC下還建立了兩個(gè)了目錄LIB和INCLUDE, LIB子目
31、錄中存放庫(kù)文件, INCLUDE 子目錄中存放所有頭文件。在DOS環(huán)境下或在windows 98的DOS窗口下運(yùn)行運(yùn)行Turbo C 2.0時(shí), 只要在TC 子目錄下鍵入TC并回車(chē)即可進(jìn)入Turbo C 2. 0 集成開(kāi)發(fā)環(huán)境。在windows 98環(huán)境下,也可以選運(yùn)行菜單,然后鍵入d:tctc即可,也可以在tc文件夾找到tc.exe文件,然后用鼠標(biāo)雙擊該文件名也可進(jìn)入Turbo C 2. 0 集成開(kāi)發(fā)環(huán)境。Turbo C 是美國(guó)Borland 公司的產(chǎn)品,Borland公司是一家專(zhuān)門(mén)從事軟件開(kāi)發(fā)、研制的大公司。該公司相繼推出了一套 Turbo系列軟件, 如Tur
32、bo BASIC, TurboPascal, Turbo Prolog, 這些軟件很受用戶(hù)歡迎。該公司在1987年首次推出TurboC 1.0 產(chǎn)品, 其中使用了全然一新的集成開(kāi)發(fā)環(huán)境, 即使用了一系列下拉式菜單, 將文本編輯、程序編譯、連接以及程序運(yùn)行一體化, 大大方便了程序的開(kāi)發(fā)。1988年, Borland 公司又推出Turbo C1.5版本, 增加了圖形庫(kù)和文本窗口函數(shù)庫(kù)等, 而Turbo C 2.0 則是該公司1989年出版的。Turbo C2.0在原來(lái)集成開(kāi)發(fā)環(huán)境的基礎(chǔ)上增加了查錯(cuò)功能, 并可以在Tiny模式下直接生成.COM (數(shù)據(jù)、代碼、堆棧處在同一64
33、K 內(nèi)存中) 文件。還可對(duì)數(shù)學(xué)協(xié)處理器 (支持8087/80287/80387等)進(jìn)行仿真。 Borland公司后來(lái)又推出了面向?qū)ο蟮某绦蜍浖黅urbo C+,它繼承發(fā)展Turbo C 2.0 的集成開(kāi)發(fā)環(huán)境, 并包含了面向?qū)ο蟮幕舅枷牒驮O(shè)計(jì)方法。1991年為了適用Microsoft 公司的Windows 3.0 版本, Borland 公司又將Turbo C+ 作了更新, 即Turbo C 的新一代產(chǎn)品Borlandc C+也已經(jīng)問(wèn)世了。1.13.2 Turbo C 2.0集成開(kāi)發(fā)環(huán)境進(jìn)入Turbo C 2.0集成開(kāi)發(fā)環(huán)境中后, 屏幕上顯示:其中頂上一行為T(mén)urbo C 2.0 主菜單,
34、 中間窗口為編輯區(qū), 接下來(lái)是信息窗 口, 最底下一行為參考行。這四個(gè)窗口構(gòu)成了Turbo C 2.0的主屏幕, 以后的編程、 編譯、調(diào)試以及運(yùn)行都將在這個(gè)主屏幕中進(jìn)行。主菜單在Turbo C 2.0主屏幕頂上一行, 顯示下列內(nèi)容:File Edit Run Compile Project Options Debug Break/watch除Edit外, 其它各項(xiàng)均有子菜單, 只要用Alt加上某項(xiàng)中第一個(gè)字母, 就可進(jìn)入該項(xiàng)的子菜單中。1.13.3 File菜單按Alt+F可進(jìn)入File菜單, 如圖:File菜單的子菜單共有9項(xiàng),分別敘述如下:1.
35、Load:裝入一個(gè)文件, 可用類(lèi)似DOS的通配符(如*.C)來(lái)進(jìn)行列表選擇。也可裝入其它擴(kuò)展名的文件, 只要給出文件名(或只給路徑)即可。該項(xiàng)的熱鍵為F3, 即只要按F3即可進(jìn)入該項(xiàng), 而不需要先進(jìn)入File菜單再選此項(xiàng)。2. Pick:將最近裝入編輯窗口的8個(gè)文件列成一個(gè)表讓用戶(hù)選擇, 選擇后將該程序裝入編輯區(qū), 并將光標(biāo)置在上次修改過(guò)的地方。其熱健為Alt-F3。3. New:新建文件, 缺省文件名為NONAME.C, 存盤(pán)時(shí)可改名。4. Save:將編輯區(qū)中的文件存盤(pán), 若文件名是NONAME.C時(shí), 將詢(xún)問(wèn)是否更改文件名, 其熱鍵為F2。5. Write to:可由用戶(hù)給出
36、文件名將編輯區(qū)中的文件存盤(pán), 若該文件已存在, 則詢(xún)問(wèn)要不要 覆蓋。6. Directory:顯示目錄及目錄中的文件, 并可由用戶(hù)選擇。7. Change dir:顯示當(dāng)前默認(rèn)目錄, 用戶(hù)可以改變默認(rèn)目錄。8. Os shell:暫時(shí)退出Turbo C 2.0到DOS提示符下, 此時(shí)可以運(yùn)行DOS 命令, 若想回到 Turbo C 2.0中, 只要在DOS狀態(tài)下鍵入EXIT即可。9. Quit:退出Turbo C 2.0, 返回到DOS操作系統(tǒng)中, 其熱鍵為Alt+X。說(shuō)明:以上各項(xiàng)可用光標(biāo)鍵移動(dòng)色棒進(jìn)行選擇, 回車(chē)則執(zhí)行。也
37、可用每一項(xiàng)的第一個(gè)大寫(xiě)字母直接選擇。若要退到主菜單或從它的下一級(jí)菜單列表框退回均可用Esc鍵, Turbo C 2.0所有菜單均采用這種方法進(jìn)行操作, 以下不再說(shuō)明。1.13.4 Edit菜單按Alt+E可進(jìn)入編輯菜單, 若再回車(chē), 則光標(biāo)出現(xiàn)在編輯窗口, 此時(shí)用戶(hù)可以 進(jìn)行文本編輯。編輯方法基本與wordstar相同, 可用F1鍵獲得有關(guān)編輯方法的幫助信息。1. 與編輯有關(guān)的功能鍵如下:F1 獲得Turbo C 2.0編輯命令的幫助信息;F5
38、 擴(kuò)大編輯窗口到整個(gè)屏幕;F6 在編輯窗口與信息窗口之間進(jìn)行切換;F10 從編輯窗口轉(zhuǎn)到主菜單。2. 編輯命令簡(jiǎn)介:PageUp 向前翻頁(yè)P(yáng)ageDn 向后翻頁(yè)Home 將光標(biāo)移到所在行的開(kāi)始End
39、60; 將光標(biāo)移到所在行的結(jié)尾Ctrl+Y 刪除光標(biāo)所在的一行Ctrl+T 刪除光標(biāo)所在處的一個(gè)詞Ctrl+KB 設(shè)置塊開(kāi)始Ctrl+KK 設(shè)置塊結(jié)尾Ctrl+KV 塊移動(dòng)Ctrl+KC 塊拷貝Ctrl+KY 塊刪除Ctrl+KR 讀文件Ctrl+KW 存文件Ctrl+KP 塊文件打印Ctrl+F1 如果光標(biāo)所
40、在處為T(mén)urbo C 2.0庫(kù)函數(shù), 則獲得有關(guān)該函數(shù)的幫助信息Ctrl+Q 查找Turbo C 2.0雙界符的后匹配符Ctrl+Q 查找Turbo C 2.0雙界符的前匹配符說(shuō)明:1) Turbo C 2.0的雙界符包括以下幾種符號(hào):a) 花括符 和b) 尖括符 <和>c) 圓括符 (和)d) 方括符 和e) 注釋符 /*和*/f) 雙引號(hào)
41、160; "g) 單引號(hào) '2) Turbo C 2.0在編輯文件時(shí)還有一種功能, 就是能夠自動(dòng)縮進(jìn), 即光標(biāo)定位和上一個(gè)非空字符對(duì)齊。在編輯窗口中, Ctrl+OL為自動(dòng)縮進(jìn)開(kāi)關(guān)的控制鍵。1.13.5 Run菜單按Alt+R可進(jìn)入Run菜單, 該菜單有以下各項(xiàng),如圖所示:1. Run:運(yùn)行由Project/Project name項(xiàng)指定的文件名或當(dāng)前編輯區(qū)的文件。如果對(duì)上次編譯后的源代碼未做過(guò)修改, 則直接運(yùn)行到下一個(gè)斷點(diǎn)(沒(méi)有斷點(diǎn)則運(yùn)行到結(jié)束)。否則先進(jìn)行編譯、連接后才運(yùn)行, 其熱鍵為Ctrl+F9。2. Program r
42、eset:中止當(dāng)前的調(diào)試, 釋放分給程序的空間, 其熱鍵為Ctrl+F2。3. Go to cursor::調(diào)試程序時(shí)使用, 選擇該項(xiàng)可使程序運(yùn)行到光標(biāo)所在行。光標(biāo)所在行必須為一條可執(zhí)行語(yǔ)句, 否則提示錯(cuò)誤。其熱鍵為F4。4. Trace into:在執(zhí)行一條調(diào)用其它用戶(hù)定義的子函數(shù)時(shí), 若用Trace into項(xiàng), 則執(zhí)行長(zhǎng)條將跟蹤到該子函數(shù)內(nèi)部去執(zhí)行, 其熱鍵為F7。5. Step over:執(zhí)行當(dāng)前函數(shù)的下一條語(yǔ)句, 即使用戶(hù)函數(shù)調(diào)用, 執(zhí)行長(zhǎng)條也不會(huì)跟蹤進(jìn)函數(shù) 內(nèi)部, 其熱鍵為F8。6. User screen:顯示程序運(yùn)行時(shí)在屏幕上顯示的結(jié)果。其熱鍵為Alt+F5。1.13
43、.6 Compile菜單按Alt+C可進(jìn)入Compile菜單, 該菜單有以下幾個(gè)內(nèi)容,如圖所示:1. Compile to OBJ:將一個(gè)C源文件編譯生成.OBJ目標(biāo)文件, 同時(shí)顯示生成的文件名。其熱鍵為 Alt+F9。2. Make EXE file:此命令生成一個(gè).EXE的文件, 并顯示生成的.EXE文件名。其中.EXE文件名是下面幾項(xiàng)之一:1) 由Project/Project name說(shuō)明的項(xiàng)目文件名。2) 若沒(méi)有項(xiàng)目文件名, 則由Primary C file說(shuō)明的源文件。3) 若以上兩項(xiàng)都沒(méi)有文件名, 則為當(dāng)前窗口的文件名。3. Link EXE f
44、ile:把當(dāng)前.OBJ文件及庫(kù)文件連接在一起生成.EXE文件。4. Build all:重新編譯項(xiàng)目里的所有文件, 并進(jìn)行裝配生成.EXE文件。該命令不作過(guò)時(shí)檢查 (上面的幾條命令要作過(guò)時(shí)檢查, 即如果目前項(xiàng)目里源文件的日期和時(shí)間與目標(biāo)文件相同或更早, 則拒絕對(duì)源文件進(jìn)行編譯)。5. Primary C file:當(dāng)在該項(xiàng)中指定了主文件后, 在以后的編譯中, 如沒(méi)有項(xiàng)目文件名則編譯此項(xiàng)中規(guī)定的主C文件, 如果編譯中有錯(cuò)誤, 則將此文件調(diào)入編輯窗口, 不管目前窗口 中是不是主C文件。6. Get info:獲得有關(guān)當(dāng)前路徑、源文件名、源文件字節(jié)大小、編
45、譯中的錯(cuò)誤數(shù)目、可用空間等信息,如圖:1.13.7 Project菜單按Alt+P可進(jìn)入Project菜單, 該菜單包括以下內(nèi)容,如圖所示:1. Project name:項(xiàng)目名具有.PRJ的擴(kuò)展名, 其中包括將要編譯、連接的文件名。例如有一個(gè)程 序由file1.c, file2.c, file3.c組成, 要將這3個(gè)文件編譯裝配成一個(gè)file.exe的執(zhí)行文件, 可以先建立一個(gè)file.prj的項(xiàng)目文件, 其內(nèi)容如下: file1.c file2.c &
46、#160; file3.c此時(shí)將file.prj放入Project name項(xiàng)中, 以后進(jìn)行編譯時(shí)將自動(dòng)對(duì)項(xiàng)目文件中規(guī)定的三個(gè)源文件分別進(jìn)行編譯。然后連接成file.exe文件。如果其中有些文件已經(jīng)編譯成.OBJ文件, 而又沒(méi)有修改過(guò), 可直接寫(xiě)上.OBJ擴(kuò) 展名。此時(shí)將不再編譯而只進(jìn)行連接。例如: file1.objfile2.cfile3.c將不對(duì)file1.c進(jìn)行編譯, 而直接連接。說(shuō)明: 當(dāng)項(xiàng)目文件中的每個(gè)文件無(wú)擴(kuò)展名時(shí), 均按源文件對(duì)待, 另外, 其中的文件也可以是庫(kù)文件, 但必須寫(xiě)上擴(kuò)展名.LIB。2. Break make on:由用戶(hù)選擇是否在
47、有Warining、Errors、Fatal Errors時(shí)或Link之前退出Make編譯。3. Auto dependencies:當(dāng)開(kāi)關(guān)置為on, 編譯時(shí)將檢查源文件與對(duì)應(yīng)的.OBJ文件日期和時(shí)間, 否則不進(jìn) 行檢查。4. Clear project:清除Project/Project name中的項(xiàng)目文件名。5. Remove messages:把錯(cuò)誤信息從信息窗口中清除掉。1.13.8 Options菜單按Alt+O可進(jìn)入Options菜單, 該菜單對(duì)初學(xué)者來(lái)說(shuō)要謹(jǐn)慎使用,該菜單有以下幾個(gè)內(nèi)容,如圖所示:1. Compiler:本項(xiàng)選擇又有許多子菜單, 可以讓用戶(hù)選擇硬件配置
48、、存儲(chǔ)模型、調(diào)試技術(shù)、 代碼優(yōu)化、對(duì)話(huà)信息控制和宏定義。這些子菜單如圖所示:1) Model:共有Tiny, small, medium, compact, large, huge 六種不同模式可由同戶(hù)選 擇。2) Define:打開(kāi)一個(gè)宏定義框, 同戶(hù)可輸入宏定義。多重定義可同分號(hào), 賦值可用等號(hào)。3) Code generation:它又有許多任選項(xiàng), 這些任選項(xiàng)告訴編譯器產(chǎn)生什么樣的目標(biāo)代碼。² Calling convention 可選擇C或Pascal方式傳遞參數(shù)。² Instruction set
49、; 可選擇8088/8086或80186/80286指令系列。² Floating point 可選擇仿真浮點(diǎn)、數(shù)學(xué)協(xié)處理器浮點(diǎn)或無(wú)浮點(diǎn)運(yùn)算。² Default char type 規(guī)定char的類(lèi)型。² Alignonent 規(guī)定地址對(duì)準(zhǔn)原則。² Merge duplicate strings 作優(yōu)化用, 將重復(fù)的字符串合并在一起。² Sta
50、ndard stack frame 產(chǎn)生一個(gè)標(biāo)準(zhǔn)的棧結(jié)構(gòu)。² Test stack overflow 產(chǎn)生一段程序運(yùn)行時(shí)檢測(cè)堆棧溢出的代碼。² Line number 在.OBJ文件中放進(jìn)行號(hào)以供調(diào)試時(shí)用。² OBJ debug information 在.OBJ文件中產(chǎn)生調(diào)試信息。4) Optimization:它又有許多任選項(xiàng)。² Optimize for選擇是對(duì)程序小型化還是對(duì)程序速度進(jìn)行優(yōu)化處理。² Use register variable
51、 用來(lái)選擇是否允許使用寄存器變量。² Register optimization盡可能使用寄存器變量以減少過(guò)多的取數(shù)操作。² Jump optimization通過(guò)去除多余的跳轉(zhuǎn)和調(diào)整循環(huán)與開(kāi)關(guān)語(yǔ)句的辦法, 壓縮代碼。5) Source:它又有許多任選項(xiàng)。² Indentifier length說(shuō)明標(biāo)識(shí)符有效字符的個(gè)數(shù), 默認(rèn)為32個(gè)。² Nested comments是否允許嵌套注釋。² ANSI keywords only是只允許ANSI關(guān)鍵字還是也允許Turbo C2.0關(guān)鍵字。6) Error² Error stop
52、 after多少個(gè)錯(cuò)誤時(shí)停止編譯, 默認(rèn)為25個(gè)。² Warning stop after多少個(gè)警告錯(cuò)誤時(shí)停止編譯, 默認(rèn)為100個(gè)。² Display warning² Portability warning移植性警告錯(cuò)誤。² ANSI Violations侵犯了ANSI關(guān)鍵字的警告錯(cuò)誤。² Common error常見(jiàn)的警告錯(cuò)誤。² Less common error少見(jiàn)的警告錯(cuò)誤。7) Names :用于改變段(segment)、組(group) 和類(lèi)(class)的名字,默認(rèn)值為CODE, DATA, BSS。2.
53、Linker:本菜單設(shè)置有關(guān)連接的選擇項(xiàng), 它有以下內(nèi)容,如圖所示:1) Map file menu 選擇是否產(chǎn)生.MAP文件。2) Initialize segments是否在連接時(shí)初始化沒(méi)有初始化的段。3) Devault libraries是否在連接其它編譯程序產(chǎn)生的目標(biāo)文件時(shí)去尋找其缺省庫(kù)。4) Graphics library 是否連接graphics庫(kù)中的函數(shù)。5) Warn duplicate symbols當(dāng)有重復(fù)符號(hào)時(shí)產(chǎn)生警告信息。6) Stack warinig是否讓連接程序產(chǎn)生No stack的警告信息。7) Case-sensitive link是否
54、區(qū)分大、小寫(xiě)字。3. Environment:菜單規(guī)定是否對(duì)某些文件自動(dòng)存盤(pán)及制表鍵和屏幕大小的設(shè)置,它有以下內(nèi)容,如圖所示:1) Message tracking:² Current file 跟蹤在編輯窗口中的文件錯(cuò)誤。² All files跟蹤所有文件錯(cuò)誤。² Off 不跟蹤。2) Keep message :編譯前是否清除Message窗口中的信息。3) Config auto save:選on時(shí), 在Run, Shell或退出集成開(kāi)發(fā)環(huán)境之前,如果Turbo C 2.0的配置被改過(guò), 則所做的改動(dòng)將存入配置文件中
55、。選off時(shí)不存。4) Edit auto save:是否在Run或Shell之前, 自動(dòng)存儲(chǔ)編輯的源文件。5) Backup file:是否在源文件存盤(pán)時(shí)產(chǎn)生后備文件(.BAK文件)。6) Tab size:設(shè)置制表鍵大小, 默認(rèn)為8。7) Zoomed windows:將現(xiàn)行活動(dòng)窗口放大到整個(gè)屏幕, 其熱鍵為F5。8) Screen size設(shè)置屏幕文本大小。4. Directories:規(guī)定編譯、連接所需文件的路徑, 有下列各項(xiàng),如圖所示:(1) Include directories:包含文件的路徑, 多個(gè)子目錄用""分開(kāi)。(2) Library directori
56、es:庫(kù)文件路徑, 多個(gè)子目錄用""分開(kāi)。(3) Output directoried:輸出文件(.OBJ, .EXE, .MAP文件)的目錄。(4) Turbo C directoried:Turbo C 所在的目錄。(5) Pick file name:定義加載的pick文件名, 如不定義則從currentpick file中取。5. Arguments:允許用戶(hù)使用命令行參數(shù)。6. Save options:保存所有選擇的編譯、連接、調(diào)試和項(xiàng)目到配置文件中, 缺省的配置文件為T(mén)CCONFIG.TC。7. Retrive options裝入一個(gè)配置文件到TC
57、中, TC將使用該文件的選擇項(xiàng)。1.13.9 Debug菜單按Alt+D可選擇Debug菜單, 該菜單主要用于查錯(cuò), 它包括以下內(nèi)容,如圖所示:1. Evaluate1) Expression要計(jì)算結(jié)果的表達(dá)式。2) Result顯示表達(dá)式的計(jì)算結(jié)果。3) New value賦給新值。2. Call stack:該項(xiàng)不可接觸。而在Turbo C debuger 時(shí)用于檢查堆棧情況。3. Find function在運(yùn)行Turbo C debugger時(shí)用于顯示規(guī)定的函數(shù)。4. Refresh display如果編輯窗口偶然被用戶(hù)窗口重寫(xiě)了可用此恢復(fù)編輯窗口的內(nèi)容。1.13.10 Break/w
58、atch菜單按Alt+B可進(jìn)入Break/watch菜單, 該菜單有以下內(nèi)容,如圖所示:1. Add watch: 向監(jiān)視窗口插入一監(jiān)視表達(dá)式。2. Delete watch:從監(jiān)視窗口中刪除當(dāng)前的監(jiān)視表達(dá)式。3. Edit watch:在監(jiān)視窗口中編輯一個(gè)監(jiān)視表達(dá)式。4. Remove all :watches從監(jiān)視窗口中刪除所有的監(jiān)視表達(dá)式。5. Toggle breakpoint:對(duì)光標(biāo)所在的行設(shè)置或清除斷點(diǎn)。6. Clear all breakpoints:清除所有斷點(diǎn)。7. View next breakpoint:將光標(biāo)移動(dòng)到下一個(gè)斷點(diǎn)處。1.13.11 Turbo C 2.0的配置文件所謂配置文件是包含Turbo C 2.0有關(guān)信息的文件, 其中存有編譯、連接的選擇和路徑等信息。可以用下述方法建立Turbo C 2.0的配置:1. 建立用戶(hù)自命名的配置文件:可以從Options菜單中選擇Options/Save options命令, 將當(dāng)前集成開(kāi)發(fā)環(huán)境的所有配置存入一個(gè)由用戶(hù)命名的配置文件中。下次啟動(dòng)TC時(shí)只要在DOS下鍵入: tc/c<用戶(hù)命名的配置文件名>就會(huì)按這個(gè)配置文件中的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東司法警官職業(yè)學(xué)院《汽車(chē)工程學(xué)A》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東輕工職業(yè)技術(shù)學(xué)院《電視畫(huà)面編輯》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東南華工商職業(yè)學(xué)院《現(xiàn)代生物制藥工程原理》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東茂名健康職業(yè)學(xué)院《工程測(cè)量》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海教育版英語(yǔ)八年級(jí)下冊(cè)Module 3 Unit 6 單元基礎(chǔ)過(guò)關(guān)課后作業(yè)課件
- 七年級(jí)語(yǔ)文上冊(cè)教學(xué)工作計(jì)劃概覽
- 教育與發(fā)展:五年級(jí)數(shù)學(xué)教學(xué)的新思路
- 《回顧2023-邁向光輝未來(lái)-班主任工作總結(jié)》
- 【名師一號(hào)】2021年新課標(biāo)版歷史必修1-單元檢測(cè)-第二單元
- 學(xué)院合同簽署授權(quán)書(shū)
- 2024年潤(rùn)膚蜜項(xiàng)目可行性研究報(bào)告
- 2025年上海市長(zhǎng)寧區(qū)高三語(yǔ)文一模作文解析及范文:激情對(duì)于行動(dòng)是利大于弊嗎
- 晉升管理制度(30篇)
- 2024信息技術(shù)應(yīng)用創(chuàng)新信息系統(tǒng)適配改造成本度量
- 廣東省廣州市2025屆高三上學(xué)期12月調(diào)研測(cè)試(零模)英語(yǔ) 含解析
- 陜西測(cè)繪地理信息局所屬事業(yè)單位2025年上半年招聘87人和重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解
- 保險(xiǎn)學(xué)期末試題及答案
- 高一數(shù)學(xué)上學(xué)期期末模擬試卷01-【中職專(zhuān)用】2024-2025學(xué)年高一數(shù)學(xué)上學(xué)期(高教版2023基礎(chǔ)模塊)(解析版)
- 嚴(yán)重精神障礙患者隨訪(fǎng)服務(wù)記錄表
- 2024-2025學(xué)年人教版八年級(jí)上冊(cè)地理期末測(cè)試卷(一)(含答案)
- 統(tǒng)編版(2024新版)七年級(jí)上冊(cè)道德與法治第四單元綜合測(cè)試卷(含答案)
評(píng)論
0/150
提交評(píng)論