/* Example program of Turbo C */
#include /* 標頭檔引入 */
void lgc(void); /* 函數前向宣告 */
char answer; /* 全域變數定義 */
int main() /* 主函數 (程式入口) */
{
char a; /* 區域變數 */
clrscr();
gotoxy(12, 3);
puts("Welcome to use Turbo C2.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();
}
; 為陳述句終結符,遺漏導致編譯錯誤。main():程式執行起點,return 0 表示成功結束。{ ... } 包裹主函數與每個子函數本體,也用於複合陳述句。#include <*.h>main()/* ... */ (不可巢狀,Turbo C 選項可開啟巢狀支援),編譯器忽略。若程式分割為 file1.c, file2.c, file3.c:
file.prj (純文字):file1.c
file2.c
file3.cProject → Project name 設為 file.prj。Compile → Make EXE 或 Build all,依序編譯連結產生 file.exe。#include <stdio.h>:系統標頭檔 (編譯器 INCLUDE 目錄搜尋)。#include "myheader.h":使用者標頭檔 (當前目錄優先搜尋)。extern 變數宣告。#include 會導致連結階段「未定義符號」錯誤。
# CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
project(Demo C)
add_executable(demo main.c lgc.c)
target_include_directories(demo PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
Turbo C 專案檔 .PRJ 即為早期「建構腳本」雛形,現代 CMake/Meson/Ninja 繼承相同哲學:宣告式描述來源檔、相依性、編譯選項,由工具自動推導建構圖。