首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C 語言程序結構基礎(一):Turbo C 源程序組成、主函數、花括號、分號、註釋六大特點

     編輯:關於C語言

前言

掌握 C 程序的「骨架結構」是編寫正確代碼的前提。本文以一個完整的 Turbo C 交互式示例程序為載體,提煉出源程序的六大結構特點,並對比說明各組成部分的角色與規範。

一、範例程序全文

/* Example program of Turbo C */
#include         /* 包含文件說明 */
void lgc(void);           /* 子函數聲明 */
char answer;              /* 全局變量定義 */

int main()                /* 主函數定義 */
{
    char a;               /* 局部變量定義 */
    clrscr();
    gotoxy(12, 3);
    puts("Welcome to Turbo C 2.0!");
    gotoxy(15, 13);
    printf("--Exit");
    gotoxy(15, 15);
    printf("--Continue");

    while (1) {
        a = getch();
        if (a == 27) break;          // Esc 退出
        if (a == 13) {               // Enter 繼續
            lgc();
            if (answer == 'y' || answer == 'Y') {
                gotoxy(23, 14);
                puts("Please Write to the Company");
                getch();
                break;
            }
        }
    }
    return 0;
}

void lgc(void)            /* 子函數定義 */
{
    clrscr();
    gotoxy(12, 8);
    printf("The Excellent Selection!");
    gotoxy(21, 12);
    printf("Do you have any question?(Y/N)");
    answer = getche();
}

二、Turbo C 源程序六大結構特點

#特點範例佐證規範說明
1**主體小寫**關鍵字、函數名、變量名均小寫C 語言區分大小寫,習慣小寫;宏/常量常用大寫
2**語句以分號結尾**char a; clrscr(); return 0;分號是語句終止符,**聲明、表達式語句、跳轉語句**均需;結構體定義末尾、函數首部、{} 後**不加**分號
3**唯一主函數 main()**int main()程序入口,**有且僅有一個**;返回 int 向作業系統報狀態
4**函數體用花括號包裹**main() { ... } lgc() { ... }{ 開始、} 結束,構成**複合語句/塊**,定義作用域邊界
5**完整程序五大組成部分**見下表順序慣例:包含文件 → 函數聲明 → 全局變量 → main → 子函數
6**註釋 /* */ 可跨行、可嵌套標記代碼**/* Example ... */ /* 包含文件說明 */編譯器**完全忽略**註釋內容;可用於文檔、暫時屏蔽代碼

三、完整程序五大組成部分詳細表

部分範例內容作用備註
包含文件#include <stdio.h>引入庫函數原型、宏定義、類型定義系統頭文件用 < >,用戶頭文件用 ""
用戶函數聲明void lgc(void);告知編譯器函數簽名,便於調用檢查ANSI 原型聲明推薦;也可前置定義省略聲明
全局變量定義char answer;跨函數共享數據,靜態存儲期慎用,增加耦合;優先傳參
主函數int main() { ... }程序入口,調度子函數局部變量、庫函數調用、控制流、子函數調用
子函數void lgc(void) { ... }模組化功能單元可在 main 前/後、同/異文件

四、主函數與子函數內部結構

int main() {
    /* 1. 局部變量定義 */
    char a;

    /* 2. 庫函數調用 */
    clrscr(); gotoxy(...); puts(...); printf(...); getch(); getche();

    /* 3. 控制流程語句 */
    while (1) { if (...) break; if (...) { ... } }

    /* 4. 用戶函數調用 */
    lgc();

    return 0;
}

五、新手必記語法鐵律

  1. main **必須**有返回類型 (C99 起強制 int),舊代碼隱式 int 已廢棄。
  2. { } **成對出現**,缺一不可;推薦 **K&R 風格** (int main() {) 或 **Allman 風格** (int main()\n{),團隊統一即可。
  3. 分號 **不可漏、不可多** (如 if (x); { ... } 導致空語句)。
  4. 註釋 **不可嵌套** (/* /* */ */ 內層 */ 結束外層),需屏蔽大段代碼請用 #if 0 ... #endif。
  5. 標識符命名:**字母/下劃線開頭、字母數字下劃線組成、區分大小寫、見名知意**。

總結

「包含→聲明→全局→主函數→子函數」五部曲,「主函數唯一、花括號成對、分號終結、小寫主體、註釋忽略」五大特點。這就是 C 程序的**骨架**。熟練掌握骨架,再填充變量、運算符、控制流、函數、指針、結構等「血肉」,一個完整的 C 程序就誕生了。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved