日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開(kāi)發(fā)網(wǎng)

電子開(kāi)發(fā)網(wǎng)電子設(shè)計(jì) | 電子開(kāi)發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開(kāi)發(fā)網(wǎng) >> 編程學(xué)習(xí) >> C語(yǔ)言 >> 正文

C語(yǔ)言的程序結(jié)構(gòu)

作者:佚名    文章來(lái)源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2018/4/2
1 基本程序結(jié)構(gòu)

任何一種程序設(shè)計(jì)語(yǔ)言都具有特定的語(yǔ)法規(guī)則和規(guī)定的表達(dá)方法。一個(gè)程序只有嚴(yán)格按照語(yǔ)言規(guī)定的語(yǔ)法和表達(dá)方式編寫(xiě),才能保證編寫(xiě)的程序在計(jì)算機(jī)中能正確地執(zhí)行,同時(shí)也便于閱讀和理解。

為了了解C語(yǔ)言的基本程序結(jié)構(gòu),我們先介紹幾個(gè)簡(jiǎn)單的C程序。


這是一個(gè)最簡(jiǎn)單的C程序,其執(zhí)行結(jié)果是在屏幕上顯示一行信息:

RUN <enter>
This is a sample of c program.


本程序的執(zhí)行過(guò)程是:
• 程序從m a i n ( )處開(kāi)始。
• 變量a代表一個(gè)整數(shù),并且初始值為3。
• 執(zhí)行程序(函數(shù))p r o c ( );屏幕上顯示H e l l o,\ n為轉(zhuǎn)義字符,代表?yè)Q行的意思。
• 執(zhí)行程序(函數(shù))f u n c ( );并將結(jié)果賦予a,此時(shí),a的值為2。
• 屏幕上顯示“This is a sample of c program.”。
程序執(zhí)行的結(jié)果是在屏幕顯示兩行信息:
R U N <enter>
H e l l o .
This is a sample of c program.
程序中/ * . . . . . * /表示對(duì)程序的說(shuō)明(稱為注釋),不參與程序的運(yùn)行。注釋文字可以是任意字符,如漢字、拼音、英文等。

本程序的功能是對(duì)從鍵盤(pán)輸入的長(zhǎng)方體的長(zhǎng)、寬、高三個(gè)整型量求其體積的值。程序運(yùn)行的情況如下:

R U N ↵
5 , 8 , 6 ↵
v = 240

在本例中,m a i n函數(shù)在調(diào)用v o l u m e函數(shù)時(shí),將實(shí)際參數(shù)x、y、z的值分別傳送給v o l u m e函數(shù)中的形式參數(shù)a、b、c。經(jīng)過(guò)執(zhí)行v o l u m e函數(shù)得到一個(gè)結(jié)果(即v o l u m e函數(shù)中變量p的值)并把這個(gè)值賦給變量v。

從上面程序例子,可以看出C程序的基本結(jié)構(gòu)。

C程序?yàn)楹瘮?shù)模塊結(jié)構(gòu),所有的C程序都是由一個(gè)或多個(gè)函數(shù)構(gòu)成,其中必須只能有一個(gè)主函數(shù)m a i n ( )。程序從主函數(shù)開(kāi)始執(zhí)行,當(dāng)執(zhí)行到調(diào)用函數(shù)的語(yǔ)句時(shí),程序?qū)⒖刂妻D(zhuǎn)移到調(diào)用函數(shù)中執(zhí)行,執(zhí)行結(jié)束后,再返回主函數(shù)中繼續(xù)運(yùn)行,直至程序執(zhí)行結(jié)束。C程序的函數(shù)是由編譯系統(tǒng)提供的標(biāo)準(zhǔn)函數(shù)(如p r i n t f、s c a n f等)和由用戶自己定義的函數(shù)(如p r o c、f u n c、v o l u m e等)。雖然從技術(shù)上講,主函數(shù)不是C語(yǔ)言的一個(gè)成分,但它仍被看做是其中的一部分,因此,“m a i n”不能用作變量名。

函數(shù)的基本形式是:函數(shù)類型函數(shù)名(形式參數(shù))形式參數(shù)說(shuō)明;

{

數(shù)據(jù)說(shuō)明部分;
語(yǔ)句部分;

}

其中:函數(shù)頭包括函數(shù)說(shuō)明、函數(shù)名和圓括號(hào)中的形式參數(shù)(如int volume(a,b,c)),如果函數(shù)

調(diào)用無(wú)參數(shù)傳遞,圓括號(hào)中形式參數(shù)為空(如void proc()函數(shù))。形式參數(shù)說(shuō)明指定函數(shù)調(diào)用傳遞參數(shù)的數(shù)據(jù)類型(如例1 . 3中語(yǔ)句int a,b,c;)。函數(shù)體包括函數(shù)體內(nèi)使用的數(shù)據(jù)說(shuō)明和執(zhí)行函數(shù)功能的語(yǔ)句,花括號(hào){和}表示函數(shù)體的

開(kāi)始和結(jié)束。

1.3.2 函數(shù)庫(kù)和鏈接

從技術(shù)上講,純粹由程序員自己編寫(xiě)的語(yǔ)句構(gòu)成C語(yǔ)言程序是可能的,但這卻是罕見(jiàn)的。因?yàn)樗械腃編譯程序都提供能完成各種常用任務(wù)的函數(shù)—函數(shù)庫(kù)(如p r i n t f、s c a n f等)。C編譯程序的實(shí)現(xiàn)者已經(jīng)編寫(xiě)了大部分常見(jiàn)的通用函數(shù)。當(dāng)我們調(diào)用一個(gè)別人編寫(xiě)的函數(shù)時(shí)編譯程序“記憶”它的名字。隨后,“鏈接程序”把我們編寫(xiě)的程序同標(biāo)準(zhǔn)函數(shù)庫(kù)中找到的目標(biāo)碼結(jié)合起來(lái),這個(gè)過(guò)程稱為“鏈接”。

