C語(yǔ)言程序設(shè)計(jì)概述.ppt_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)概述.ppt_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)概述.ppt_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)概述.ppt_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)概述.ppt_第5頁(yè)
已閱讀5頁(yè),還剩86頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章C語(yǔ)言程序設(shè)計(jì)概述,1.1程序設(shè)計(jì)的基本概念1.2結(jié)構(gòu)化程序及設(shè)計(jì)步驟1.3C程序的構(gòu)成和書寫格式1.4C程序的上機(jī)操作習(xí)題1,1.1程序設(shè)計(jì)的基本概念,1.1.1程序計(jì)算機(jī)是一種以二進(jìn)制數(shù)據(jù)形式在內(nèi)部存儲(chǔ)信息、以程序存儲(chǔ)為基礎(chǔ)、由程序自動(dòng)控制的電子設(shè)備。人們需要計(jì)算機(jī)所做的任何工作,都必須以計(jì)算機(jī)所能識(shí)別的指令形式送入計(jì)算機(jī)內(nèi)存中。一條條有序指令的集合稱為程序。,一個(gè)程序通常包含兩個(gè)方面的內(nèi)容。(1)數(shù)據(jù)的描述:指定數(shù)據(jù)的類型和組織形式(數(shù)據(jù)結(jié)構(gòu))。(2)操作的描述:編程的操作步驟,也稱算法。數(shù)據(jù)是操作的對(duì)象,操作的目的是對(duì)數(shù)據(jù)進(jìn)行加工處理,以便得到結(jié)果。打個(gè)比方,程序設(shè)計(jì)就像廚師做菜肴時(shí)需要菜譜,菜譜上一般包括兩個(gè)方面。(1)配料:制作菜肴所需的原料(類似于程序設(shè)計(jì)中的數(shù)據(jù)結(jié)構(gòu))。(2)操作步驟:制作某項(xiàng)菜肴時(shí)將原料按規(guī)定的步驟加工成所需的菜肴(類似于程序設(shè)計(jì)中的算法)。因此,計(jì)算機(jī)科學(xué)家沃思指出:數(shù)據(jù)結(jié)構(gòu)+算法=程序,1.1.2計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)語(yǔ)言是實(shí)現(xiàn)程序設(shè)計(jì),以便人與計(jì)算機(jī)進(jìn)行信息交流的必備工具,又稱計(jì)算機(jī)語(yǔ)言。目前,社會(huì)上廣泛使用的是高級(jí)語(yǔ)言,是一種接近人們習(xí)慣的程序設(shè)計(jì)語(yǔ)言,它使用人們所熟悉的文字、符號(hào)及數(shù)學(xué)表達(dá)式來(lái)編寫程序,使程序的編寫和操作都顯得十分方便。由高級(jí)語(yǔ)言編寫的程序稱為“源程序”。在計(jì)算機(jī)內(nèi)部,源程序必須翻譯為機(jī)器能夠接受的二進(jìn)制代碼所表示的“目標(biāo)程序”(也稱機(jī)器語(yǔ)言)。其中,具有這種翻譯功能的程序稱為“編譯程序”。源程序編譯過(guò)程如圖1.1所示。,圖1.1源程序編譯過(guò)程,每一種高級(jí)語(yǔ)言都有與其相應(yīng)的編譯程序。在計(jì)算機(jī)內(nèi)運(yùn)行編譯程序,才能運(yùn)行相應(yīng)的高級(jí)語(yǔ)言所編寫的源程序。本書所介紹的C語(yǔ)言是目前國(guó)內(nèi)外廣泛流行的高級(jí)程序設(shè)計(jì)語(yǔ)言,是面向過(guò)程的較好的結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言。它不僅可以用來(lái)編寫系統(tǒng)軟件,也可以用來(lái)編寫應(yīng)用軟件,同時(shí)也是面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)的主要工具。,1.1.3程序設(shè)計(jì)下面介紹設(shè)計(jì)簡(jiǎn)單程序時(shí)的操作步驟。如果進(jìn)行系統(tǒng)工程開(kāi)發(fā),則操作步驟比較復(fù)雜。對(duì)于程序設(shè)計(jì)人員來(lái)說(shuō),必須掌握更多的知識(shí),比如軟件工程方面的知識(shí)等。程序設(shè)計(jì)的一般步驟如下:1)確定數(shù)據(jù)結(jié)構(gòu)依據(jù)所需要處理的任務(wù)要求,規(guī)劃輸入的數(shù)據(jù)和輸出的結(jié)果,確定存放數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。由于在C語(yǔ)言中數(shù)據(jù)結(jié)構(gòu)集中體現(xiàn)在數(shù)據(jù)類型上,因此,在進(jìn)行C語(yǔ)言程序設(shè)計(jì)時(shí),應(yīng)統(tǒng)籌規(guī)劃程序中所使用的變量、數(shù)組、指針以及它們的類型等。這是很重要的,如果在此期間選擇了不合適的變量或者數(shù)組,將來(lái)修改起來(lái)就會(huì)比較困難。,2)確定算法算法是指為解決某一特定問(wèn)題而采取的確定的有限的步驟。對(duì)同一個(gè)問(wèn)題,每一個(gè)人確定的算法都不應(yīng)該完全相同。算法有優(yōu)有劣,其評(píng)判的標(biāo)準(zhǔn)本書不做介紹。對(duì)于程序設(shè)計(jì)人員來(lái)說(shuō),應(yīng)該學(xué)習(xí)比較優(yōu)秀和比較經(jīng)典的算法,本書實(shí)例中介紹的均為一些常用的算法。3)編寫程序在充分論證數(shù)據(jù)結(jié)構(gòu)和算法以后才能考慮編寫程序,編寫程序需要結(jié)合程序設(shè)計(jì)方法(面向過(guò)程的或是面向?qū)ο蟮?和程序設(shè)計(jì)語(yǔ)言(C語(yǔ)言、C+、Delphi等),當(dāng)然即使是C語(yǔ)言,還有許多集成開(kāi)發(fā)環(huán)境,例如TurboC或是MicrosoftC等,不同的集成開(kāi)發(fā)環(huán)境寫出的程序代碼是有所區(qū)別的。,4)程序調(diào)試程序開(kāi)發(fā)人員編寫的程序稱為源程序或源代碼,源代碼不能直接被計(jì)算機(jī)執(zhí)行。源代碼要經(jīng)過(guò)編譯程序編譯,生成目標(biāo)程序,然后鏈接其他相應(yīng)的代碼,最后生成可被計(jì)算機(jī)執(zhí)行的可執(zhí)行文件(.EXE或.COM文件)。TurboC2.0集成開(kāi)發(fā)環(huán)境提供了相應(yīng)的編譯程序。一個(gè)源代碼有時(shí)要經(jīng)過(guò)多次的修改才能編譯通過(guò),因此這一步有時(shí)是很困難的。程序在編譯時(shí),如果不能通過(guò),則會(huì)有錯(cuò)誤提示信息,程序員要根據(jù)錯(cuò)誤提示信息調(diào)試程序。,5)整理源程序并總結(jié)資料有人以為程序調(diào)試成功就萬(wàn)事大吉了,其實(shí)這種思想是錯(cuò)誤的。對(duì)于程序設(shè)計(jì)人員來(lái)說(shuō),平時(shí)的歸納和總結(jié)是很重要的。程序員應(yīng)將平時(shí)的源程序進(jìn)行歸類保存,以方便今后查找,同時(shí)一定要注意保留文字資料。1.1.4算法日常生活中做任何事情都有其方法和步驟,這些方法、步驟就是算法,它要求過(guò)程合理而有序。不同的問(wèn)題,有不同的方法和步驟;同一問(wèn)題,不同的人也可能有不同的方法和步驟。下面介紹一下衡量算法步驟優(yōu)劣的標(biāo)準(zhǔn)、算法的分類和算法設(shè)計(jì)準(zhǔn)則的常用方法。,1)衡量算法步驟優(yōu)劣的標(biāo)準(zhǔn)衡量一個(gè)算法步驟是否優(yōu)劣的標(biāo)準(zhǔn)主要有以下三個(gè)方面。(1)思路:清晰、正確。(2)過(guò)程:簡(jiǎn)單、明了、扼要。(3)算法:合適。例如:計(jì)算1+2+3+4+5+99+100的值。算法1:1+2=3,3+3=6,6+4=10,10+5=15,15+6=21,4851+99=4950,4950+100=5050,算法2:100+(1+99)+(2+98)+(3+97)+(48+52)+(49+51)+50=100+49100+50=5050相對(duì)而言,算法2簡(jiǎn)潔明了、易算。2)算法分類按數(shù)據(jù)的處理方式,計(jì)算機(jī)中的算法可分為兩類。(1)數(shù)值運(yùn)算:求數(shù)值的解,如求解方程的根,求函數(shù)的定積分等。這類算法研究較深入、成熟,如數(shù)學(xué)程序庫(kù)中的有關(guān)數(shù)學(xué)問(wèn)題的求解,已編制成了標(biāo)準(zhǔn)的子程序供人們使用。,(2)非數(shù)值運(yùn)算:目前使用的范圍廣泛,如辦公自動(dòng)化處理、圖書情報(bào)檢索等。此類算法一般沒(méi)有固定的模式,由編程者自己編制,或參考已有類似的算法重新設(shè)計(jì)解決特定問(wèn)題的專門算法。其中,排序是非數(shù)值運(yùn)算算法中研究較為深入的一種。3)算法設(shè)計(jì)準(zhǔn)則在算法設(shè)計(jì)中應(yīng)遵循以下五個(gè)準(zhǔn)則。(1)有窮性:在合理的范圍內(nèi)操作步驟是有限的,而不能是無(wú)限的。一個(gè)算法必須在有限的操作步驟完成后,得出正確結(jié)果,能夠使算法結(jié)束。,(2)確定性:算法中的每一步驟都應(yīng)是惟一的和確定無(wú)誤的,不能出現(xiàn)含糊而產(chǎn)生歧義性。也就是說(shuō),該操作對(duì)于相同的輸入必能得出相同的結(jié)果。(3)有零個(gè)或多個(gè)輸入:在執(zhí)行算法時(shí),需從外界得到的必要信息就是輸入。一個(gè)算法,可以有零個(gè)、一個(gè)或多個(gè)特定對(duì)象的輸入。(4)有一個(gè)或多個(gè)輸出:算法的目的是為了求解,算法得到的結(jié)果就是該算法的輸出,沒(méi)有輸出的算法是沒(méi)有意義的。一個(gè)算法可以有一個(gè)或多個(gè)與輸入相關(guān)的輸出。(5)有效性:算法是編寫程序代碼的主要依據(jù),算法設(shè)計(jì)中的每一個(gè)步驟,都必須是所使用的高級(jí)語(yǔ)言能夠描述的操作。算法中每一步驟都應(yīng)有效地執(zhí)行,并得到確定的結(jié)果。例如,b=0時(shí),a/b是不能有效執(zhí)行的。,1.1.5算法的描述描述算法常用的方法有自然語(yǔ)言、傳統(tǒng)流程圖和N-S結(jié)構(gòu)化流程圖等。1)自然語(yǔ)言自然語(yǔ)言是指人們?nèi)粘J褂玫恼Z(yǔ)言,可以是英文、中文或中英文結(jié)合。優(yōu)點(diǎn):通俗易懂。缺點(diǎn):文字冗長(zhǎng),易出現(xiàn)歧義性。2)傳統(tǒng)流程圖使用ANSI規(guī)定的流程圖符號(hào)表示算法,其特點(diǎn)是:直觀形象、易于理解。在用傳統(tǒng)流程圖表示算法時(shí)使用以下常用的符號(hào)。,起止框:輸入輸出框:判別框:處理框:流程線:注釋框:連接點(diǎn):,【例1-1】求S=1+2+3+99+100的值的算法可以用下面的方式描述。(1)用自然語(yǔ)言描述。設(shè)一整型變量i,并令i=1(這里的“=”不同于數(shù)學(xué)里的等號(hào),它表示賦值,這里把1賦給i,以下類同)。設(shè)一整型變量s,用其存放累加和;每次將i與s相加后存入s;使i值增1,取得下次的加數(shù)。重復(fù)執(zhí)行上步,直到i的值大于100時(shí),執(zhí)行下一步。將累加和s的值輸出。,圖1.2傳統(tǒng)流程圖,(2)用傳統(tǒng)流程圖描述,如圖1.2所示。3)N-S結(jié)構(gòu)化流程圖N-S結(jié)構(gòu)化流程圖(簡(jiǎn)稱N-S流程圖)是將算法的每一個(gè)步驟,按序連接成一個(gè)大的矩形框來(lái)表示,從而完整地描述一個(gè)算法。N-S流程圖更適合對(duì)結(jié)構(gòu)化程序設(shè)計(jì)的描述,其描述方法將在下一節(jié)介紹。,1.2結(jié)構(gòu)化程序及設(shè)計(jì)步驟,1.2.1結(jié)構(gòu)化程序設(shè)計(jì)的概念結(jié)構(gòu)化語(yǔ)言比非結(jié)構(gòu)化語(yǔ)言更易于程序設(shè)計(jì),用結(jié)構(gòu)化語(yǔ)言編寫的程序的清晰性使得它們更易于維護(hù),這已是人們普遍接受的觀點(diǎn)了。結(jié)構(gòu)化語(yǔ)言的顯著特征是代碼和數(shù)據(jù)的分離。這種語(yǔ)言能夠把執(zhí)行某個(gè)特殊任務(wù)的指令和數(shù)據(jù)從程序的其余部分分離出去。獲得隔離的一個(gè)方法是調(diào)用使用局部變量的子程序。通過(guò)使用局部變量,可以寫出對(duì)程序其他部分沒(méi)有副作用的子程序。,這樣,就使得編寫共享代碼段的程序變得短小簡(jiǎn)單。如果開(kāi)發(fā)了一些分離較好的函數(shù),在引用時(shí)就可以只需知道函數(shù)做什么,而不必知道它是如何做的。(切記:過(guò)度使用全局變量會(huì)由于意外的副作用而在程序中引入錯(cuò)誤。)在C語(yǔ)言中,函數(shù)是完成程序功能的基本構(gòu)件。使用函數(shù)可以將一個(gè)程序的諸任務(wù)分別定義和編碼,使程序模塊化??梢源_信,一個(gè)好的函數(shù)不僅能正確工作,還不會(huì)對(duì)程序的其他部分產(chǎn)生副作用。,1.2.2三種基本結(jié)構(gòu)結(jié)構(gòu)化程序由三種基本結(jié)構(gòu)組成:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。已經(jīng)證明,這三種基本結(jié)構(gòu)組成的算法可以解決任何復(fù)雜的問(wèn)題。使用這三種基本結(jié)構(gòu)編寫的程序,稱為結(jié)構(gòu)化程序。下面通過(guò)簡(jiǎn)單的實(shí)例說(shuō)明結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)。1.順序結(jié)構(gòu)順序結(jié)構(gòu)程序中的語(yǔ)句按先后順序逐條執(zhí)行。【例1-2】順序結(jié)構(gòu)示例。求s=a+b的值。其流程圖如圖1.3所示,圖(a)是傳統(tǒng)流程圖,圖(b)是N-S流程圖。,圖1.3順序結(jié)構(gòu)流程圖(a)傳統(tǒng)流程圖;(b)N-S流程圖,程序如下:#includestdio.hmain()/*主函數(shù)*/inta,b,s;/*定義a,b,s為整型變量*/a=6;b=8;s=a+b;printf(s=%dn,s);/*輸出s的值*/,2選擇結(jié)構(gòu)在執(zhí)行程序中的選擇結(jié)構(gòu)語(yǔ)句時(shí),該語(yǔ)句的執(zhí)行將根據(jù)不同的條件執(zhí)行不同分支的語(yǔ)句?!纠?-3】選擇結(jié)構(gòu)示例。求a、b兩數(shù)中的較大數(shù)。其流程圖如圖1.4所示,圖(a)是傳統(tǒng)流程圖,圖(b)是N-S流程圖。,圖1.4選擇結(jié)構(gòu)流程圖(a)傳統(tǒng)流程圖;(b)N-S流程圖,程序如下:#includestdio.hmain()inta=6,b=8,max;/*定義變量a,b,max,并給a和b賦值*/if(ab)max=a;/*如果a大于b,將a賦給max*/elsemax=b;/*否則將b賦給max*/printf(max=%d,max);,3.循環(huán)結(jié)構(gòu)在執(zhí)行程序中的循環(huán)結(jié)構(gòu)語(yǔ)句時(shí),該語(yǔ)句將根據(jù)各自的條件,對(duì)循環(huán)結(jié)構(gòu)所限定的語(yǔ)句(即循環(huán)體)重復(fù)執(zhí)行多次或零次。循環(huán)結(jié)構(gòu)又分為當(dāng)型循環(huán)和直到型循環(huán)兩種情況。1)當(dāng)型循環(huán)當(dāng)型循環(huán)的特點(diǎn)是:先進(jìn)行判斷,當(dāng)條件滿足時(shí),就執(zhí)行循環(huán)體,否則就退出循環(huán)體。,【例1-4】循環(huán)結(jié)構(gòu)示例。計(jì)算n!。其流程圖如圖1.5所示,圖(a)是傳統(tǒng)流程圖,圖(b)是N-S流程圖。,圖1.5當(dāng)型循環(huán)流程圖(a)傳統(tǒng)流程圖;(b)N-S流程圖,程序如下:#includestdio.hmain()inti,n,t;/*i用來(lái)存放階乘中的項(xiàng),t存放階乘*/i=1;t=1;scanf(%d,2)直到型循環(huán)直到型循環(huán)的特點(diǎn)是:先執(zhí)行循環(huán)體,再判斷循環(huán)條件,直到條件不滿足時(shí),就退出循環(huán)結(jié)構(gòu)?!纠?-5】用直到型循環(huán)求解n!的流程圖(見(jiàn)圖1.6)和程序段。程序如下:#includestdio.hmain()inti,n,t;/*i用來(lái)存放階乘中的項(xiàng),t存放階乘*/i=1;t=1;scanf(%d,do,t=t*i;i=i+1;while(iy)z=x;/*如果xy,將x賦值給z,否則將y賦值給z*/elsez=y;return(z);/*將z的值返回到函數(shù)的調(diào)用處*/,說(shuō)明:(1)本程序由兩個(gè)函數(shù)組成,即main函數(shù)和max函數(shù)。(2)由一對(duì)花括號(hào)“”括起來(lái)的是函數(shù)體。(3)在main函數(shù)中通過(guò)賦值語(yǔ)句“c=max(a,b);”調(diào)用max函數(shù)。max函數(shù)的功能是求a、b的較大數(shù),并返回主函數(shù)。(4)第一行#includestdio.h是文件包含,將在后面章節(jié)中介紹。,通過(guò)例1-6可以看出C語(yǔ)言程序結(jié)構(gòu)有以下特點(diǎn)。(1)C語(yǔ)言是由函數(shù)組成的。函數(shù)是C語(yǔ)言程序的基本單位。一個(gè)C語(yǔ)言程序必須包含一個(gè)main函數(shù),也可包含若干個(gè)其他函數(shù)。程序的全部工作由函數(shù)來(lái)完成。(2)程序總是從main函數(shù)開(kāi)始執(zhí)行,而不管main函數(shù)的位置如何。main函數(shù)和其他函數(shù)在程序中的先后位置不影響程序的執(zhí)行過(guò)程。由main函數(shù)開(kāi)始調(diào)用其他函數(shù),其他函數(shù)間也可以相互調(diào)用,最終返回主函數(shù)結(jié)束程序。被調(diào)函數(shù)可以是C語(yǔ)言所提供的庫(kù)函數(shù),也可以是為解決具體問(wèn)題而由用戶自己定義的函數(shù)。,(3)一個(gè)函數(shù)有兩個(gè)組成部分。函數(shù)的說(shuō)明部分。確定函數(shù)名并說(shuō)明函數(shù)類型、函數(shù)的形式參數(shù)名及其類型。如上例中:intmax(intx,inty)類型名函數(shù)名形參x為整型形參y為整型函數(shù)體。由函數(shù)說(shuō)明部分下的第1對(duì)花括號(hào)“”內(nèi)的若干語(yǔ)句構(gòu)成。一般來(lái)說(shuō),語(yǔ)句分為兩類:變量定義和執(zhí)行語(yǔ)句。,變量定義:如main函數(shù)中的“inta,b,c;”語(yǔ)句,max函數(shù)中的“intz;”語(yǔ)句(在某些情況下,程序中不需要使用變量的,可不定義變量)。執(zhí)行語(yǔ)句:完成本函數(shù)的功能。(4)程序書寫較自由,一行可寫幾條語(yǔ)句,一條語(yǔ)句也可以分行書寫。(5)分號(hào)是一條C語(yǔ)言的結(jié)束符,例如:z=y;。(6)在每條C語(yǔ)句后,可用*對(duì)該語(yǔ)句進(jìn)行注釋,以增加程序的可讀性。注釋不影響語(yǔ)句的功能。,1.3.2C語(yǔ)言程序的書寫格式盡管每個(gè)人在書寫程序代碼時(shí)都有所差別,然而按照規(guī)范的書寫格式,自己和他人在讀寫程序時(shí)都會(huì)感覺(jué)輕松,程序的可維護(hù)性也會(huì)大大增強(qiáng),所以掌握基本的書寫規(guī)范至關(guān)重要,下面介紹一種書寫格式,這種書寫格式稱為階梯式書寫格式,先看例1-7?!纠?-7】輸入成績(jī),當(dāng)成績(jī)大于或等于85分時(shí),屏幕顯示“A”和“good!”;當(dāng)成績(jī)大于或等于60分而小于85分時(shí),屏幕顯示“B”和“workhard!”;當(dāng)成績(jī)小于60分時(shí),屏幕顯示“C”。,源程序如下:#includestdio.hmain()intscore;printf(Pleaseinputscore:);scanf(%d,/*輸入成績(jī)*/if(score=85)/*判斷成績(jī)是否大于或等于85分*/,printf(A);printf(ngood!);elseif(score=60)/*判斷成績(jī)是否大于或等于60分*/printf(B);printf(nworkhard!);,else/*判斷成績(jī)是否小于60分*/printf(C);,從例1-7可以看出階梯式書寫格式的特點(diǎn)如下:(1)程序中包含許多條語(yǔ)句,一般情況下,每一條語(yǔ)句占用一行,當(dāng)然可以將多條語(yǔ)句寫在同一行中,只要用分號(hào)隔開(kāi)即可。有時(shí)一條語(yǔ)句可以占用兩行或多行。(2)不同層次的語(yǔ)句,從不同的起始位置開(kāi)始。即同一層次中的語(yǔ)句,縮進(jìn)同樣多的字符數(shù)。可以用空格鍵或用Tab鍵調(diào)整各行的起始位置。(3)表示層次的左大括號(hào),占用一行,其相應(yīng)的右大括號(hào)與之匹配,也是占用一行。,(4)程序習(xí)慣使用英文小寫字母書寫,當(dāng)然也可以使用大寫字母,然而大寫字母習(xí)慣上常作為常量或另有其他用途,有關(guān)內(nèi)容將在第2章中介紹。,1.4C程序的上機(jī)操作,1.4.1TurboC的安裝在DOS操作系統(tǒng)下,建立TurboC編程環(huán)境,即在硬盤上安裝TurboC(此工作可由機(jī)房工作人員完成)。安裝結(jié)束后,在C盤根目錄下,建立以下子目錄:其中,TC.EXE是啟動(dòng)TurboC集成環(huán)境的執(zhí)行文件,INCLUDE子目錄中的文件是頭文件,LIB子目錄中的文件均為系統(tǒng)函數(shù)庫(kù)文件。以上文件和目錄是在安裝TurboC時(shí)自動(dòng)建立的。,為使用戶進(jìn)入指定子目錄,可在TurboC子目錄下再建立一個(gè)用戶專用子目錄。用戶編輯的源程序文件及目標(biāo)文件均可放在此子目錄中??稍贒OS方式下執(zhí)行如下命令:C:MDTCUSER1.4.2TurboC的使用1.啟動(dòng)TurboC啟動(dòng)TurboC應(yīng)在DOS方式下執(zhí)行如下命令:C:CDTC回車或C:CDTC回車即進(jìn)入TurboC目錄。C:TCTC回車即執(zhí)行TC.EXE文件。,一旦啟動(dòng)成功后,屏幕上將顯示TurboC的主菜單窗口,如圖1.8所示。,圖1.8TurboC的啟動(dòng)菜單,2.選擇用戶文件的存放目錄首先,在TurboC主菜單窗口中,用F10鍵和光標(biāo)移動(dòng)鍵從主菜單中選擇所需功能。當(dāng)需設(shè)定用戶文件的存放目錄時(shí),用戶應(yīng)選“File”選項(xiàng),即將亮塊移到“File”后按下回車鍵,即會(huì)彈出文件下拉菜單,如圖1.9所示。,圖1.9“File”菜單,將光標(biāo)移至“Changedir”選項(xiàng)并按回車鍵,則彈出一個(gè)子目錄提示框。用戶可在該提示框中輸入用戶文件的存放目錄,輸入完后按回車鍵即可。如輸入C:TCUSER(前面已創(chuàng)建USER目錄)。3.建立工作環(huán)境這里所說(shuō)的工作環(huán)境,是指對(duì)TurboC工作狀態(tài)的設(shè)置以及編譯程序和鏈接程序要求的環(huán)境變量的設(shè)置。具體地說(shuō),就是告訴TurboC,#include命令(即預(yù)編譯命令)所包含的文件和庫(kù)文件所在的目錄以及告訴TurboC編程后其輸出文件存放的目錄。簡(jiǎn)單地說(shuō),就是告訴TurboC到哪里去尋找編譯、鏈接所需的文件,及生成的可執(zhí)行文件放到哪里。,建立工作環(huán)境的操作步驟如下。(1)按F10鍵,在主菜單上選擇“Options”選項(xiàng)并按回車鍵,如圖1.10所示。(2)在“Options”子菜單中選擇“Directories”選項(xiàng)并按回車鍵,將彈出如圖1.11所示的子菜單。,圖1.10“Options”菜單,圖1.11“Options/Directories”菜單,子菜單中各選項(xiàng)的含義如下?!癐ncludedirectories”選項(xiàng):說(shuō)明標(biāo)準(zhǔn)包含文件的目錄,即INCLUDE所在的位置。輸入時(shí)應(yīng)包含文件所在的盤符和路徑,這里輸入C:TCINCLUDE?!癓ibrarydirectories”選項(xiàng):說(shuō)明TurboC運(yùn)行時(shí)庫(kù)文件所在的目錄,即LIB所在的位置。輸入時(shí)應(yīng)包含庫(kù)文件所在的盤符和路徑,這里輸入C:TCLIB?!癘utputdirectory”選項(xiàng):編譯、鏈接后的可執(zhí)行文件所存放的目錄,即用戶的.OBJ、.EXE文件的存放位置。用戶選擇輸入已存在的目錄,若為空,則這些文件被放在當(dāng)前目錄,這里輸入C:TCUSER。,“TurboCdirectory”選項(xiàng):即TurboC文件所在的目錄,用于TurboC系統(tǒng)尋找配置文件(.TC)和幫助文件(TCHELP.TCH),這里輸入C:TC。4.編寫源程序編寫源程序的操作步驟如下。(1)在主菜單中選擇“File”選項(xiàng)并按回車鍵。(2)在“File”的下拉菜單中,選擇“Load”選項(xiàng),屏幕將出現(xiàn)一個(gè)提示框,如圖1.12所示。,圖1.12“File/Load”菜單,用戶輸入要編輯的文件名并按回車鍵,即可進(jìn)入全屏幕編輯狀態(tài)。說(shuō)明:如果輸入的文件名為新建文件,則屏幕為空白,用戶可以從鍵盤上直接輸入文件內(nèi)容。如果用戶輸入的文件名已經(jīng)存在,則屏幕上將顯示文件的內(nèi)容,可以進(jìn)行編輯修改。如果記不清要編輯的源程序文件名,則可在屏幕出現(xiàn)“*.C”提示時(shí),直接按回車鍵,TurboC就會(huì)顯示出當(dāng)前目錄下的所有擴(kuò)展名為“.C”的文件供用戶選擇。,5.常用編輯鍵(1)可用Insert鍵控制工作狀態(tài)是否為“插入狀態(tài)”。按下Insert鍵,可看到屏幕編輯窗口上有“Insert”,這時(shí)為插入狀態(tài),此時(shí)可在屏幕當(dāng)前光標(biāo)處插入所要輸入的字符。(2)在插入狀態(tài)下,再按一下Insert鍵可取消插入狀態(tài),狀態(tài)行上的“Insert”標(biāo)識(shí)消失,此時(shí)鍵入的字符將覆蓋光標(biāo)處的字符。(3)Delete鍵將刪除光標(biāo)所在的字符。(4)Ctrl+Y鍵,可刪除光標(biāo)所在的一行。(5)Ctrl+N鍵,可用來(lái)插入一行。,6.編譯、鏈接和運(yùn)行1)單一源程序文件的編譯、鏈接和運(yùn)行對(duì)單一源程序文件進(jìn)行編譯、鏈接和運(yùn)行的操作步驟如下。(1)按F10鍵選擇“Compile”選項(xiàng),按回車鍵后出現(xiàn)下拉菜單,如圖1.13所示。,圖1.13“Compile”菜單,(2)將亮條移至“MakeEXEfile”處,按回車鍵對(duì)當(dāng)前編輯窗口的源程序文件進(jìn)行編譯并生成目標(biāo)文件(擴(kuò)展名為.OBJ),鏈接后生成可執(zhí)行文件(擴(kuò)展名為.EXE)。若發(fā)現(xiàn)語(yǔ)法錯(cuò)誤,可進(jìn)行全屏幕編輯修改。(3)按Esc鍵回到主菜單,選擇“Run”選項(xiàng)出現(xiàn)下拉菜單,在菜單中選擇“Run”命令項(xiàng),即可運(yùn)行已生成的可執(zhí)行文件。注意:如果確信源程序無(wú)誤可直接按Ctrl+F9鍵,TurboC將一次完成從編譯、鏈接到運(yùn)行的全過(guò)程(指在西文DOS環(huán)境下)。,程序運(yùn)行后,系統(tǒng)自動(dòng)返回TurboC編輯屏幕。若想查看程序的運(yùn)行結(jié)果,可在“Run”菜單中選“UserScreen”選項(xiàng)并按回車鍵;也可直接按Alt+F5鍵。查看后按任意鍵返回到編輯窗口。2)兩個(gè)以上源程序文件的編譯、鏈接和運(yùn)行利用TurboC提供的“Project”菜單項(xiàng),可直接將兩個(gè)以上的文件編譯鏈接后生成一個(gè)完整的運(yùn)行程序。其操作步驟如下。(1)假設(shè)有兩個(gè)文件組成一個(gè)程序,首先要生成兩個(gè)源文件(如File1.C和File2.C)。(2)構(gòu)造Project文件。,在編輯狀態(tài)下,編輯一個(gè)后綴為.PRJ的文件(文件名由用戶選擇,如MYPROG.PRJ)。此文件內(nèi)容為File1和File2,擴(kuò)展名.C可有可無(wú),而且File1.C、File2.C順序無(wú)所謂。當(dāng)File1.C和File2.C不在一個(gè)目錄中時(shí),應(yīng)在Project文件的MYPROG.PRJ中給出各自的路徑,例如文件內(nèi)容可為TurboCUSERFile1.C和TurboCUSERFile2.C。(3)在主菜單窗口中選擇“Project”選項(xiàng),即將亮條移至“Project”處回車(也可按Alt+P鍵),此時(shí)出現(xiàn)下拉菜單,如圖1.14所示。,圖1.14“Project”菜單,將亮條移至“Projectname”處,按回車后,輸入Project文件名(如MYPROG.PRJ)并按回車鍵,然后按F9鍵即產(chǎn)生相應(yīng)的可執(zhí)行文件。此運(yùn)行文件名即為用戶給出的Project文件名(如MYPROG.EXE)。運(yùn)行時(shí)可用下述的Run命令,也可在操作命令狀態(tài)下直接輸入運(yùn)行文件名MYPROG。(4)停止編譯的方式。如果同時(shí)編譯的幾個(gè)程序中有錯(cuò)誤,就需要停止編譯,由用戶進(jìn)行修改。用戶可以指定兩種方式來(lái)停止編譯。,如果用戶希望同時(shí)編譯的幾個(gè)文件中出現(xiàn)一個(gè)錯(cuò)誤時(shí),就停止編譯,可用如下方法:將“Project”菜單中的亮條移至“Breakmake

溫馨提示

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

評(píng)論

0/150

提交評(píng)論