六月 23, 2010

電腦做什麼事
pydoing
is about »

tag cloud

» c function

函數的定義 函數是利用 C 語言寫程式的模組單位, C 程式的執行是以函數為單位的,語言保留函數名稱 main 作為每個 C 程式執行的起始點,因此,所有可執行的 C 程式都需要一個名為 main 的函數。 自行定義函數的目的是將程式的功能切割為不同的模組,需要時再以呼叫的方式使用該函數所提供的功能。以下,我們先來看看該怎麼定義函數。 C 語言中的函數與數學上的意義相同,例如指數函數 y = a x 指數函數需要底數 a 及指數 x ,然後計算出對應的 a 的 x 值,也就是 y 的值。若是用 C 語言寫此一指數函數, a 與 x 為所需定義的參數,而 y 為函數的回傳值。 寫成函數,如下 int exponent(int a, int x) { int result = 1; while (x > 0) { result *=


» c prototype

函數原型的宣告 C 語言的函數定義前可以先做函數原型的宣告,這樣一來,可以讓編譯器檢查函數原型與定義的型態是否相符,同時這樣一來,函數定義可以放在 main() 的後面,或是其他的檔案中。 函數原型的宣告形如 以函數的定義介紹過的指數函數為例 #include <stdio.h> int exponent(int, int); int main(void) { int i; for (i = 0; i <= 10; i++) { printf("%2d%5d\n", i, exponent(2, i)); } return 0; } int exponent(int a, int x) { int result = 1; while (x > 0) {


» c boolean

布林函數 所謂的布林函數是指傳回真假值的函數,由於 C 語言中運算式結果為 0 就表示假,非 0 值就表示真,所以當函數傳回 0 或非 0 值時,就可以當作布林函數來使用。 例如以下的函數 max() 為判斷兩個整數大小的函數 #include <stdio.h> int max(int, int); int main() { int a = 6; int b = 13; if (max(a, b)) { printf("第一個數字比較大\n"); } else { printf("第二個數字比較大\n"); } return 0; } int max(int x, int y) { return x > y; } /* 《程式語言:教學誌》


» c recursion

遞迴函數 C 語言的函數中除了可以呼叫其他函數,也可以呼叫自己,呼叫自己的函數被稱為遞迴函數。 以下將函數的定義介紹的指數函數改成用遞迴來寫 #include <stdio.h> int exponent2(int , int); int main(void) { int i; for (i = 0; i <= 10; i++) { printf("%2d%5d\n", i, exponent2(2, i)); } return 0; } int exponent2(int a, int x) { if (x == 0) { return 1; } else { return a * exponent2(a, x - 1); } } /* 《


» c inline

C 語言的 inline 函數 C 語言有一種特別的 inline 函數,其有如巨集的快速,仍可保留具有回傳值、遞迴呼叫、函數指標的特性。 C 語言函數的主題 函數的定義 函數原型的宣告 布林函數 遞迴函數 inline 函數 參數及回傳值型態 函數指標 回 C 快速導覽 回 C 教材目錄 回首頁


» c returntype

函數的參數及回傳值型態 凡是在 C 語言中可使用的資料型態,包括基本資料型態、指標、陣列及自己定義的結構皆可用為函數的參數或回傳值型態。 若是沒有回傳值的函數,可將該函數宣告為 void ,同樣的,沒有參數的函數,於參數列也需宣告為 void 。例如以下函數印出新行 #include <stdio.h> void newline(void); int main(void) { newline(); newline(); newline(); printf("上面會印出三個新行符號\n"); return 0; } void newline(void) { printf("\n"); } /* 《程式語言:教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:


» c funptr

函數指標 函數雖然並非資料,然而編譯器實際會替函數的程式碼配置記憶體位址,當呼叫函數時,也就是控制權移轉給被呼叫函數的時候,程式執行便會轉移到該記憶體位址的地方。因此,呼叫函數可以直接用指標,這是 C 語言提供的動態機制,有許多不可取代的地方。 如下例為選單驅動程式的簡化版 #include <stdio.h> void fun1(void); void fun2(void); void fun3(void); int main(void) { void (*f[3])(void) = {fun1, fun2, fun3}; int i; for (i = 0; i < 3; i++) { (*f[i])(); } printf("\n上面以函數指標各自呼叫fun1、fun2、fun3...\n");


六月 20, 2010

電腦做什麼事
pydoing
is about »

tag cloud

» c derivedtype

C 語言的衍生資料型態 C 語言亦提供一些的衍生資料型態,包含可囊括多筆資料的同質陣列與異質結構,另外有可處理記憶體位址的指標, C 語言執行的基本單位函數等 指標 陣列 結構 聯合 函數 指標 指標是用來指向儲存指向某個記憶體位址的資料型態,實際上我們須認識電腦管理記憶體好比一個長列,每一列都有以位元編碼的位址,每一位址都可儲存位元編碼的資料,示意圖如下 例如,我們宣告並指派初值 22 給整數變數 a ,編譯器將變數 a 放在 0110 的記憶體位址裡,稍後我們再宣告另一個指向 a 的指標變數 aPtr ,假設編譯器 aPtr 放在 1001 的記憶體位址裡,如下圖所示 因此,指標變數 aPtr 的內容為變數 a 的記憶體位址,如下 宣告 C 語言的指標變數,格式如下 * 為宣告指標所用的運算子,注意這跟乘法運算子一樣,


biggo.com.tw

A Django site.