//p00.c -- a simple sample C program /*** p00.c 爛爛的小程式 只幫忙做了半題, 因只印出2的平方根 ***/ // @CopyLeft by tsaiwn@csie.nctu.edu.tw /// ///先不要管有哪些語法! 照著做就是!! ////// 剛開始主要是要先把工具練熟: 工欲善其事, 必先利其器! /// 輸入與修改: 編輯器(Editor); 例如 notepad, Ultra Editor /// 編譯程式: 編譯器(Compiler); 例如 Turbo C++, GNU gcc/g++ /// 鏈結程式(Linker): 用來生出執行檔(executable image) /// 不過通常是由編譯器在編譯通過後偷偷叫用鏈結程式 /// ..所以一般使用者沒有感受到鏈結程式(Linker)的存在! /// 如果從編輯修改到編譯鏈結都可一起做的稱 IDE 整合發展環境 /// 例如 Turbo C++, 或 Dev-Cpp 也都算 IDE /// 事實上 Dev-Cpp 只是個IDE, 底下是偷用 GNU 的 MINGW32 gcc/g++ /// 本週就是要先把這些別人準備好的工具(Tools)弄熟! #include #include int main( ) { // 大多數 main program 都這樣開頭 printf("Sqrt of 2.0 is %f\n", sqrt(2.0)); //反斜線 n 是換下列 getchar( ); // 讀一個字, 等 User 按下 ENTER 鍵 return 0; // 正式跟系統說 bye bye, 規定要送回 0 表示正常! } // 主程式結束 /// // 從 // 開始之後到該列結束是註解 (C++式註解, 現在的 C 也都認識) ///至於 C 的舊式註解是從 /* 開始, 一直到 */ 才結束, 可以跨很多列! // #include 表示請編譯器(compiler)去某處把檔案 gg.yy 抄入 // 其中 stdio.h 裡面有 printf, scanf, 等與輸入輸出(I/O)有關的宣告 // 再說一次, 只有宣告, 就是說只有 printf 的"樣子"(prototype) // 不要癡心妄想想要去看 printf 函數內容如何寫! 看不到的啦! /// 因為有些事不好做, 或雖好做但很常用, 阿就被設計成函數 (function) /// 再如 sqrt(y) 可以算出 y 的平方根, 它是被宣告在 math.h 內 /// 所以我們要寫 #include //*** printf( ) 是別人預先寫好的程式庫函數(Library function又稱函式) //*** 標準 C 的程式庫中有大約一百多個 function, printf( ) 是其中一個 //*** 到底還有哪些 function (函數, 函式)? // Ans: 要查 C 的 Reference Manual // (看 e3.nctu.edu.tw 討論區內建議) /// /// 以下的 path 命令是告訴電腦該去哪裡找出可執行命令的執行檔案 /******** Running Script D:\test> path C:\TC\BIN;%path% D:\test> path C:\Dev-Cpp\bin;%path% D:\test> gcc p00.c D:\test> a.exe Sqrt of 2.0 is 1.414214 D:\test> tcc p00.c Turbo C++ Version 3.00 Copyright (c) 1992 Borland International p00.c: Turbo Link Version 5.0 Copyright (c) 1992 Borland International Available memory 4106928 D:\test> p00.exe Sqrt of 2.0 is 1.414214 D:\test> ********** 如果要求根號 3 呢? 根號 5 呢? ***************/