<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發網

      電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
      搜索: 您現在的位置: 電子開發網 >> 編程學習 >> C語言 >> 正文

      C語言的程序結構

      作者:佚名    文章來源:本站原創    點擊數:    更新時間:2018/4/2
      1 基本程序結構

      任何一種程序設計語言都具有特定的語法規則和規定的表達方法。一個程序只有嚴格按照語言規定的語法和表達方式編寫,才能保證編寫的程序在計算機中能正確地執行,同時也便于閱讀和理解。

      為了了解C語言的基本程序結構,我們先介紹幾個簡單的C程序。


      這是一個最簡單的C程序,其執行結果是在屏幕上顯示一行信息:

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


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

      本程序的功能是對從鍵盤輸入的長方體的長、寬、高三個整型量求其體積的值。程序運行的情況如下:

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

      在本例中,m a i n函數在調用v o l u m e函數時,將實際參數x、y、z的值分別傳送給v o l u m e函數中的形式參數a、b、c。經過執行v o l u m e函數得到一個結果(即v o l u m e函數中變量p的值)并把這個值賦給變量v。

      從上面程序例子,可以看出C程序的基本結構。

      C程序為函數模塊結構,所有的C程序都是由一個或多個函數構成,其中必須只能有一個主函數m a i n ( )。程序從主函數開始執行,當執行到調用函數的語句時,程序將控制轉移到調用函數中執行,執行結束后,再返回主函數中繼續運行,直至程序執行結束。C程序的函數是由編譯系統提供的標準函數(如p r i n t f、s c a n f等)和由用戶自己定義的函數(如p r o c、f u n c、v o l u m e等)。雖然從技術上講,主函數不是C語言的一個成分,但它仍被看做是其中的一部分,因此,“m a i n”不能用作變量名。

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

      {

      數據說明部分;
      語句部分;

      }

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

      調用無參數傳遞,圓括號中形式參數為空(如void proc()函數)。形式參數說明指定函數調用傳遞參數的數據類型(如例1 . 3中語句int a,b,c;)。函數體包括函數體內使用的數據說明和執行函數功能的語句,花括號{和}表示函數體的

      開始和結束。

      1.3.2 函數庫和鏈接

      從技術上講,純粹由程序員自己編寫的語句構成C語言程序是可能的,但這卻是罕見的。因為所有的C編譯程序都提供能完成各種常用任務的函數—函數庫(如p r i n t f、s c a n f等)。C編譯程序的實現者已經編寫了大部分常見的通用函數。當我們調用一個別人編寫的函數時編譯程序“記憶”它的名字。隨后,“鏈接程序”把我們編寫的程序同標準函數庫中找到的目標碼結合起來,這個過程稱為“鏈接”。

      保存在函數庫中的函數是可重定位的。這意味著其中機器碼指令的內存地址并未絕對地確定, 只有偏移量是確定的。當把程序與標準函數庫中的函數相鏈接時,內存偏移量被用來產生實際地址。有關重定位的詳細內容,請查閱其他技術書籍。

      編寫程序時用到的函數,許多都可以在標準函數庫中找到。它們是可以簡單地組合起來的程序構件。編寫了一個經常要用的函數之后,可將其放入庫中備用。

      1.3.3 開發一個C程序

      開發一個C程序,包括以下四步:

      1) 程序設計程序設計亦稱程序編輯。程序員用任一編輯軟件(編輯器)將編寫好的C程序輸入計算機,并以文本文件的形式保存在計算機的磁盤上。編輯的結果是建立C源程序文件。C程序習慣上使用小寫英文字母,常量和其他用途的符號可用大寫字母。C語言對大、小寫字母是有區別的。關鍵字必須小寫。

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

      3 ) 鏈接程序編譯后產生的目標文件是可重定位的程序模塊,不能直接運行。鏈接就是把目標文件和其他分別進行編譯生成的目標程序模塊(如果有的話)及系統提供的標準庫函數鏈接在一起,生成可以運行的可執行文件的過程。鏈接過程使用C語言提供的鏈接程序(鏈接器)完成,生成的可執行文件存在磁盤中。

      4) 程序運行生成可執行文件后,就可以在操作系統控制下運行。若執行程序后達到預期目的,則C程序的開發工作到此完成。否則,要進一步檢查修改源程序,重復編輯—編譯

      —鏈接—運行的過程,直到取得預期結果為止。

      大部分C語言都提供一個獨立的開發集成環境,它可將上述四步連貫在一個程序之中。本書所涉及的程序全部在Turbo C環境中進行。

      1.3.4 C語言的關鍵字

      表1 - 2列舉了3 2個關鍵字,它們與標準C句法結合,形成了程序設計語言C。

      C語言的關鍵字都用小寫字母。C語言中區分大寫與小寫,e l s e是關鍵字,“E L S E”則不是。在C程序中,關鍵字不能用于其它目的,即不允許將關鍵字作為變量名或函數名使用。

      Tags:C語言的程序結構,C語言,程序結構  
      責任編輯:admin
      請文明參與討論,禁止漫罵攻擊。 昵稱:注冊  登錄
      [ 查看全部 ] 網友評論
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 亚洲色偷偷偷综合网| 无码专区久久综合久中文字幕| 亚洲av无码国产综合专区| 国产综合久久久久久鬼色| 亚洲综合色婷婷七月丁香| 亚洲人成综合网站7777香蕉| 国产成人综合久久精品亚洲| 亚洲综合久久综合激情久久 | 色综合天天综合网| 区三区激情福利综合中文字幕在线一区 | 亚洲综合小说久久另类区| 激情婷婷成人亚洲综合| 色欲色香天天天综合网站| 综合一区自拍亚洲综合图区| 亚洲综合视频在线| 伊人色综合九久久天天蜜桃| 98精品国产综合久久| 亚洲av综合avav中文| 久久久久噜噜噜亚洲熟女综合| 精品国产天堂综合一区在线| 色综合久久天天影视网| 狠狠亚洲婷婷综合色香五月排名| 色视频综合无码一区二区三区| 亚洲丁香色婷婷综合欲色啪| 狠狠色丁香婷婷综合| 综合国产精品第一页| 五月综合色婷婷影院在线观看| 一本色道久久88亚洲精品综合| 国产精品天天影视久久综合网| 亚洲人成在久久综合网站| 天堂久久天堂AV色综合| 久久综合狠狠综合久久综合88 | 久久综合狠狠综合久久| 国产综合内射日韩久| 国产AV综合影院| 久久老色鬼天天综合网观看| 亚洲VA综合VA国产产VA中| 麻豆精品一区二区综合av| 亚洲国产成人久久综合区| 国产综合在线观看| 国产在线五月综合婷婷|