保存在函數(shù)庫(kù)中的函數(shù)是可重定位的。這意味著其中機(jī)器碼指令的內(nèi)存地址并未絕對(duì)地確定, 只有偏移量是確定的。當(dāng)把程序與標(biāo)準(zhǔn)函數(shù)庫(kù)中的函數(shù)相鏈接時(shí),內(nèi)存偏移量被用來(lái)產(chǎn)生實(shí)際地址。有關(guān)重定位的詳細(xì)內(nèi)容,請(qǐng)查閱其他技術(shù)書(shū)籍。

編寫(xiě)程序時(shí)用到的函數(shù),許多都可以在標(biāo)準(zhǔn)函數(shù)庫(kù)中找到。它們是可以簡(jiǎn)單地組合起來(lái)的程序構(gòu)件。編寫(xiě)了一個(gè)經(jīng)常要用的函數(shù)之后,可將其放入庫(kù)中備用。

1.3.3 開(kāi)發(fā)一個(gè)C程序

開(kāi)發(fā)一個(gè)C程序,包括以下四步:

1) 程序設(shè)計(jì)程序設(shè)計(jì)亦稱程序編輯。程序員用任一編輯軟件(編輯器)將編寫(xiě)好的C程序輸入計(jì)算機(jī),并以文本文件的形式保存在計(jì)算機(jī)的磁盤(pán)上。編輯的結(jié)果是建立C源程序文件。C程序習(xí)慣上使用小寫(xiě)英文字母,常量和其他用途的符號(hào)可用大寫(xiě)字母。C語(yǔ)言對(duì)大、小寫(xiě)字母是有區(qū)別的。關(guān)鍵字必須小寫(xiě)。

2) 程序編譯編譯是指將編輯好的源文件翻譯成二進(jìn)制目標(biāo)代碼的過(guò)程。編譯過(guò)程是使用C語(yǔ)言提供的編譯程序(編譯器)完成的。不同操作系統(tǒng)下的各種編譯器的使用命令不完全相同,使用時(shí)應(yīng)注意計(jì)算機(jī)環(huán)境。編譯時(shí),編譯器首先要對(duì)源程序中的每一個(gè)語(yǔ)句檢查語(yǔ)法錯(cuò)誤,當(dāng)發(fā)現(xiàn)錯(cuò)誤時(shí),就在屏幕上顯示錯(cuò)誤的位置和錯(cuò)誤類型的信息。此時(shí),要再次調(diào)用編輯器進(jìn)行查錯(cuò)修改。然后,再進(jìn)行編譯,直至排除所有語(yǔ)法和語(yǔ)義錯(cuò)誤。正確的源程序文件經(jīng)過(guò)編譯后在磁盤(pán)上生成目標(biāo)文件。

3 ) 鏈接程序編譯后產(chǎn)生的目標(biāo)文件是可重定位的程序模塊,不能直接運(yùn)行。鏈接就是把目標(biāo)文件和其他分別進(jìn)行編譯生成的目標(biāo)程序模塊(如果有的話)及系統(tǒng)提供的標(biāo)準(zhǔn)庫(kù)函數(shù)鏈接在一起,生成可以運(yùn)行的可執(zhí)行文件的過(guò)程。鏈接過(guò)程使用C語(yǔ)言提供的鏈接程序(鏈接器)完成,生成的可執(zhí)行文件存在磁盤(pán)中。

4) 程序運(yùn)行生成可執(zhí)行文件后,就可以在操作系統(tǒng)控制下運(yùn)行。若執(zhí)行程序后達(dá)到預(yù)期目的,則C程序的開(kāi)發(fā)工作到此完成。否則,要進(jìn)一步檢查修改源程序,重復(fù)編輯—編譯

—鏈接—運(yùn)行的過(guò)程,直到取得預(yù)期結(jié)果為止。

大部分C語(yǔ)言都提供一個(gè)獨(dú)立的開(kāi)發(fā)集成環(huán)境,它可將上述四步連貫在一個(gè)程序之中。本書(shū)所涉及的程序全部在Turbo C環(huán)境中進(jìn)行。

1.3.4 C語(yǔ)言的關(guān)鍵字

表1 - 2列舉了3 2個(gè)關(guān)鍵字,它們與標(biāo)準(zhǔn)C句法結(jié)合,形成了程序設(shè)計(jì)語(yǔ)言C。

C語(yǔ)言的關(guān)鍵字都用小寫(xiě)字母。C語(yǔ)言中區(qū)分大寫(xiě)與小寫(xiě),e l s e是關(guān)鍵字,“E L S E”則不是。在C程序中,關(guān)鍵字不能用于其它目的,即不允許將關(guān)鍵字作為變量名或函數(shù)名使用。

Tags:C語(yǔ)言的程序結(jié)構(gòu),C語(yǔ)言,程序結(jié)構(gòu)  
責(zé)任編輯:admin
請(qǐng)文明參與討論,禁止漫罵攻擊。 昵稱:注冊(cè)  登錄
[ 查看全部 ] 網(wǎng)友評(píng)論
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁(yè)面
下到頁(yè)底
晶體管查詢