




版權(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章章 C語(yǔ)言概述語(yǔ)言概述 C C語(yǔ)言是國(guó)際上廣泛盛行的、非常有進(jìn)展前途的語(yǔ)言是國(guó)際上廣泛盛行的、非常有進(jìn)展前途的高級(jí)程序設(shè)計(jì)設(shè)計(jì)語(yǔ)言高級(jí)程序設(shè)計(jì)設(shè)計(jì)語(yǔ)言, ,它既能夠用來(lái)編寫(xiě)系統(tǒng)軟件它既能夠用來(lái)編寫(xiě)系統(tǒng)軟件, ,又能夠用來(lái)編寫(xiě)應(yīng)用軟件又能夠用來(lái)編寫(xiě)應(yīng)用軟件.C.C語(yǔ)言也是大學(xué)生學(xué)習(xí)程語(yǔ)言也是大學(xué)生學(xué)習(xí)程序設(shè)計(jì)選用最多的語(yǔ)言序設(shè)計(jì)選用最多的語(yǔ)言. .本章關(guān)鍵講解本章關(guān)鍵講解C C語(yǔ)言的進(jìn)展語(yǔ)言的進(jìn)展歷史、歷史、C C語(yǔ)言的特點(diǎn)、語(yǔ)言的特點(diǎn)、C C程序的結(jié)構(gòu)和程序的結(jié)構(gòu)和C C程序的上機(jī)環(huán)程序的上機(jī)環(huán)節(jié)節(jié). . 本章重點(diǎn)本章重點(diǎn): : (1 1)C C語(yǔ)言的特點(diǎn)、語(yǔ)言的特點(diǎn)、C
2、 C語(yǔ)言的程序結(jié)語(yǔ)言的程序結(jié)構(gòu)構(gòu), ,主函數(shù)主函數(shù), ,函數(shù)的認(rèn)識(shí)函數(shù)的認(rèn)識(shí). .(2 2)C C程序的上機(jī)環(huán)節(jié)程序的上機(jī)環(huán)節(jié). . 1.1 C語(yǔ)言的進(jìn)展和特點(diǎn)語(yǔ)言的進(jìn)展和特點(diǎn)1.2 C程序的結(jié)構(gòu)程序的結(jié)構(gòu)1.3 Turbo C上機(jī)環(huán)節(jié)上機(jī)環(huán)節(jié)本章授課內(nèi)容本章授課內(nèi)容1.1 C語(yǔ)言的進(jìn)展和特點(diǎn)語(yǔ)言的進(jìn)展和特點(diǎn) 自從統(tǒng)計(jì)機(jī)誕生以來(lái)自從統(tǒng)計(jì)機(jī)誕生以來(lái), ,為了更好地履行軟件的設(shè)為了更好地履行軟件的設(shè)計(jì)計(jì), ,各種高級(jí)程序設(shè)計(jì)語(yǔ)言也在接續(xù)地進(jìn)展、提高和各種高級(jí)程序設(shè)計(jì)語(yǔ)言也在接續(xù)地進(jìn)展、提高和完美完美.C.C語(yǔ)言便是其中最優(yōu)異的程序設(shè)計(jì)語(yǔ)言之一語(yǔ)言便是其中最優(yōu)異的程序設(shè)計(jì)語(yǔ)言之一. .1.1.1 C
3、語(yǔ)言的進(jìn)展環(huán)節(jié)語(yǔ)言的進(jìn)展環(huán)節(jié) C語(yǔ)言是目前天下上最盛行、使用最廣泛的高級(jí)程序設(shè)計(jì)語(yǔ)言.在設(shè)計(jì)操縱系統(tǒng)等系統(tǒng)軟件和需要對(duì)硬件履行操縱時(shí),使用C語(yǔ)言編程清楚優(yōu)于其它高級(jí)語(yǔ)言,很多大型應(yīng)用軟件和系統(tǒng)軟件根基上用C語(yǔ)言編寫(xiě)的. 在在C C語(yǔ)言誕生往常語(yǔ)言誕生往常, ,系統(tǒng)軟件主假如用匯編語(yǔ)言系統(tǒng)軟件主假如用匯編語(yǔ)言編寫(xiě)的編寫(xiě)的. .因?yàn)閰R編語(yǔ)言程序依靠于統(tǒng)計(jì)機(jī)硬件因?yàn)閰R編語(yǔ)言程序依靠于統(tǒng)計(jì)機(jī)硬件, ,其可其可讀性和可移植性都非常差;但一樣的高級(jí)語(yǔ)言又難讀性和可移植性都非常差;但一樣的高級(jí)語(yǔ)言又難以實(shí)現(xiàn)對(duì)統(tǒng)計(jì)機(jī)硬件的直截了當(dāng)操縱(這正是匯編以實(shí)現(xiàn)對(duì)統(tǒng)計(jì)機(jī)硬件的直截了當(dāng)操縱(這正是匯編語(yǔ)言的優(yōu)勢(shì))語(yǔ)言的優(yōu)
4、勢(shì)), ,于是人們渴望有一種兼有匯編語(yǔ)言于是人們渴望有一種兼有匯編語(yǔ)言和高級(jí)語(yǔ)言特性的新語(yǔ)言和高級(jí)語(yǔ)言特性的新語(yǔ)言. . 語(yǔ)言是貝爾嘗試室于語(yǔ)言是貝爾嘗試室于7070年代初研發(fā)出來(lái)的年代初研發(fā)出來(lái)的, ,后后來(lái)又被多次改進(jìn)來(lái)又被多次改進(jìn), ,同時(shí)表現(xiàn)了多種版本同時(shí)表現(xiàn)了多種版本.80.80年代初年代初, ,美國(guó)國(guó)家規(guī)格化協(xié)會(huì)(美國(guó)國(guó)家規(guī)格化協(xié)會(huì)(ANSIANSI), ,依照語(yǔ)言咨詢世依照語(yǔ)言咨詢世以來(lái)各種版本對(duì)語(yǔ)言的進(jìn)展和擴(kuò)充以來(lái)各種版本對(duì)語(yǔ)言的進(jìn)展和擴(kuò)充, ,擬定了擬定了ANSI ANSI C C規(guī)格(規(guī)格(19891989年再次做了修訂)年再次做了修訂). . 1995 1995年又為年又
5、為C C語(yǔ)言增加了部分新的函數(shù)語(yǔ)言增加了部分新的函數(shù), ,使之具使之具有有C+C+的部分特點(diǎn)的部分特點(diǎn), ,使使C89C89成為成為C+C+的子集的子集.1999.1999年推年推出的出的C99C99在根基保留在根基保留C C語(yǔ)言特點(diǎn)的根本上語(yǔ)言特點(diǎn)的根本上, ,增加了一增加了一系列面向?qū)ο蟮男绿攸c(diǎn)系列面向?qū)ο蟮男绿攸c(diǎn).C.C語(yǔ)言也從面向環(huán)節(jié)的語(yǔ)言語(yǔ)言也從面向環(huán)節(jié)的語(yǔ)言進(jìn)展成為面向?qū)ο蟮恼Z(yǔ)言進(jìn)展成為面向?qū)ο蟮恼Z(yǔ)言. . C C語(yǔ)言是語(yǔ)言是C+C+的根本的根本, ,所以所以, ,把握了語(yǔ)言把握了語(yǔ)言, ,再進(jìn)一再進(jìn)一步學(xué)習(xí)步學(xué)習(xí)C+C+便能以一種熟悉的語(yǔ)法來(lái)學(xué)習(xí)面向?qū)ο蟊隳芤砸环N熟悉的語(yǔ)法來(lái)學(xué)習(xí)
6、面向?qū)ο蟮恼Z(yǔ)言的語(yǔ)言, ,從而達(dá)到事半功倍的意圖從而達(dá)到事半功倍的意圖. .本課程是依照本課程是依照ANSIISO Standard CANSIISO Standard C(即(即C89C89)來(lái)講授)來(lái)講授C C語(yǔ)言的語(yǔ)言的. . 目前最盛行的語(yǔ)言有目前最盛行的語(yǔ)言有Microsoft C Microsoft C 或稱或稱 MS CMS C、Turbo CTurbo C和和AT&T C.AT&T C.這些語(yǔ)言版本不僅實(shí)現(xiàn)了這些語(yǔ)言版本不僅實(shí)現(xiàn)了ANSI CANSI C規(guī)格規(guī)格, ,并且在此根本上各自作了部分?jǐn)U充并且在此根本上各自作了部分?jǐn)U充, ,使之更加方使之更加方便、完美便
7、、完美. .本課程使用本課程使用Turbo CTurbo C做為上機(jī)環(huán)境做為上機(jī)環(huán)境. .1.1.2 C語(yǔ)言的關(guān)鍵特點(diǎn)語(yǔ)言的關(guān)鍵特點(diǎn)1、C語(yǔ)言簡(jiǎn)潔、緊湊、方便、靈活語(yǔ)言簡(jiǎn)潔、緊湊、方便、靈活 C語(yǔ)言一共只有語(yǔ)言一共只有32個(gè)關(guān)鍵字個(gè)關(guān)鍵字,9種操縱語(yǔ)句種操縱語(yǔ)句,程序書(shū)程序書(shū)寫(xiě)自由寫(xiě)自由,關(guān)鍵用小寫(xiě)字母示意關(guān)鍵用小寫(xiě)字母示意,壓縮了部分不必要的壓縮了部分不必要的成分成分.2、運(yùn)算符富厚、運(yùn)算符富厚C的運(yùn)算符包羅的范疇非常廣泛的運(yùn)算符包羅的范疇非常廣泛,共有共有34個(gè)運(yùn)算符個(gè)運(yùn)算符.3、信息結(jié)構(gòu)富厚、信息結(jié)構(gòu)富厚C的信息類型有的信息類型有:整型、實(shí)型、字符型、數(shù)組類型、整型、實(shí)型、字符型、數(shù)組類
8、型、指針類型、結(jié)構(gòu)體類型、聯(lián)合體類型等指針類型、結(jié)構(gòu)體類型、聯(lián)合體類型等.4、C是結(jié)構(gòu)化語(yǔ)言是結(jié)構(gòu)化語(yǔ)言 結(jié)構(gòu)化語(yǔ)言的顯著特點(diǎn)是代碼及信息的分隔化結(jié)構(gòu)化語(yǔ)言的顯著特點(diǎn)是代碼及信息的分隔化,即即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)站程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)站.這這種結(jié)構(gòu)化方式可使程序?qū)哟吻宄N結(jié)構(gòu)化方式可使程序?qū)哟吻宄?便于使用、維護(hù)以便于使用、維護(hù)以及調(diào)試及調(diào)試.5、C語(yǔ)法限制不太嚴(yán)格、程序語(yǔ)法限制不太嚴(yán)格、程序 設(shè)計(jì)自由度大設(shè)計(jì)自由度大 一樣的高級(jí)語(yǔ)言語(yǔ)法查抄對(duì)比嚴(yán)一樣的高級(jí)語(yǔ)言語(yǔ)法查抄對(duì)比嚴(yán),能夠查抄出幾乎能夠查抄出幾乎全部的語(yǔ)法錯(cuò)誤全部的語(yǔ)法錯(cuò)誤.而而C語(yǔ)言放寬了語(yǔ)法
9、查抄語(yǔ)言放寬了語(yǔ)法查抄,許可程序許可程序編寫(xiě)者有較大的自由度編寫(xiě)者有較大的自由度.這是這是C語(yǔ)言的利益語(yǔ)言的利益,也是也是C語(yǔ)語(yǔ)言的瑕玷言的瑕玷.6、C語(yǔ)言許可直截了當(dāng)會(huì)見(jiàn)物理地址語(yǔ)言許可直截了當(dāng)會(huì)見(jiàn)物理地址,能夠直截了能夠直截了當(dāng)對(duì)硬件履行操縱當(dāng)對(duì)硬件履行操縱 C語(yǔ)言既具有高級(jí)語(yǔ)言的特點(diǎn)語(yǔ)言既具有高級(jí)語(yǔ)言的特點(diǎn),又具有低級(jí)語(yǔ)言的又具有低級(jí)語(yǔ)言的很多功能很多功能,能夠象匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址能夠象匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址履行操縱履行操縱,而這三者是統(tǒng)計(jì)機(jī)最根基的任務(wù)單元而這三者是統(tǒng)計(jì)機(jī)最根基的任務(wù)單元,能能夠用來(lái)寫(xiě)系統(tǒng)軟件夠用來(lái)寫(xiě)系統(tǒng)軟件.7、C語(yǔ)言程序生成代碼質(zhì)量高語(yǔ)言程序生成代碼
10、質(zhì)量高 程序履行功效高程序履行功效高,一樣只比匯編程序生成的意圖代一樣只比匯編程序生成的意圖代碼功效低碼功效低1020%.8、C語(yǔ)言合用范疇大語(yǔ)言合用范疇大,可移植性好可移植性好 C語(yǔ)言有一個(gè)突出的利益便是適合于多種操縱系語(yǔ)言有一個(gè)突出的利益便是適合于多種操縱系統(tǒng)統(tǒng),似似DOS、UNIX,也合用于多種機(jī)型也合用于多種機(jī)型.1.2 C程序的結(jié)構(gòu)程序的結(jié)構(gòu) 用用C C語(yǔ)言編寫(xiě)的程序稱為語(yǔ)言編寫(xiě)的程序稱為C C語(yǔ)言源程序語(yǔ)言源程序, ,簡(jiǎn)稱為簡(jiǎn)稱為C C程程序序. .為了講明語(yǔ)言源程序結(jié)構(gòu)的特點(diǎn)為了講明語(yǔ)言源程序結(jié)構(gòu)的特點(diǎn), ,先看以下幾個(gè)先看以下幾個(gè)程序程序. .這幾個(gè)程序由簡(jiǎn)到難這幾個(gè)程序由簡(jiǎn)到
11、難, ,固然有關(guān)內(nèi)容還未講解固然有關(guān)內(nèi)容還未講解, ,但可從這些例子中領(lǐng)會(huì)到組成一個(gè)但可從這些例子中領(lǐng)會(huì)到組成一個(gè)C C程序的根基部分程序的根基部分和書(shū)寫(xiě)標(biāo)準(zhǔn)和書(shū)寫(xiě)標(biāo)準(zhǔn). .【例【例1.1】輸出一行信息的】輸出一行信息的C程序程序.void main() printf(Hello,world!n); main main是主函數(shù)的函數(shù)名是主函數(shù)的函數(shù)名, ,示意這是一個(gè)主函數(shù)示意這是一個(gè)主函數(shù). .每一每一個(gè)個(gè)C C程序都必須有主函數(shù)程序都必須有主函數(shù), ,且只能有一個(gè)主函數(shù)且只能有一個(gè)主函數(shù). . printf printf是輸出函數(shù)是輸出函數(shù), ,它的功能是把要輸出的內(nèi)容送它的功能是把要輸出
12、的內(nèi)容送到表現(xiàn)器去輸出到表現(xiàn)器去輸出.printf.printf函數(shù)是一個(gè)由系統(tǒng)定義的規(guī)函數(shù)是一個(gè)由系統(tǒng)定義的規(guī)格函數(shù)格函數(shù), ,可在程序中直截了當(dāng)調(diào)用可在程序中直截了當(dāng)調(diào)用. .履行那個(gè)程序履行那個(gè)程序, ,會(huì)在表現(xiàn)器上輸出會(huì)在表現(xiàn)器上輸出: :Hello,world!Hello,world!【例【例1.2】統(tǒng)計(jì)三角函數(shù)的】統(tǒng)計(jì)三角函數(shù)的C程序程序.#include * #include稱為文件見(jiàn)諒號(hào)令稱為文件見(jiàn)諒號(hào)令,擴(kuò)展擴(kuò)展名為名為.h的文件稱為頭文件的文件稱為頭文件 *#include void main() double x,s; * 定義兩個(gè)實(shí)數(shù)變量定義兩個(gè)實(shí)數(shù)變量,以被背面程序以
13、被背面程序使用使用 * printf(“Input a angle:”); * 表現(xiàn)提示信息表現(xiàn)提示信息 * scanf(%lf,&x); * 從鍵盤(pán)獲得一個(gè)實(shí)數(shù)從鍵盤(pán)獲得一個(gè)實(shí)數(shù)x * s=sin(x*3.14159180.0); * 求求x的正弦的正弦,同時(shí)把它賦給同時(shí)把它賦給變量變量s * printf(“sine of %lf is %lfn”,x,s); * 表現(xiàn)程序運(yùn)算結(jié)表現(xiàn)程序運(yùn)算結(jié)論論 * printf(Strike any key to continue!n); getch(); * 按任何鍵回到集成開(kāi)發(fā)環(huán)境按任何鍵回到集成開(kāi)發(fā)環(huán)境 * 本程序的功能是從鍵盤(pán)輸入一個(gè)數(shù)
14、本程序的功能是從鍵盤(pán)輸入一個(gè)數(shù)x,x,求求x x的正弦值的正弦值, ,接著輸出結(jié)論接著輸出結(jié)論. . 在在main()main()之前的兩行稱為預(yù)操作號(hào)令之前的兩行稱為預(yù)操作號(hào)令. .這個(gè)地方的這個(gè)地方的#include#include稱為文件見(jiàn)諒號(hào)令稱為文件見(jiàn)諒號(hào)令, ,其意義是把尖括號(hào)其意義是把尖括號(hào)或或引號(hào)引號(hào)“”“”內(nèi)指定的文件見(jiàn)諒到本程序來(lái)內(nèi)指定的文件見(jiàn)諒到本程序來(lái), ,成為本程序成為本程序的一部分的一部分. .語(yǔ)言的頭文件中包羅了各個(gè)規(guī)格庫(kù)函數(shù)語(yǔ)言的頭文件中包羅了各個(gè)規(guī)格庫(kù)函數(shù)的函數(shù)原型的函數(shù)原型. .所以所以, ,往往在程序中調(diào)用一個(gè)庫(kù)函數(shù)時(shí)往往在程序中調(diào)用一個(gè)庫(kù)函數(shù)時(shí), ,都必
15、須見(jiàn)諒該函數(shù)原型所在的頭文件都必須見(jiàn)諒該函數(shù)原型所在的頭文件. . 在本例中在本例中, ,使用了三個(gè)庫(kù)函數(shù)使用了三個(gè)庫(kù)函數(shù): :輸入函數(shù)輸入函數(shù)scanf,scanf,正弦正弦函數(shù)函數(shù)sin,sin,輸出函數(shù)輸出函數(shù)printf.sinprintf.sin函數(shù)是數(shù)學(xué)函數(shù)函數(shù)是數(shù)學(xué)函數(shù), ,其頭其頭文件為文件為math.hmath.h文件文件,scanf,scanf和和printfprintf是規(guī)格輸入輸出函是規(guī)格輸入輸出函數(shù)數(shù), ,其頭文件為其頭文件為stdio.h.stdio.h.在程序的每行后用在程序的每行后用* *和和* *括起括起來(lái)的內(nèi)容為注釋部分來(lái)的內(nèi)容為注釋部分, ,程序不履行注釋
16、部分程序不履行注釋部分. . 在例題中的主函數(shù)體中又分為兩部分在例題中的主函數(shù)體中又分為兩部分, ,一部分為一部分為講明部分講明部分, ,另一部為分履行部分另一部為分履行部分. . 講明是指變量的類型講明講明是指變量的類型講明. .語(yǔ)言規(guī)定語(yǔ)言規(guī)定, ,源程序中源程序中全部用到的變量都必須先講明全部用到的變量都必須先講明, ,后使用后使用, ,否那么將會(huì)否那么將會(huì)犯錯(cuò)犯錯(cuò). .這一點(diǎn)是編譯型高級(jí)程序設(shè)計(jì)語(yǔ)言的一個(gè)特點(diǎn)這一點(diǎn)是編譯型高級(jí)程序設(shè)計(jì)語(yǔ)言的一個(gè)特點(diǎn). . 講明部分后的四行為履行部分或稱為履行語(yǔ)句部講明部分后的四行為履行部分或稱為履行語(yǔ)句部分分, ,用以完成程序的功能用以完成程序的功能.
17、 . 運(yùn)行本程序時(shí)運(yùn)行本程序時(shí), ,第一步在表現(xiàn)器屏幕上給出提示串第一步在表現(xiàn)器屏幕上給出提示串Input an angle:Input an angle:這是由履行部分的第一行完成的這是由履行部分的第一行完成的. .用戶在提示下從鍵盤(pán)上鍵入某一數(shù)用戶在提示下從鍵盤(pán)上鍵入某一數(shù), ,似似60,60,按下回車按下回車鍵鍵, ,接著在屏幕上給出統(tǒng)計(jì)結(jié)論接著在屏幕上給出統(tǒng)計(jì)結(jié)論. .【例【例1.3】見(jiàn)諒自定義函數(shù)的】見(jiàn)諒自定義函數(shù)的C程序程序.#includevoid main() * 主函數(shù)主函數(shù) * int x,y,z; * 變量講明變量講明 * int max(int,int); * 函數(shù)原型
18、表明函數(shù)原型表明 * printf(Input two numbers:n); scanf(“%d%d”,&x,&y); * 輸入輸入x,y值值 * z=max(x,y); * 調(diào)用調(diào)用max函數(shù)函數(shù) * printf(“maxmum=%dn”,z); * 輸出輸出 * printf(Strike any key to continue!n); getch(); * 按任何鍵回到集成開(kāi)發(fā)環(huán)境按任何鍵回到集成開(kāi)發(fā)環(huán)境 *int max(int a,int b) * 定義定義max函數(shù)函數(shù) * if(ab)return a; else return b; * 把結(jié)論返回主調(diào)函數(shù)把結(jié)
19、論返回主調(diào)函數(shù) * 本程序的功能是由用戶輸入兩個(gè)整數(shù)本程序的功能是由用戶輸入兩個(gè)整數(shù), ,程序履行程序履行后輸出其中較大的數(shù)后輸出其中較大的數(shù). .程序由兩個(gè)函數(shù)組成程序由兩個(gè)函數(shù)組成, ,主函數(shù)主函數(shù)和和maxmax函數(shù)函數(shù). .函數(shù)之間是同時(shí)列關(guān)系函數(shù)之間是同時(shí)列關(guān)系. .可從主函數(shù)中調(diào)可從主函數(shù)中調(diào)用其它函數(shù)用其它函數(shù).max .max 函數(shù)的功能是對(duì)比兩個(gè)數(shù)函數(shù)的功能是對(duì)比兩個(gè)數(shù), ,接著把接著把較大的數(shù)返回給主函數(shù)較大的數(shù)返回給主函數(shù).max.max函數(shù)是一個(gè)用戶自定義函數(shù)是一個(gè)用戶自定義函數(shù)函數(shù). .所以在主函數(shù)中要給出函數(shù)原型所以在主函數(shù)中要給出函數(shù)原型. .可見(jiàn)可見(jiàn), ,在程序
20、在程序的講明部分中的講明部分中, ,不僅有變量講明不僅有變量講明, ,還能夠有函數(shù)原型還能夠有函數(shù)原型講明講明. .對(duì)于函數(shù)的具體內(nèi)容將在往后第六章講解對(duì)于函數(shù)的具體內(nèi)容將在往后第六章講解. . 以上程序的履行環(huán)節(jié)是以上程序的履行環(huán)節(jié)是, ,第一步在屏幕上表現(xiàn)提示第一步在屏幕上表現(xiàn)提示串串, ,請(qǐng)用戶輸入兩個(gè)數(shù)請(qǐng)用戶輸入兩個(gè)數(shù), ,接著由接著由scanfscanf函數(shù)接收這兩個(gè)函數(shù)接收這兩個(gè)數(shù)送入變量數(shù)送入變量x,yx,y中中, ,接著調(diào)用接著調(diào)用maxmax函數(shù)函數(shù), ,同時(shí)把同時(shí)把x,y x,y 的值的值傳送給傳送給maxmax函數(shù)的指標(biāo)函數(shù)的指標(biāo)a a和和b.b.在在maxmax函數(shù)中對(duì)
21、比函數(shù)中對(duì)比a,ba,b的大的大小小, ,把大者返回給主函數(shù)的變量把大者返回給主函數(shù)的變量z,z,末了在屏幕上輸出末了在屏幕上輸出z z的值的值. .通過(guò)以上三個(gè)例子通過(guò)以上三個(gè)例子,回納概括出源程序的結(jié)構(gòu)特點(diǎn)回納概括出源程序的結(jié)構(gòu)特點(diǎn):1、一個(gè)語(yǔ)言源程序能夠由一個(gè)或多個(gè)源文件組成、一個(gè)語(yǔ)言源程序能夠由一個(gè)或多個(gè)源文件組成.2、每個(gè)源文件可由一個(gè)或多個(gè)函數(shù)組成、每個(gè)源文件可由一個(gè)或多個(gè)函數(shù)組成.3、一個(gè)源程序不論由幾個(gè)文件組成、一個(gè)源程序不論由幾個(gè)文件組成,都有一個(gè)且只能都有一個(gè)且只能有一個(gè)名字為有一個(gè)名字為main函數(shù)(主函數(shù))函數(shù)(主函數(shù)).4、源程序中能夠有預(yù)操作號(hào)令、源程序中能夠有預(yù)操
22、作號(hào)令(#include號(hào)令僅為其號(hào)令僅為其中的一種中的一種),預(yù)操作號(hào)令往往應(yīng)放在源文件或源程序的預(yù)操作號(hào)令往往應(yīng)放在源文件或源程序的最前面最前面.5、每一個(gè)講明、每一個(gè)講明,每一個(gè)語(yǔ)句都必須以分號(hào)末端每一個(gè)語(yǔ)句都必須以分號(hào)末端.但預(yù)但預(yù)操作號(hào)令操作號(hào)令,函數(shù)頭和末了一個(gè)花括號(hào)函數(shù)頭和末了一個(gè)花括號(hào)“”之后不能加之后不能加分號(hào)分號(hào).6、標(biāo)識(shí)符、標(biāo)識(shí)符,關(guān)鍵字之間必須到少加一個(gè)空格以示分關(guān)鍵字之間必須到少加一個(gè)空格以示分隔隔.如果已有清楚的分隔符如果已有清楚的分隔符,也可不再加空格也可不再加空格.程序的書(shū)寫(xiě)標(biāo)準(zhǔn)非常自由程序的書(shū)寫(xiě)標(biāo)準(zhǔn)非常自由,但從書(shū)寫(xiě)清楚但從書(shū)寫(xiě)清楚,便于閱讀便于閱讀,懂得懂得
23、,維護(hù)維護(hù)的角度出發(fā)的角度出發(fā),定見(jiàn)在書(shū)寫(xiě)程序時(shí)應(yīng)遵循以下法那么定見(jiàn)在書(shū)寫(xiě)程序時(shí)應(yīng)遵循以下法那么:1、一個(gè)講明或一個(gè)語(yǔ)句占一行、一個(gè)講明或一個(gè)語(yǔ)句占一行.2、用、用 括起來(lái)的部分括起來(lái)的部分,往往示意了程序的某一層次結(jié)構(gòu)往往示意了程序的某一層次結(jié)構(gòu).一樣一樣與該結(jié)構(gòu)語(yǔ)句的第一個(gè)字母對(duì)齊與該結(jié)構(gòu)語(yǔ)句的第一個(gè)字母對(duì)齊,同時(shí)單獨(dú)占一行同時(shí)單獨(dú)占一行.3、低一層次的語(yǔ)句或講明可比高一層次的語(yǔ)句或講明縮進(jìn)如、低一層次的語(yǔ)句或講明可比高一層次的語(yǔ)句或講明縮進(jìn)如果干格后書(shū)寫(xiě)果干格后書(shū)寫(xiě).以便看起來(lái)更加清楚以便看起來(lái)更加清楚,增加程序的可讀性增加程序的可讀性.在編程時(shí)應(yīng)力求遵循這些法那么在編程時(shí)應(yīng)力求遵循這些
24、法那么,以養(yǎng)成良好的編程風(fēng)格以養(yǎng)成良好的編程風(fēng)格.1.3 Turbo C上機(jī)環(huán)節(jié)上機(jī)環(huán)節(jié)Turbo C 是美國(guó)是美國(guó)Borland公司的產(chǎn)物公司的產(chǎn)物,Borland公司是一家特意從公司是一家特意從事軟件開(kāi)發(fā)、研發(fā)的公司事軟件開(kāi)發(fā)、研發(fā)的公司.該公司相繼推出了一套該公司相繼推出了一套Turbo系列軟系列軟件件,似似Turbo BASIC、Turbo Pascal、Turbo Prolog.該公司在該公司在1987年首次推出年首次推出Turbo C 1.0 產(chǎn)物產(chǎn)物,往后又升級(jí)到往后又升級(jí)到2.0版版.這套軟件這套軟件使用了全然一新的集成開(kāi)發(fā)環(huán)境使用了全然一新的集成開(kāi)發(fā)環(huán)境,使用了一系列下拉式菜
25、單使用了一系列下拉式菜單,將將文本編纂、程序編譯、毗鄰以及程序運(yùn)行一體化文本編纂、程序編譯、毗鄰以及程序運(yùn)行一體化, 大大方便了大大方便了程序的開(kāi)發(fā)程序的開(kāi)發(fā).1.3.1. Turbo C 2.0文件簡(jiǎn)介文件簡(jiǎn)介T(mén)urbo C 的關(guān)鍵文件的關(guān)鍵文件:INSTALL.EXE - 安裝程序文件安裝程序文件TC.EXE - 集成編譯集成編譯TCINST.EXE - 集成開(kāi)發(fā)環(huán)境的配置設(shè)置程序集成開(kāi)發(fā)環(huán)境的配置設(shè)置程序TCHELP.TCH - 扶助文件扶助文件THELP.COM - 讀取讀取TCHELP.TCH的駐留程序的駐留程序GRAPHICS.LIB- 圖形庫(kù)圖形庫(kù)EMU.LIB - 8087仿真
26、庫(kù)仿真庫(kù)FP87.LIB - 8087庫(kù)庫(kù)*.h - Turbo C頭文件頭文件*.BGI - 差別表現(xiàn)器圖形驅(qū)動(dòng)程序差別表現(xiàn)器圖形驅(qū)動(dòng)程序*.C - Turbo C例行程序例行程序(源文件源文件)1.3.2 Turbo C 啟動(dòng)啟動(dòng) 在在DOS環(huán)境下運(yùn)行環(huán)境下運(yùn)行Turbo C時(shí)時(shí),只要在只要在TC子目錄下子目錄下鍵入鍵入TC同時(shí)回車即可進(jìn)入同時(shí)回車即可進(jìn)入Turbo C集成開(kāi)發(fā)環(huán)境集成開(kāi)發(fā)環(huán)境.注注重重:TC下有兩個(gè)目錄下有兩個(gè)目錄LIB和和INCLUDE.LIB子目錄中子目錄中存放庫(kù)文件存放庫(kù)文件,INCLUDE子目錄中存放全部頭文件子目錄中存放全部頭文件.在在Windows環(huán)境下運(yùn)行環(huán)
27、境下運(yùn)行Turbo C時(shí)時(shí),只要在文件夾中雙只要在文件夾中雙擊擊TC.EXE即可進(jìn)入即可進(jìn)入Turbo C集成開(kāi)發(fā)環(huán)境集成開(kāi)發(fā)環(huán)境.1.3.3 源程序的輸入、編譯、毗鄰和運(yùn)行源程序的輸入、編譯、毗鄰和運(yùn)行 C語(yǔ)言是一種高級(jí)語(yǔ)言語(yǔ)言是一種高級(jí)語(yǔ)言,存放存放C程序的文件擴(kuò)展名必程序的文件擴(kuò)展名必須為須為“.c”.統(tǒng)計(jì)機(jī)硬件不能直截了當(dāng)履行源程序統(tǒng)計(jì)機(jī)硬件不能直截了當(dāng)履行源程序,必須必須將源程序翻譯成二進(jìn)制意圖程序?qū)⒃闯绦蚍g成二進(jìn)制意圖程序.翻譯任務(wù)是由一個(gè)翻譯任務(wù)是由一個(gè)系統(tǒng)軟件完成的系統(tǒng)軟件完成的,那個(gè)軟件稱為編譯程序那個(gè)軟件稱為編譯程序,翻譯的環(huán)節(jié)翻譯的環(huán)節(jié)稱為編譯稱為編譯,編譯的結(jié)論稱為意
28、圖程序編譯的結(jié)論稱為意圖程序,存放意圖程序的存放意圖程序的文件擴(kuò)展名為文件擴(kuò)展名為“.OBJ”.程序翻譯成意圖程序后程序翻譯成意圖程序后,便可便可履行毗鄰履行毗鄰.“毗鄰毗鄰”的意圖是使程序變成在統(tǒng)計(jì)機(jī)上能的意圖是使程序變成在統(tǒng)計(jì)機(jī)上能夠履行的終極形式夠履行的終極形式.在這一期間在這一期間,把系統(tǒng)程序庫(kù)中的函把系統(tǒng)程序庫(kù)中的函數(shù)與意圖程序毗鄰數(shù)與意圖程序毗鄰,毗鄰的結(jié)論稱為可履行程序毗鄰的結(jié)論稱為可履行程序,存放存放可履行程序的文件擴(kuò)展名為可履行程序的文件擴(kuò)展名為“.EXE”.1、源程序的輸入、源程序的輸入啟動(dòng)啟動(dòng)Turbo C后后,便能夠在編纂窗口輸入或修改程便能夠在編纂窗口輸入或修改程序序
29、.例似輸入以下程序例似輸入以下程序:void main( ) printf(Hello,world!n);那么程序進(jìn)入統(tǒng)計(jì)機(jī)存貯器那么程序進(jìn)入統(tǒng)計(jì)機(jī)存貯器.2、程序存盤(pán)、程序存盤(pán) 為防備意外事故丟失程序?yàn)榉纻湟馔馐鹿蕘G失程序,最好將輸入的程序存貯最好將輸入的程序存貯到磁盤(pán)中到磁盤(pán)中.在編纂窗口下在編纂窗口下,可直截了當(dāng)按可直截了當(dāng)按F2鍵或按鍵或按F10鍵鍵,再按再按F鍵進(jìn)入鍵進(jìn)入File菜單項(xiàng)菜單項(xiàng),再按再按S或或W鍵將文件存盤(pán)鍵將文件存盤(pán).3、編譯程序、編譯程序?qū)υ闯绦蚵男芯幾g有兩種方式對(duì)源程序履行編譯有兩種方式:(1)直截了當(dāng)按)直截了當(dāng)按Alt+F9即可即可.(2)按)按F10鍵返回主
30、菜單鍵返回主菜單,挑選挑選Compile項(xiàng)項(xiàng),屏幕表現(xiàn)屏幕表現(xiàn)Compile下拉菜單下拉菜單,從下拉菜單中挑選從下拉菜單中挑選Compile to .OBJ項(xiàng)項(xiàng),按回車鍵按回車鍵.進(jìn)入編譯狀態(tài)后進(jìn)入編譯狀態(tài)后,屏幕會(huì)表現(xiàn)一個(gè)編譯窗屏幕會(huì)表現(xiàn)一個(gè)編譯窗口口,幾秒鐘后幾秒鐘后,似果屏幕表現(xiàn)一閃爍信息似果屏幕表現(xiàn)一閃爍信息:Success:press any key示意編譯順?biāo)焓疽饩幾g順?biāo)?此刻可按隨意率性鍵此刻可按隨意率性鍵,編譯窗口消散編譯窗口消散,完標(biāo)返回主菜單完標(biāo)返回主菜單.似果程序有語(yǔ)法錯(cuò)誤似果程序有語(yǔ)法錯(cuò)誤,編譯時(shí)會(huì)產(chǎn)生編譯時(shí)會(huì)產(chǎn)生犯錯(cuò)(犯錯(cuò)(Error)信息或警告()信息或警告(Warning)信息)信息,這些具這些具體錯(cuò)誤信息會(huì)表此刻屏幕下部的信息窗中體錯(cuò)誤信息會(huì)表此刻屏幕下部的信息窗中.對(duì)源程
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度企業(yè)股份變更與股權(quán)結(jié)構(gòu)調(diào)整協(xié)議書(shū)
- 荒山轉(zhuǎn)讓與林業(yè)產(chǎn)業(yè)園區(qū)建設(shè)2025年度合作協(xié)議
- 二零二五年度北京市房屋出租代理及風(fēng)險(xiǎn)控制合同
- 二零二五年度汽車維修企業(yè)安全生產(chǎn)責(zé)任書(shū)范本
- 2025年度汽車銷售單方違約解除合同賠償倍數(shù)計(jì)算標(biāo)準(zhǔn)書(shū)
- 二零二五年度精英階層相親婚姻合同
- 二零二五年度木工行業(yè)專業(yè)人才培養(yǎng)合同
- 二零二五年度車輛貸款抵押與二手車交易平臺(tái)會(huì)員服務(wù)協(xié)議
- 2025年吉林貨運(yùn)從業(yè)資格證考試模擬題庫(kù)及答案
- 2025年貴州貨運(yùn)叢業(yè)資格證試題
- XX省血液調(diào)配管理辦法
- 科創(chuàng)板問(wèn)題測(cè)試題庫(kù)300題試題及答案
- 微信開(kāi)放平臺(tái)網(wǎng)站信息登記表
- 腦病科中醫(yī)疾病護(hù)理常規(guī)(精)
- 商業(yè)銀行員工輕微違規(guī)行為積分管理辦法
- JJG 700 -2016氣相色譜儀檢定規(guī)程-(高清現(xiàn)行)
- 壓力容器安全檢查表
- 病理生理學(xué)教學(xué)病生6休克課件
- 供應(yīng)商反向評(píng)估表
- 輸尿管結(jié)石教學(xué)查房PPT課件(PPT 42頁(yè))
- 曲線帶式輸送機(jī)的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論