!153 第五講 函式 講師 : 李根逸 (Ken-Yi Lee),

Size: px
Start display at page:

Download "!153 第五講 函式 講師 : 李根逸 (Ken-Yi Lee),"

Transcription

1 153 第五講 函式 講師 : 李根逸 (Ken-Yi Lee), feis.tw@gmail.com

2 154 課程 大綱 函式宣告 [P.155] 函式呼叫 [P.156] C 標準函式庫 [P.157] 數學函式庫 [P.158] 函式定義 [P.160] 定義數學函式 [P.163] 定義模組化函式 [P.166] 變數可視範圍 [P.167] 在 for 的 小括號內宣告變數 [P.170] 產 生亂數 [P.173] 產 生夠亂的亂數 [P.175] 函式遞迴 [P.176]

3 155 函式宣告 函式的概念來 自於數學 可以把每個函式想成是 一個程式模組, 包含 一段程式 片段, 具有某種設計好的功能 函式宣告 : 輸 入參數 函式 回傳值 回傳值的資料型態函式名稱 ( 參數資料型態 [ 參數名稱 ],...); double sqrt(double x); 一個函式可以接受零到多個參數輸 入, 並回傳 一個值在函式宣告時, 參數名稱不是必要可以省略 : double sqrt(double);

4 156 函式呼叫 函式呼叫語法 : 函式名稱 ([ 引數值 ],...) 範例 : 呼叫函式時, 會將函式需要的引數值算出後再執 行函式 函式執 行完後則會回傳 一個回傳值型態的值 ( 暫時變數 ) sqrt(4.0) double v = 2.0; double s = sqrt(2.0*v); -> double s = sqrt(2.0*2.0); -> double s = sqrt(4.0); -> double s = 2.0; 在程式碼呼叫函式之前需要宣告或定義函式

5 157 C 標準函式庫 C 語 言有內建已經寫好的的函式庫, 例如 sqrt ( 求平 方根 ) 這類的數學函式 : sqrt sqrt(4.0) == 2.0 呼叫 sqrt 需引 用 <math.h> ( 內含 sqrt 宣告 ) 除此之外還有 printf scanf 和 system 這種 非數學函式 : Hello world 11 printf printf( Hello world ) == 11

6 [ 查詢函式 ] Windows: MSDN 網站, Linux 或 Unix-like: man 指令 158 <math.h> 數學函式庫 常 見的數學函式 double sqrt(double x ) double exp(double x) 說明 回傳 x 的平 方根 回傳 e 的 x 次 方 double log(double x) 回傳 x 的 自然對數 ( 底為 e) double fabs(double x) double ceil(double x) double floor(double x) double pow(double x, double y) double fmod(double x, double y) double sin(double x) double cos(double x) double tan(double x) 回傳 x 的絕對值回傳不 小於 x 的最 小整數回傳不太於 x 的最 大整數回傳 x 的 y 次 方回傳 x 除以 y 的浮點餘數回傳 x 的正弦值回傳 x 的餘弦值回傳 x 的正切值

7 159 補充 C 的標準函式庫 <assert.h> 協助偵錯函式 <signal.h> 訊號 (signal) 處理 <ctype.h> 字元處理 <stdarg.h> 使 用不固定個數函式參數 <errno.h> 錯誤處理函式 <stddef.h> 標準定義 <float.h> 浮點數相關定義 <stdio.h> 輸 入輸出 <limits.h> 資料型態屬性 <stdlib.h> 一般函式 <locale.h> 地區相關 <string.h> 字串處理 <math.h> 數學 <time.h> 時間計算 <setjmp.h> 在函式間跳躍

8 160 函式定義 函式定義語法 : 回傳值的資料型態函式名稱 ( 參數資料型態參數名稱,...) { /* 程式碼內容 */ return 回傳值 ; } 同 一函式只能定義 一次, 且不可在函式内定義函式 範例 : max2(int,int) 是 一個會回傳兩整數最 大值的函式 int max2(int x, int y) { if (x >= y) { return x; } else { return y; } main 也是 一個函式, 會在程式 一開始執 行時被呼叫

9 /* 求兩整數最 大值 */ #include <stdio.h> #include <stdlib.h> int max2(int x, int y) { if (x >= y) { return x; } else { return y; } int main() { int a, b; printf(" 請輸 入 一個整數 :"); scanf("%d", &a); printf(" 請輸 入另 一個整數 : "); scanf("%d", &b); } 函式定義 ( 函式的真正內容所在 ) printf(" 其中 比較 大的整數是 %d\n", max2(a, b)); system("pause"); return 0; 將定義放置在呼叫前可以省去宣告的動作 函式呼叫 ( 執 行指定的函式 ) 161

10 /* 求兩整數最 大值 */ #include <stdio.h> #include <stdlib.h> int max2(int, int); int main() { int a, b; printf(" 請輸 入 一個整數 :"); scanf("%d", &a); printf(" 請輸 入另 一個整數 : "); scanf("%d", &b); printf(" 其中 比較 大的整數是 %d\n", max2(a, b)); system("pause"); return 0; } int max2(int x, int y) { if (x >= y) { return x; } } else { return y; 函式定義 ( 函式的真正實作所在 ) 思考 為什麼要分成宣告跟定義? 函式宣告 ( 跟變數 一樣, 在呼叫函式之前我們需要先宣告 ) 函式呼叫 ( 執 行指定的函式 ) 函式呼叫時會先將參數的值算出後再傳 入函式 將定義放置在呼叫前後都可以, 但是在呼叫前 一定要宣告或定義 162

11 163 範例 定義數學函式 試寫 一名為 myabs 的函式, 傳 入 一個整數後回傳該整數的絕對值 範例 myabs.cpp 試寫 一名為 mypow 的函式, 傳 入底數 x 與指數 y 兩個浮點數 (double) 後, 回傳 x 的 y 次 方是多少? 範例 mypow.cpp

12 164 範例 比 大 小 試寫 一函式 max3 讓使 用者輸 入三個數字, 並回傳三個數字中最 大的 提 示 : 可以利 用 max2 來幫你完成 範例 max3.cpp

13 3, 5, 4 傳 入引數 3, max3(3, 5, 4) 回傳值 max2(3, 5) 5 max2 5 max3 main max2(5, 4) 5, 4 5 max2 int max3(int a, int b, int c) { return max2(max2(a, b), c); } 可以利 用呼叫其他函式來完成 一個函式是 C 語 言的重要 手法

14 166 範例 定義模組化函式 修改範例, 將 畫 N 個星星 模組化 這裡我們寫 一個函式 void draw_stars(int len) 來畫 len 個星星 Please enter an integer: 3 * ** *** Please enter an integer: 5 * ** *** **** ***** void 是個特殊的資料型態, 代表虛無的意思, 這裡 用在不需要回傳值的函式 當回傳值型態是 void 時,return 後不接回傳值 範例 triangle.cpp

15 167 變數可視範圍 (scope) 我們可以依照變數宣告在程式碼的位置分為兩種變數 : 全域變數 (global variable) 宣告在函式外 因為容易造成名稱污染, 請避免使 用全域變數 區域變數 (local variable) 宣告在區塊内 ( 成對的左右 大括號 ) 一個變數可以被某段程式碼使 用要同時滿 足兩個條件 : 該變數是全域變數或宣告該變數的區塊包含這段程式碼這段程式碼位於該變數宣告以後變數 生命週期 : 全域變數 : 程式開始時配置記憶體, 程式結束時釋放區域變數 : 宣告時配置記憶體, 離開區塊時釋放

16 #include <stdio.h> #include <stdlib.h> int i = 5; void p(){ /* int i = -1; */ i = i + 1; printf("%d\n", i); return; } int main(){ printf("%d\n", i); int i = 6; i = i + 1; p(); printf("%d\n", i); system("pause"); return 0; } 這程式的執 行結果是? 168

17 #include <stdio.h> #include <stdlib.h> int main(){ int i = 3; printf("%d\n", i); if (i == 3) { i = i + 1; int i = 6; printf("%d\n", i); i = i + 1; if (i == 3) { printf("%d\n", i); system("pause"); return 0; } 這程式的執 行結果是? 169

18 170 在 for 的 小括號内宣告變數 在迴圈前宣告的變數, 在迴圈結束後 一樣可以存取 : int i = 1; while (i <= 10) { printf( %d\n, i); i++; printf( %d\n, i); int i; for (i = 1; i <= 10; i++) { printf( %d\n, i); printf( %d, i); 在 C99 或 C++ 我們可以在 for 小括號的初始式內宣告變數, 此時的變數在迴圈執 行過程中指的是同 一個, 而離開迴圈後該變數就離開可視範圍 : for (int i = 1; i <= 10; i++) { int j = i; printf( %d\n, j); printf( %d\n, i); /* 不合法 */ 這個特性可以讓 for 計數 用的變數不會污染到後 面的程式碼

19 171 補充 靜態修飾字 (static) 除了之前所提的全域變數和區域變數外, 我們在變數前可以加上 static 修飾字 : 加在全域變數前 : 該變數的 生命週期不變該變數的可視範圍由全程式變成該檔案本 身 加在區域變數前 : 該變數的 生命週期與全域變數相同, 於整個程式開始時配置, 結束時釋放該變數從程式開始到結束只會初始化 一次 該變數的可視範圍不變 範例 triangle.cpp

20 172 補充 函式的引數預設值 我們在定義函式的參數時可以給予預設值 : 例如 : int max3(int a, int b, int c = 0) {... } 當呼叫 max3(3, 4) 時, 就會如同呼叫 max3(3, 4, 0) 注意的是, 在有多個參數時, 前 面的參數如果設定有預設值的話, 後 面的參數也 一定要有 : 這個是不合法的 : int max3(int a, int b = 0, int c) {... }

21 173 產 生亂數 C 標準函式庫中包含了 一個能產 生整數亂數的函式 : int rand(): 回傳 一 長整數型態的亂數 [ 宣告於 stdlib.h] 每次呼叫 rand() 函式都會得到隨機的回傳值 #include <stdio.h> #include <stdlib.h> int main() { for (int i = 1; i <= 5; i++) { printf( 產 生的亂數 : %d\n, rand()); system( pause ); return 0; }

22 174 範例 擲骰 子 試寫 一程式讓電腦亂數產 生 十個 一到六之間的數字, 模擬擲骰 子的結果 提 示 : rand() 的回傳值的範圍是 [0, RAND_MAX], 我們可以利 用求餘數 (%) 運算 子來求取某固定範圍的整數亂數 範例 dice.cpp

23 175 產 生夠亂的亂數 電腦產 生亂數是利 用內定的 一個亂數表, 因此我們必須利 用 <stdlib.h> 內的 srand 函式適當的選取第 一個開始的亂數種, 否則亂數出現的順序將是固定可預測的 可以 用 srand(time(0)) 指令初始化亂數表 void srand(unsigned int seed): 用 seed 初始化亂數表 time_t time(time_t *): 回傳 目前時間 [ 宣告於 time.h] int main(){ srand(time(0)); printf( A random number: %d\n, rand()); system( pause ); return 0; }

24 176 函式遞迴 遞迴是函式應 用上最迷 人 而容易困惑的 一種觀念 函式遞迴指的是在函式定義内 又呼叫同名函式 : 在 test 函式定義內 又呼叫 test, 試想這樣會產 生怎樣的結果? void test() { test(); return; int main() { test(); return 0;

25 test() test() test() test() 177 test test test main 注意這裡每個 test 都是分別存在的 1: void test() { 2: test(); 3: return; 4: 5: 6: int main() { 7: test(); 8: return 0; 9:

26 178 範例 數數字 [1] 試想 一下下列程式碼會產 生怎樣的結果? #include <stdio.h> #include <stdlib.h> void countdown(int count) { printf("%d\n", count); if (count = 0) { countdown(count-1); return; } int main() { countdown(2); system("pause"); return 0; } 範例 countdown_1.cpp

27 179 2 countdown(2) countdown(1) 1 countdown(0) 0 main countdown countdown countdown

28 int main() { countdown(2); return 0; void countdown(int count=2) { printf("%d\n", count); if (count = 0) { countdown(count-1); return; } void countdown(int count=1) { printf("%d\n", count); if (count = 0) { countdown(count-1); return; } void countdown(int count=0) { printf("%d\n", count); if (count = 0) { countdown(count-1); return; } 180 輸出 : 2 1 0

29 181 範例 數數字 [2] 試想 一下下列程式碼會產 生怎樣的結果? #include <stdio.h> #include <stdlib.h> void countdown(int count) { if (count = 0) { countdown(count-1); printf("%d\n", count); return; } int main() { countdown(2); system("pause"); return 0; } 範例 countdown_2.cpp

30 int main() { countdown(2); return 0; void countdown(int count=2) { if (count = 0) { countdown(count-1); printf("%d\n", count); return; } void countdown(int count=1) { if (count = 0) { countdown(count-1); printf("%d\n", count); return; } void countdown(int count=0) { if (count = 0) { countdown(count-1); printf("%d\n", count); return; } 182 輸出 : 0 1 2

31 183 範例 求數字和 試寫 一 sum 的函式去計算 N 的值 sum(n) == N + sum(n-1) 且 sum(1) == 1 int sum(int N) { if (N == 1) { return 1; } else { return N + sum(n-1); 可以 用迴圈 (while 或 for) 來寫嗎? 範例 sum.cpp

32 184 補充 C++ 的函式重載 在 C 語 言裡 面, 同樣名字的函式, 只能有 一個 在 C++ 語 言裡 面, 同樣名字的函式, 只要參數個數或型別不同就可以有很多個, 稱為函式重載 (function overloading) void print(int v) { printf( %d\n, v); void print(double v) { printf( %f\n, v); print(3); // 呼叫 print(int) print(3.0); // 呼叫 print(double)

33 185 習題 [1] [E0501] 試寫 一函式 max4 讓使 用者輸 入四個整數, 並回傳四個數字中最 大的 請試著寫出上 面兩例在執 行時呼叫函式的歷程? [E0502] 試寫 一個 round 函式, 傳回輸 入參數四捨五 入 至整數位後的值 int round(float num) {... } 數學函式庫 (math.h) 中有 一 floor 函式可以將輸 入參數無條件捨去 [E0503] 試寫 一個程式讓電腦擲 6000 次骰 子, 並統計 一到六各個數字分別出現了幾次

34 186 習題 [2] [E0504] 試寫 一程式, 產 生 一 0 至 9 之間整數亂數, 讓使 用者猜測該數字為何, 直到使 用者猜對 [E0505] 試寫 一程式, 輸 入 一元 二次 方程式的三個參數 (a, b, c), 求該 一元 二次 方程式的實數解 無實數解時請印出警告訊息 ax 2 +bx+c = 0 <math.h> 内有 sqrt 函式可以 用來平 方根值

35 187 習題 [3] ( 遞迴 ) [E0506] 試 用遞迴函式寫 一程式, 讓使 用者輸 入 一正整數 N 後顯 示 N 的值 N = 1 * 2 * 3 *... * N = (N-1) * N [E0507] Fibonacci 數列 : 0, 1, 1, 2, 3, 5, 8, 13, 規則 : 數列中的前兩個數是 0 和 1 數列中的其他的數是前兩個數字的和 試寫 一遞迴程式去計算第 N 個的 Fibonacci 數是多少

36 188

37 189

38 190

39 191

40 192

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 177 [P179] (1) - [P181] [P182] (2) - for [P183] (3) - switch [P184] [P187] [P189] [P194] 178 [ ]; : : int var; : int var[3]; var 2293620 var[0] var[1] 2293620

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 9 [P.11] : Dev C++ [P.12] : http://c.feis.tw [P.13] [P.14] [P.15] [P.17] [P.23] Dev C++ [P.24] [P.27] [P.34] C / C++ [P.35] 10 C / C++ C C++ C C++ C++ C ( ) C++

More information

C/C++ Programming

C/C++ Programming 265 第九講 結構 講師 : 李根逸 (Ken-Yi Lee), E-mail: feis.tw@gmail.com 266 課程 大綱 結構 (struct) 結構宣告 [P.267] 結構定義 [P.268] 結構變數宣告 [P.269] 結構變數的初始化 [P.272] 存取結構成員 [P.244] 傳送 大型資料型態參數 [P.277] 267 結構宣告 結構是 一種衍 生的 自訂資料型態,

More information

新版 明解C言語入門編

新版 明解C言語入門編 328, 4, 110, 189, 103, 11... 318. 274 6 ; 10 ; 5? 48 & & 228! 61!= 42 ^= 66 _ 82 /= 66 /* 3 / 19 ~ 164 OR 53 OR 164 = 66 ( ) 115 ( ) 31 ^ OR 164 [] 89, 241 [] 324 + + 4, 19, 241 + + 22 ++ 67 ++ 73 += 66

More information

新・明解C言語入門編『索引』

新・明解C言語入門編『索引』 !... 75!=... 48 "... 234 " "... 9, 84, 240 #define... 118, 213 #include... 148 %... 23 %... 23, 24 %%... 23 %d... 4 %f... 29 %ld... 177 %lf... 31 %lu... 177 %o... 196 %p... 262 %s... 242, 244 %u... 177

More information

資料結構之C語言重點複習

資料結構之C語言重點複習 鏈結串列自編教材 ( 一 ) 本教材 ( 一 ) 目標問題 : 每次以亂數產生一 [0,1000] 之整數值, 若該值 >100, 則以同方式繼續產生下一亂數值, 若該值

More information

附錄C.doc

附錄C.doc C C C-1 C -2 C -3 C -4 C -5 / C -6 2 C/C++ C-1 FILE* fopen(const char* filename, const char* mode) filename NULL FILE* freopen(const

More information

Microsoft PowerPoint - C_Language_flag4e_ch08.ppt [相容模式]

Microsoft PowerPoint - C_Language_flag4e_ch08.ppt [相容模式] 第八章 函數 認識函數與其原型 學習函數的宣告方式與定義 認識區域 全域與靜態變數 學習前置處理器的用法 1 8.1 簡單的函數範例 C 語言的函數 Top-down design 的目的是要達到逐步單純化 將大問題細分成小問題 將解決這些小問題的方法, 撰寫成較小的程式區塊 C 語言的函數 如賦予程式區塊一個名字 並且指定它的輸出與輸入 則此程式區塊就是一個 C 語言的函數 2 8.1 簡單的函數範例

More information

!249 第 八講 進階指標 講師 : 李根逸 (Ken-Yi Lee),

!249 第 八講 進階指標 講師 : 李根逸 (Ken-Yi Lee), 249 第 八講 進階指標 講師 : 李根逸 (Ken-Yi Lee), E-mail: feis.tw@gmail.com 250 課程 大綱 陣列的複製 [P.252] 字串的特殊性 [P.255] const 修飾字 [P.256] 指標陣列 [P.257] 字串陣列 [P.258] 指標與 二維陣列 [P.260] 動態記憶體配置與釋放 C 語 言中動態記憶體的配置 [P.266] C 語

More information

新・解きながら学ぶC言語

新・解きながら学ぶC言語 330!... 67!=... 42 "... 215 " "... 6, 77, 222 #define... 114, 194 #include... 145 %... 21 %... 21 %%... 21 %f... 26 %ld... 162 %lf... 26 %lu... 162 %o... 180 %p... 248 %s... 223, 224 %u... 162 %x... 180

More information

C/C++ - 函数

C/C++ - 函数 C/C++ Table of contents 1. 2. 3. & 4. 5. 1 2 3 # include # define SIZE 50 int main ( void ) { float list [ SIZE ]; readlist (list, SIZE ); sort (list, SIZE ); average (list, SIZE ); bargragh

More information

C/C++语言 - 运算符、表达式和语句

C/C++语言 - 运算符、表达式和语句 C/C++ Table of contents 1. 2. 3. 4. C C++ 5. 6. 7. 1 i // shoe1.c: # include # define ADJUST 7. 64 # define SCALE 0. 325 int main ( void ) { double shoe, foot ; shoe = 9. 0; foot = SCALE * shoe

More information

C/C++语言 - C/C++数据

C/C++语言 - C/C++数据 C/C++ C/C++ Table of contents 1. 2. 3. 4. char 5. 1 C = 5 (F 32). 9 F C 2 1 // fal2cel. c: Convert Fah temperature to Cel temperature 2 # include < stdio.h> 3 int main ( void ) 4 { 5 float fah, cel ;

More information

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00 Excel - - Excel - -4-5 840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00 ( 0 ) 智慧標籤 相關說明提示 -5 -- Excel 4 5 6 7 8 + - * / % ^ = < >= & 9 0 (:) (,) ( ) Chapter - :,

More information

!194 課程 大綱 陣列介紹 [P.195] 陣列的使 用 [1] - 多個同型變數 [P.196] 陣列的初始化 [P.198] 陣列的使 用 [2] - 循序存取 [P.199] 陣列的使 用 [3] - 隨機存取 [P.200] 陣列的複製 [P.203] 在函式間傳送陣列 [P.204]

!194 課程 大綱 陣列介紹 [P.195] 陣列的使 用 [1] - 多個同型變數 [P.196] 陣列的初始化 [P.198] 陣列的使 用 [2] - 循序存取 [P.199] 陣列的使 用 [3] - 隨機存取 [P.200] 陣列的複製 [P.203] 在函式間傳送陣列 [P.204] !193 第六講 陣列與字串 講師 : 李根逸 (Ken-Yi Lee), E-mail: feis.tw@gmail.com !194 課程 大綱 陣列介紹 [P.195] 陣列的使 用 [1] - 多個同型變數 [P.196] 陣列的初始化 [P.198] 陣列的使 用 [2] - 循序存取 [P.199] 陣列的使 用 [3] - 隨機存取 [P.200] 陣列的複製 [P.203] 在函式間傳送陣列

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

Microsoft PowerPoint - C_Structure.ppt

Microsoft PowerPoint - C_Structure.ppt 結構與其他資料型態 Janet Huang 5-1 結構的宣告 struct 結構名稱 struct 結構名稱變數 1, 變數 2,, 變數 m; struct 結構名稱 變數 1, 變數 2,, 變數 m; student; student; 5-2 1 結構變數初值的設定 struct 結構名稱 struct 結構名稱變數 = 初值 1, 初值 2,, 初值 n student="janet","1350901",100,95

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

90 課程 大綱 條件判斷 : if ( 表 示式 ) {... } [P.91] 如果表 示式成 立就... if ( 表 示式 ) {... } else {... } [P.93] 如果表 示式成 立就... 否則就.. C / C++ 的複合指定與遞增遞減運算 子 [P.96] 重複執 行

90 課程 大綱 條件判斷 : if ( 表 示式 ) {... } [P.91] 如果表 示式成 立就... if ( 表 示式 ) {... } else {... } [P.93] 如果表 示式成 立就... 否則就.. C / C++ 的複合指定與遞增遞減運算 子 [P.96] 重複執 行 89 第三講 程式流程控制 ( 上 ) 講師 : 李根逸 (Ken-Yi Lee), E-mail: feis.tw@gmail.com 90 課程 大綱 條件判斷 : if ( 表 示式 ) {... } [P.91] 如果表 示式成 立就... if ( 表 示式 ) {... } else {... } [P.93] 如果表 示式成 立就... 否則就.. C / C++ 的複合指定與遞增遞減運算

More information

Microsoft PowerPoint - 07-overloaded.ppt

Microsoft PowerPoint - 07-overloaded.ppt Overloaded Functions 前言 處理多載函式宣告的規則 處理多載函式呼叫的規則 多載函式與 scope 函式呼叫的議決 前言 C 語言規定 : 函式的名稱不可相同 這樣的規定使得我們必須為功能相近但參數型態相異的函式取不同的名稱, 譬如 : int imax (int, int); double dmax (double, double ); // max function for

More information

C/C++基礎程式設計班

C/C++基礎程式設計班 C/C++ 基礎程式設計 我們必須讓小事也令人難忘 We ve got to make the small things unforgettable. -Steve Jobs 函式 (Function) 講師 : 張傑帆 CSIE NTU 課程大綱 函式概論 變數類型 - 全 / 區域變數 函式中以指標當參數 傳遞陣列參數 把程式拆成多個檔案 函式 (Function) 包函許多程式碼的一行程式 (

More information

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2 Chapter 02 變數與運算式 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.2 2.2.1 2.2.2 2.2.3 type 2.2.4 2.3 2.3.1 print 2.3.2 input 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 + 2.4.6 Python Python 2.1 2.1.1 a p p l e b e a r c 65438790

More information

Microsoft PowerPoint - Class2.pptx

Microsoft PowerPoint - Class2.pptx C++ 程式初探 II 2015 暑期 C++ 程式 II 大綱 1. 變數 2. 運算式 3. 輸出 4. 條件判斷 5. 迴圈 6. 陣列 2 基本變數型態 整數 位元組 浮點數 位元組 字元 位元組 short 2 float 4 char ( 整數 ) 1 int 2 (4) double 8 long 4 (8) long double 8(10) 位元組 整數値域 浮點數値域 準確度 1-128

More information

C/C++ - 字符输入输出和字符确认

C/C++ - 字符输入输出和字符确认 C/C++ Table of contents 1. 2. getchar() putchar() 3. (Buffer) 4. 5. 6. 7. 8. 1 2 3 1 // pseudo code 2 read a character 3 while there is more input 4 increment character count 5 if a line has been read,

More information

C C

C C C C 2017 3 8 1. 2. 3. 4. char 5. 2/101 C 1. 3/101 C C = 5 (F 32). 9 F C 4/101 C 1 // fal2cel.c: Convert Fah temperature to Cel temperature 2 #include 3 int main(void) 4 { 5 float fah, cel; 6 printf("please

More information

Microsoft Word - ACL chapter02-5ed.docx

Microsoft Word - ACL chapter02-5ed.docx 第 2 章神奇的質數 2.1.1 什麼是質數 1 1 1 打下好基礎 - 程式設計必修的數學思維與邏輯訓練 1 1 0 10 2 3 5 7 4 6 8 9 10 4 10000 1229 1000 168 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131

More information

C/C++ 语言 - 循环

C/C++ 语言 - 循环 C/C++ Table of contents 7. 1. 2. while 3. 4. 5. for 6. 8. (do while) 9. 10. (nested loop) 11. 12. 13. 1 // summing.c: # include int main ( void ) { long num ; long sum = 0L; int status ; printf

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc 2 5 8 11 0 13 1. 13 2. 15 3. 18 1 23 1. 23 2. 26 3. 28 2 36 1. 36 2. 39 3. 42 4. 44 5. 49 6. 51 3 57 1. 57 2. 60 3. 64 4. 66 5. 70 6. 75 7. 83 8. 85 9. 88 10. 98 11. 103 12. 108 13. 112 4 115 1. 115 2.

More information

C/C++程序设计 - 字符串与格式化输入/输出

C/C++程序设计 - 字符串与格式化输入/输出 C/C++ / Table of contents 1. 2. 3. 4. 1 i # include # include // density of human body : 1. 04 e3 kg / m ^3 # define DENSITY 1. 04 e3 int main ( void ) { float weight, volume ; int

More information

C/C++ - 文件IO

C/C++ - 文件IO C/C++ IO Table of contents 1. 2. 3. 4. 1 C ASCII ASCII ASCII 2 10000 00100111 00010000 31H, 30H, 30H, 30H, 30H 1, 0, 0, 0, 0 ASCII 3 4 5 UNIX ANSI C 5 FILE FILE 6 stdio.h typedef struct { int level ;

More information

C

C C 2017 4 1 1. 2. while 3. 4. 5. for 6. 2/161 C 7. 8. (do while) 9. 10. (nested loop) 11. 12. 3/161 C 1. I 1 // summing.c: 2 #include 3 int main(void) 4 { 5 long num; 6 long sum = 0L; 7 int status;

More information

CHAPTER VC#

CHAPTER VC# 1. 2. 3. 4. CHAPTER 2-1 2-2 2-3 2-4 VC# 2-5 2-6 2-7 2-8 Visual C# 2008 2-1 Visual C# 0~100 (-32768~+32767) 2 4 VC# (Overflow) 2-1 2-2 2-1 2-1.1 2-1 1 10 10!(1 10) 2-3 Visual C# 2008 10! 32767 short( )

More information

C++

C++ 第五講 泛型程式設計 講師 : 李根逸 (Ken-Yi Lee), E-mail: feis.tw@gmail.com 130 課程 大綱 模版 (template) 簡介實作多個相似內容的函式函式模版類別模版 自製陣列模版 static 的 用法修飾全域變數或 一般函式修飾區域變數修飾類別成員 C++ STL 的陣列模版 (std::vector) 131 實作多個相似內容的函式 [1] 寫 C/C++

More information

nooog

nooog C : : : , C C,,, C, C,, C ( ), ( ) C,,, ;,, ; C,,, ;, ;, ;, ;,,,, ;,,, ; : 1 9, 2 3, 4, 5, 6 10 11, 7 8, 12 13,,,,, 2008 1 1 (1 ) 1.1 (1 ) 1.1.1 ( ) 1.1.2 ( ) 1.1.3 ( ) 1.1.4 ( ) 1.1.5 ( ) 1.2 ( ) 1.2.1

More information

Microsoft PowerPoint - 08_陣列與函式.pptx

Microsoft PowerPoint - 08_陣列與函式.pptx 1 2 Outline 二維與多維陣列 Lecture 08 多維陣列函式 標準函式庫 函式簡介 一維陣列 二維陣列與多維陣列 陣列為多個同一型態變數之組合 int a[10]; 可存放 10 個整數資料的陣列, 可視為 10 個變數排成一個隊伍, 並給每一個變數一個編號, 自 0 號開始 至 9 號為止 a[0], a[1], a[2], a[],, a[9] 5 6 二維陣列的宣告 陣列為多個同一型態變數之組合

More information

untitled

untitled 1 1.1 1.2 1.3 1.4 1.5 ++ 1.6 ++ 2 BNF 3 4 5 6 7 8 1.2 9 1.2 IF ELSE 10 1.2 11 1.2 12 1.3 Ada, Modula-2 Simula Smalltalk-80 C++, Objected Pascal(Delphi), Java, C#, VB.NET C++: C OOPL Java: C++ OOPL C# C++

More information

Microsoft Word C-A卷.docx

Microsoft Word C-A卷.docx 100 學年度資訊學院程式設計會考 (C) 101/05/5 題組 :A 選擇題及填充題, 請在答案卡上作答, 實作題請填寫於答案卷上, 並於實作題上方填寫班級 姓名 學號 一 選擇題題目 1. unsigned char 的最大值 (a) 127 (b) 255 (c) 512 (d) 1023 2. 下列何者為正確的變數名稱? (a) Android (b) C++ (c) I Phone (d)

More information

Object-Oriented Programming, Mid-term Test, 11/21/2000

Object-Oriented Programming, Mid-term Test, 11/21/2000 通識計算機程式設計期中考試題參考解答, 4/17/2009 1. 撰寫一或數個 C# 敘述達成下列要求 : ( 假設 using System; 敘述已經包含於程式中 ) (a) 宣告 int 變數 x, bool 變數 b, double 常數 F = 7.0. (3%) int x; bool b; const double F = 7.0; (b) 在螢幕顯示一行字, 要求使用者輸入一個整數.

More information

C/C++语言 - 分支结构

C/C++语言 - 分支结构 C/C++ Table of contents 1. if 2. if else 3. 4. 5. 6. continue break 7. switch 1 if if i // colddays.c: # include int main ( void ) { const int FREEZING = 0; float temperature ; int cold_ days

More information

C

C C 2017 3 14 1. 2. 3. 4. 2/95 C 1. 3/95 C I 1 // talkback.c: 2 #include 3 #include 4 #define DENSITY 62.4 5 int main(void) 6 { 7 float weight, volume; 8 int size; 9 unsigned long letters;

More information

C 1 # include <stdio.h> 2 int main ( void ) { 4 int cases, i; 5 long long a, b; 6 scanf ("%d", & cases ); 7 for (i = 0;i < cases ;i ++) 8 { 9

C 1 # include <stdio.h> 2 int main ( void ) { 4 int cases, i; 5 long long a, b; 6 scanf (%d, & cases ); 7 for (i = 0;i < cases ;i ++) 8 { 9 201 201 21 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp Compilation Error long long cin scanf Time Limit Exceeded 1: A 1 B 1 C 5 D RPG 10 E 10 F 1 G II 1 1 201 201 C 1 # include 2 int main ( void

More information

Microsoft PowerPoint - C-Ch08.ppt

Microsoft PowerPoint - C-Ch08.ppt 函數 8-1 函數 函數 (function) 可以整合某些特定的處理 整合好的處理可以隨時呼叫使用 C 語言的程式本身也是一個函數, 也就是 main() 函數 使用函數可簡化程式 提款的處理 1. 將提款卡插入自動提款機當中 2. 輸入個人密碼 3. 指定提款金額 4. 領取款項 5. 確認款項與提款卡 提款處理 8-2 函數的定義與呼叫 定義函數的語法 : 傳回值的型態函數名稱 ( 引數列表

More information

碩命題橫式

碩命題橫式 一 解釋名詞 :(50%) 1. Two s complement of an integer in binary 2. Arithmetic right shift of a signed integer 3. Pipelining in instruction execution 4. Highest and lowest layers in the TCP/IP protocol suite

More information

投影片 1

投影片 1 資料庫管理程式 ( 補充教材 -Part2) 使用 ADO.NET 連結資料庫 ( 自行撰寫程式碼 以實現新增 刪除 修改等功能 ) Private Sub InsertButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InsertButton.Click ' 宣告相關的 Connection

More information

C/C++ - 字符串与字符串函数

C/C++ - 字符串与字符串函数 C/C++ Table of contents 1. 2. 3. 4. 1 char C 2 char greeting [50] = " How " " are " " you?"; char greeting [50] = " How are you?"; 3 printf ("\" Ready, go!\" exclaimed John."); " Ready, go!" exclaimed

More information

C 語言—陣列及字串

C 語言—陣列及字串 10/16 系程主講人 : 荊輔翔 概論 陣列 陣列是一個具有索引 (index) 性質的連續資料儲存空間集合 陣列中每一個資料儲存空間稱之為陣列元素 (array element); 它們都具有相同的資料名稱 資料型態 及空間大小 ; 但存取它們時則須藉由索引 ( 或稱註標 ) 來區別辨識 索引代表資料在陣列中的相對位址 ( 其計數由 0 開始, 其餘累加類推 ), 且須由中括號 [ ] 涵蓋之

More information

untitled

untitled Introduction to Programming ( 數 ) Lecture 3 Spring 2005 March 4, 2005 Lecture 2 Outline 數 料 If if 狀 if 2 (Standard Output, stdout): 料. ((Standard Input, stdin): 料. 類 數 數 數 說 printf 見 數 puts 串 數 putchar

More information

運算子多載 Operator Overloading

運算子多載 Operator Overloading 多型 Polymorphism 講師 : 洪安 1 多型 編譯時期多型 ( 靜態多型 ) function overloading 如何正確呼叫同名的函數? 利用參數個數與型態 operator overloading 其實同 function overloading 執行時期多型 ( 或動態多型 ) 如何正確呼叫不同物件的相同名稱的成員函數 利用繼承與多型 2 子類別與父類別物件間的指定 (assignment)

More information

93年各縣國中教師甄試最新考情.doc

93年各縣國中教師甄試最新考情.doc 93 7/8()~7/13() 7/11()~7/13() 7/17() 7/18() 7/18() 7/19() 7/21() 40% 20%( ( )) 20%( ) 1 35% 25% ( ) 70% 10%( ) 60% 1 20% 10% ( ) 6/1()~6/11() 6/12()~6/14() 6/19() 6/21() 6/26() 6/26()22:00 7/3() 40%( )

More information

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp 01 1.6 Spyder Anaconda Spyder Python Spyder Python Spyder Spyder 1.6.1 Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Spyder Python File

More information

Microsoft PowerPoint - 02_運算.pptx

Microsoft PowerPoint - 02_運算.pptx 回顧 第一個程式 基本架構 五行必寫的公式 註解的寫法 cout

More information

Chapter 6 基本的使用者定義函式

Chapter 6  基本的使用者定義函式 基本的使用者定義函式 范洪源 范洪源 函式介紹 的變數傳遞方式 按值傳遞選擇性引數使用共用記憶體分享資料函式呼叫間的資料保存 內建函式 排序與亂數涵式 范洪源 函式介紹 范洪源 檔案的類型 儲存 程式碼的檔案稱為 檔案 副檔名是, 包含 程序檔案或稱底稿檔案 ( ) 它是由一系列宣告式所組成的檔案 執行結果如同把所有的指令直接鍵入指令視窗一樣 任何由程序檔所產生的變數, 都會繼續存留在工作區內而互相影響

More information

第 15 章遞迴呼叫 本章學習目標 說明遞迴函式呼叫概念 透過範例介紹遞迴函式呼叫與應用 本章重點概述 本章主要介紹如何使用遞迴函式呼叫進行計算 1

第 15 章遞迴呼叫 本章學習目標 說明遞迴函式呼叫概念 透過範例介紹遞迴函式呼叫與應用 本章重點概述 本章主要介紹如何使用遞迴函式呼叫進行計算 1 第 15 章遞迴呼叫 本章學習目標 說明遞迴函式呼叫概念 透過範例介紹遞迴函式呼叫與應用 本章重點概述 本章主要介紹如何使用遞迴函式呼叫進行計算 1 15.1 何謂遞迴函式 遞迴就是函數自己呼叫自己 如果一個問題的解決可以拆成多個相同的小問題, 這 樣的問題就很適合使用 以 階層數 計算的問題為例, 若階層數的函式為 fac(n) = n (n-1) (n-2) 1, 如果不使用遞迴呼叫時我們可以把式子寫成下列形式,

More information

C 1

C 1 C homepage: xpzhangme 2018 5 30 C 1 C min(x, y) double C // min c # include # include double min ( double x, double y); int main ( int argc, char * argv []) { double x, y; if( argc!=

More information

Microsoft PowerPoint - Class4.pptx

Microsoft PowerPoint - Class4.pptx C++ 程式初探 IV 2015 暑期 ver. 1.0.2 C++ 程式 IV 大綱 1. 時間函式 2. 格式化輸出 3. 遞迴函式 (recursion) 4. 字串 5. 字串轉型 2 補充語法 時間計算 引入標頭檔 #include #include #include #include using namespace

More information

105A 資管一程式設計實驗 06 函式定義謝明哲老師 2 程式設計實驗 6.3: 自行定義一個可以接受兩個整數並傳回其最大公因數的函式, 接著利用該函式自 行定義一個可以接受兩個整數並傳回其最小公倍數函式 // gcd_fcn.cpp int gcd(int m,

105A 資管一程式設計實驗 06 函式定義謝明哲老師 2 程式設計實驗 6.3: 自行定義一個可以接受兩個整數並傳回其最大公因數的函式, 接著利用該函式自 行定義一個可以接受兩個整數並傳回其最小公倍數函式 // gcd_fcn.cpp int gcd(int m, 105A 資管一程式設計實驗 06 函式定義謝明哲老師 hmz@nttu.edu.tw 1 程式設計實驗 06 函式定義 模擬問題 03 在模擬問題 02, 小組已完成擬定一個與學習或日常生活有關的問題, 並依據在 Ch5 所 學到的流程控制與檔案存取技術發展小組的第二版個別化資訊服務程式 現在請小組對第二版程式的 結構進行分析, 檢查是否有哪些功能可以使用在 Ch6 所學到的函式定義來加以模組化,

More information

プログラムの設計と実現II

プログラムの設計と実現II UNIX C ls mkdir man http://www.tj.chiba-u.jp/lecture/prog2/ Ctrl+x, Ctrl+s ( )..[4]% gcc Wall o hoge hoge.c..[5]%./hoge 1 : 1 2 : 2 3 : 3 4 : 0 6..[6]% (! )..[4]% gcc Wall o hoge hoge.c..[5]%!g gcc Wall

More information

extend

extend (object oriented) Encapsulation Inheritance Polymorphism Dynamic Binding (base class) (derived class) 1 class Base { int I; void X(); void Y(); class Derived: public Base { private: int j; void z(); Derived

More information

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf ("%d", & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf ("%d %d

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf (%d, & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf (%d %d 2013 18 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp, Compilation Error cin scanf Time Limit Exceeded 1: A 5 B 5 C 5 D 5 E 5 F 5 1 2013 C 1 # include 2 int main ( void ) 3 { 4 int cases, a, b,

More information

第1章

第1章 第 8 章 函式 1 本章提要 8.1 前言 8.2 如何定義函式 8.3 函式的呼叫和返回 8.4 傳遞陣列 8.5 方法多載 8.6 遞迴 8.7 綜合練習 8.8 後記 2 8.1 前言 每一種高階程式語言都有提供函式 (Function)( 或稱函數 ) 的功能, 以便將經常使用到的程式功能包裝成函式的形式, 如此一來便能反覆地呼叫該函式來完成某件特定工作在高階程式語言中, 副程式 (Subroutine)

More information

!49 第 二講 資料型態 運算子與表示式 講師 : 李根逸 (Ken-Yi Lee),

!49 第 二講 資料型態 運算子與表示式 講師 : 李根逸 (Ken-Yi Lee), !49 第 二講 資料型態 運算子與表示式 講師 : 李根逸 (Ken-Yi Lee), E-mail: feis.tw@gmail.com !50 課程 大綱 資料型態 [P.51] C/C++ 內建的常 見資料型態 [P.52] 使 用 sizeof 看 大 小 [P.53] 變數宣告 [P.54] 不同資料型態間的差異 [P.55] 整數 (short int, int, long int)

More information

C++ 程式設計

C++ 程式設計 C C 料, 數, - 列 串 理 列 main 數串列 什 pointer) 數, 數, 數 數 省 不 不, 數 (1) 數, 不 數 * 料 * 數 int *int_ptr; char *ch_ptr; float *float_ptr; double *double_ptr; 數 (2) int i=3; int *ptr; ptr=&i; 1000 1012 ptr 數, 數 1004

More information

運算子多載 Operator Overloading

運算子多載 Operator Overloading 多載 Overloading 講師 : 洪安 1 多型 編譯時期多型 ( 靜態多型 ) function overloading 函數多載 如何正確呼叫同名的函數? 利用參數個數與型態 operator overloading 運算子多載 其實同 function overloading 執行時期多型 ( 或動態多型 ) 如何正確呼叫不同物件的相同名稱的成員函數 利用繼承與多型 2 函數多載 Function

More information

PowerPoint 簡報

PowerPoint 簡報 Function and Data Structure 張傑帆 Chang, Jie-Fan 函數定義 函數傳遞參數與回傳值 區域變數與全域變數 包函許多程式碼的一行程式 ( 用來代表某種功能 ) 當程式碼太多且會重覆出現時, 可以將部份程式碼抽離主程式, 寫成一段函式, 有需要用到時再去呼叫它 函數是經過組織且可重複使用的程式碼, 是能用來實現單一或是相關聯的程式碼 巧妙的運用函數可以提高程式碼的重複利用率,

More information

2 課程 大綱 (1) 章主相關保留字 運算 子或符號 第 一章 C / C++ 基礎班課程簡介 第 二章 資料型態 運算 子與表 示式 int, char, float, double +, -, *, /, % = <, >, ==, =, <=, >= &&,, &,, ^, ~, <<, >

2 課程 大綱 (1) 章主相關保留字 運算 子或符號 第 一章 C / C++ 基礎班課程簡介 第 二章 資料型態 運算 子與表 示式 int, char, float, double +, -, *, /, % = <, >, ==, =, <=, >= &&,, &,, ^, ~, <<, > 1 C / C++ 程式設計基礎班 講師 : 李根逸 (Ken-Yi Lee), E-mail: feis.tw@gmail.com 2 課程 大綱 (1) 章主相關保留字 運算 子或符號 第 一章 C / C++ 基礎班課程簡介 第 二章 資料型態 運算 子與表 示式 int, char, float, double +, -, *, /, % = , ==, =, = &&,,

More information

Microsoft Word - ACG chapter00c-3ed.docx

Microsoft Word - ACG chapter00c-3ed.docx Python 好好玩, 趣學電玩遊戲程式設計 Python Python BASIC Java JavaScript PHP C++ BASIC Python Python Python Xbox PlayStation Nintendo - 2 - 簡介 : 互動式 Python Shell : 編寫程式 Python File editor : 猜數字 : 腦筋急轉彎 : 龍域 ( ) : 使用

More information

國立北斗家商 107 學年度第 2 學期第二次期中考科目 : 計算機應用 計算機概論 IV 班級 : 商二 1 2 貿二 資二 綜二 1 作答方式 : 答案卡 選擇題共 33 題, 除第 1 題 4 分, 其餘每題 3 分, 注意作答時間 1. ( ) 使用 Visual Basic 程式語言 (

國立北斗家商 107 學年度第 2 學期第二次期中考科目 : 計算機應用 計算機概論 IV 班級 : 商二 1 2 貿二 資二 綜二 1 作答方式 : 答案卡 選擇題共 33 題, 除第 1 題 4 分, 其餘每題 3 分, 注意作答時間 1. ( ) 使用 Visual Basic 程式語言 ( 國立北斗家商 107 學年度第 2 學期第二次期中考科目 : 計算機應用 計算機概論 IV 班級 : 商二 1 2 貿二 資二 綜二 1 作答方式 : 答案卡 選擇題共 33 題, 除第 1 題 4 分, 其餘每題 3 分, 注意作答時間 1. ( ) 使用 Visual Basic 程式語言 ( 以下皆是 ) 執行下列程式碼後,T 值為何? (A)495 (B)550 (C)594 (D)5050

More information

untitled

untitled 1-1 1-2 1-3 1-4 1-5 1-6 1-7 1-8 1-1-1 C int main(void){ int x,y,z; int sum=0; double avg=0.0; scanf("%d",&x) ; scanf("%d",&y) ; scanf("%d",&z) ; sum=x+y+z ; avg=sum/3.0; printf("%f\n",avg); system("pause");

More information

運算子多載 Operator Overloading

運算子多載 Operator Overloading 函數樣板 (Function Template) 與 類別樣板 (Class Template) 講師 : 洪安 1 資料結構與 C++ 程式設計進階班 為何需要通用函數? (1/2) int abs(int x) { return (x>0)?x:-x; 取名困難不好記 float fabs(float x) { return (x>0)?x:-x; complex cabs(complex x)

More information

untitled

untitled 串 串 例 : char ch= a ; char str[]= Hello ; 串 列 ch=getchar(); scanf( %c,&ch); 串 gets(str) scanf( %s,str); 8-1 數 ASCII 例 : char ch= A ; printf( %d,ch); // 65 A ascii =0x41 printf( %c,ch); // A 例 : char ch;

More information

Microsoft Word - 文件1

Microsoft Word - 文件1 利用座標變換法 數學理論 在上一節曾經提到, 當一個隨機變數的累積分布函數的反函數非常難求, 甚至求不出來時, 我們無法使用逆變換法來產生此分布的隨機變數 而標準常態隨機變數的累積分布函數的反函數就很難求, 它的累積分布函數如下 : F a ( a d π e 現在介紹座標變換法 假定 Y 為兩獨立標準常態隨機變數, 它們的聯合機率分佈函數為 :, Y π (, e + y 現在考慮隨機變數 D Y

More information

Microsoft Word - 投影片ch12

Microsoft Word - 投影片ch12 Java2 JDK5.0 教學手冊第三版洪維恩編著博碩文化出版書號 pg20210 本章學習目標 學習如何分割檔案 第十二章大型程式的發展與常用的類別庫 認識類別庫, 以及如何取用在不同類別庫裡的類別 建構 package 的階層關係 學習 Java 裡常用的類別庫 大型程式的發展與常用的類別庫 12-2 12.1 檔案的分割 分割檔案的實作 : 1. 依序建立兩個類別檔案, 並置於同一個資料夾內

More information

C Functions

C Functions 大部分用來解決真實世界問題的電腦程式, 都要比我們在前幾章中所介紹的程式大很多 經驗告訴我們, 發展和維護大型程式的最好方法, 便是以一些較小的單元或模組 (module) 來建構整個程式, 這些小單元要比整個大程式好管理多了 這種技巧稱為各個擊破 (divide and conquer) 本章將介紹關於 C 在設計 實作 操作 和維護大型程式方面的功能 C 裡面的模組稱為函式 (function)

More information

投稿類別:資訊類

投稿類別:資訊類 投稿類別 : 資訊類 篇名 : 從 VB.Net 學 C# 作者 : 陳諭瑩 高雄市立高雄高級工業職業學校 資訊科高三乙班王子喬 高雄市立高雄高級工業職業學校 資訊科高三乙班李宗恩 高雄市立高雄高級工業職業學校 資訊科高三乙班 指導老師 : 莊利吉老師 壹 前言 一 研究動機 在高職裡 VB.Net 是課程標準, 但由於現在職場上大部分都是使用 C#, 所以我們用 VB.Net 的基礎學 C#, 再利用高職所學到的

More information

Microsoft PowerPoint - STU_C_Lang_CH06.ppt

Microsoft PowerPoint - STU_C_Lang_CH06.ppt 第 6 章庫存函式 程式設計與生活 - 使用 C 語言 Shi-Huang Chen Spring 2013 1 第 6 章 庫存函式 6-1 常用庫存函式 6-2 數學運算函式 6-3 字元轉換及字元分類函式 6-4 時間與日期函式 6-5 聲音函式 6-6 停滯函式 2 函式 凡是具有特定功能的程式稱之為函式 (function) 當某種特定的功能需要常常被使用時, 我們必須將此特定功能撰寫成一函式,

More information

p-2

p-2 B 卷 選擇題 共 50 題 ( 共 100 分 ) 1. 執行下列 Visual Basic 程式片段後, 共輸出幾筆資 料? x = 0: y = 1 Print y x = x + y Print x y = y + 1 If x >= 10 Then Exit Loop While y

More information

Microsoft PowerPoint - STU_C_Lang_CH13.ppt

Microsoft PowerPoint - STU_C_Lang_CH13.ppt 第 13 章 動態配置記憶體 程式設計與生活 - 使用 C 語言 Shi-Huang Chen Spring 2013 第 13 章 動態配置記憶體 13-1 記憶體配置函式 malloc( ) 13-2 動態配置結構陣列 配置記憶體 預估需求數量的範圍是一項不容易的學問 例 : 大到預估今年國家預算, 小到預估櫥窗裡展示的毛線衣, 需要多少磅毛線才能織成 撰寫程式時, 一樣無法預估程式執行所需的記憶體空間

More information

C/C++ - 结构体、共用体、枚举体

C/C++ - 结构体、共用体、枚举体 C/C++ Table of contents 1. 2. 3. 4. 5. 6. 7. 8. 1 C C (struct) C 2 C C (struct) C 2 i // book.c: # include < stdio.h> # define MAX_ TITLE 41 # define MAX_ AUTHOR 31 struct book { char title [ MAX_ TITLE

More information

<4D F736F F D DA5BFA6A1C476C1C92DBEC7ACECB8D5A8F728B57BB35D292E646F63>

<4D F736F F D DA5BFA6A1C476C1C92DBEC7ACECB8D5A8F728B57BB35D292E646F63> 全國高級中等學校 106 學年度商業類科學生技藝競賽 程式設計 職種 學科 試卷 選手證號碼 ( 崗位編號 ): 姓名 : 注意事項 : 請將答案劃記於答案卡, 未依規定劃記者不予計分 試題說明 :( 選擇題共 25 題每題 4 分, 答錯不倒扣, 共 100 分 ) ( )1. 執行以下 Visual Basic 程式片段, 其結果為何?(A) 15 (B) 12 (C) 7 (D) 3 Dim

More information

3. 給 定 一 整 數 陣 列 a[0] a[1] a[99] 且 a[k]=3k+1, 以 value=100 呼 叫 以 下 兩 函 式, 假 設 函 式 f1 及 f2 之 while 迴 圈 主 體 分 別 執 行 n1 與 n2 次 (i.e, 計 算 if 敘 述 執 行 次 數, 不

3. 給 定 一 整 數 陣 列 a[0] a[1] a[99] 且 a[k]=3k+1, 以 value=100 呼 叫 以 下 兩 函 式, 假 設 函 式 f1 及 f2 之 while 迴 圈 主 體 分 別 執 行 n1 與 n2 次 (i.e, 計 算 if 敘 述 執 行 次 數, 不 1. 右 側 程 式 正 確 的 輸 出 應 該 如 下 : * *** ***** ******* ********* 在 不 修 改 右 側 程 式 之 第 4 行 及 第 7 行 程 式 碼 的 前 提 下, 最 少 需 修 改 幾 行 程 式 碼 以 得 到 正 確 輸 出? (A) 1 (B) 2 (C) 3 (D) 4 1 int k = 4; 2 int m = 1; 3 for (int

More information

Microsoft Word - C-pgm-ws2010.doc

Microsoft Word - C-pgm-ws2010.doc Information and Communication Technology 資訊與通訊科技 Loops (while/for) C 廻路 姓名 : 班別 : ( ) CS C Programming #1 Functions 函數 : 1 若 n=14, 求以下表示式的值 Expressions 表示式 Value 值 Expressions 表示式 Value 值 A 20 2 * (n /

More information

Microsoft Word - AEL 序-.doc

Microsoft Word - AEL 序-.doc 三版序 隨著電腦硬體技術不斷地進步, 軟體亦隨著日新月異 而指揮電腦運作的程式語言, 由早期的機器語言 組合語言 FORTRAN COBOL BASIC C PHP Java C++ 和 C# 等, 直不斷演進 其中 C 語言是 個 效率且介於 階和低階之語言, 適合開發各種系統或應用程式, 可攜性及執行效率, 因此很受程式設計師的喜愛, 尤其由 C 延伸出來的 C++ 是屬於物件導向程式語言, 很適合用來開發大型應用程式,

More information

第3章.doc

第3章.doc 3 3 3 3.1 3 IT Trend C++ Java SAP Advantech ERPCRM C++ C++ Synopsys C++ NEC C C++PHP C++Java C++Java VIA C++ 3COM C++ SPSS C++ Sybase C++LinuxUNIX Motorola C++ IBM C++Java Oracle Java HP C++ C++ Yahoo

More information

VB.Net

VB.Net VB.NET 視窗程式設計基本語法 : 變數宣告 NTU CSIE 講師 : 張傑帆 VB.NET 基本語法 在學習視窗程式之前我們需要先熟悉一下 Visual Basic 的基本語法, 包括 : 變數 運算子 選擇性結構 重複結構 陣列 程序 及結構化例外處理等語法 這些語法是程式邏輯的基礎, 也是程式和電腦硬體溝通, 並指揮電腦內部運作的橋梁 電腦五大單元 識別字 (Identifier) 程式

More information

Microsoft Word - Chap05.doc

Microsoft Word - Chap05.doc 迴圈敘述 5-1 for 迴圈 5-2 while 迴圈 5-3 do...while 迴圈 5-4 巢狀迴圈 5-5 break 與 continue 5-6 ++ 附加於條件運算式 5-7 迴圈的應用範例 5-8 關鍵字 5-9 問題演練 5-10 程式實作 5-2 迴圈敘述 (loop statement) 的功能就是可以重複執行敘述 迴圈敘述主要有 for while 和 do...while

More information

Microsoft PowerPoint - chap3

Microsoft PowerPoint - chap3 第三章基本輸出與輸入的方法 資訊科技系 林偉川 本章簡介 如何從鍵盤輸入資料以及從螢幕輸出結果, 是寫程式一個很基本的技巧, 因為這也是使用者與電腦交談的重要橋樑 在 C 語言函式庫中有不少輸出 / 入相關函式, 不過較常用到的也只有其中幾個 從螢幕輸出類 : 由鍵盤輸入類 : 2 1 從螢幕輸出類 printf(): 函數名稱取 print 以及 format 兩個字組成 此函式會將我們指定的字串以指定的格式輸出在螢幕上

More information

Java 程式設計初階 第 5 章:基本輸出入 & 流程控制

Java 程式設計初階 第 5 章:基本輸出入 & 流程控制 Java 程式設計 標準輸出入與流程控制 本章大綱 標準輸出入 (Standard I/O) 分支 (Branch) if ~ else switch ~ case 迴圈 (Loop) for while do ~ while 中斷指令 break continue 總整理 標準輸出 定義 : 將資料印到螢幕上 Java 標準輸出指令 System.out.println( 資料 ) 將資料印出後換行

More information

######## First set of commands x <- 0.5; y <- 0 if (x>3) y <- 1 else y <- 2 ######## Second set of commands x <- 0.5; y <- 0 if (x>3) y <- 1 else ###

######## First set of commands x <- 0.5; y <- 0 if (x>3) y <- 1 else y <- 2 ######## Second set of commands x <- 0.5; y <- 0 if (x>3) y <- 1 else ### 流程控制 : if, for, while, repeat Textbook reading: Chapter 7. 條件執行 :if 指令或 if-else 指令. 當條件 A 為 TRUE 時, 執行命令 C 的語法為 if ( A ) C 當條件 A 為 TRUE 時執行命令 C, 否則執行命令 D 的語法為 if ( A ) C else D A simple example. x

More information

(Microsoft Word - wes _\246p\246\363\250\317\245\316LED\277O\305\343\245\334\252\254\272A.doc)

(Microsoft Word - wes _\246p\246\363\250\317\245\316LED\277O\305\343\245\334\252\254\272A.doc) 作者 Amber 版本 1.0.0 日期 2012/04/25 頁數 1/7 如何使用 LED 燈顯示狀態? 適用於 : 平台 作業系統版本 XPAC utility 版本 XP-8000 系列 N/A N/A XP-8000-Atom 系列 WES2009 所有版本 N/A: Not applicable to this platform and OS. 注意! 欲變更系統的任何設定之前, 請先關閉

More information

第二章 簡介類別

第二章  簡介類別 Instructor 曾學文 hwtseng@nchu.edu.tw http://wccclab.cs.nchu.edu.tw/www/index.php/c ourse/2017-03-20-07-38-21/105-105-2-c TA 王昱彬 第一章概觀 C++ 1-2 二種版本的 C++ 1-5 初步檢視類別 1-1 何謂物件導向程式設計 1-8 C++ 的關鍵字 1-2 二種版本的 C++

More information

Microsoft Word - AEL0124-CH05

Microsoft Word - AEL0124-CH05 Chapter 5 迴圈 5-1 迴圈結構之 for 敘述 5-2 迴圈結構之 while 敘述 5-3 迴圈結構之 do while 敘述 5-4 continue 敘述 5-5 break 敘述 5-6 程式練習 5-7 習題 第一次學 C 就上手 若我們要使用 printf( ) 函式來印出 100 次 Hello, 假如一列一列的寫, 將會需要 100 列的 printf( Hello );

More information

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023)

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023) ( CIP) /. :, 2005. 2 ( ) ISBN 7-5624-3339-9.......... TP311. 1 CIP ( 2005) 011794 : : : : * : : 174 ( A ) :400030 : ( 023) 65102378 65105781 : ( 023) 65103686 65105565 : http: / /www. cqup. com. cn : fxk@cqup.

More information

Microsoft PowerPoint - Class5.pptx

Microsoft PowerPoint - Class5.pptx C++ 程式初探 V 2015 暑期 ver. 1.0.1 C++ 程式語言 大綱 1. 大量檔案讀取 & 計算 2. 指標 3. 動態記憶體 & 動態陣列 4. 標準函式庫 (STL) vector, algorithm 5. 結構與類別 2 大量檔案讀取 & 計算 若目前有一個程式將讀取純文字文件 (.txt) 中的整數, 並將該文件中的整數有小到大排序後, 儲存到另外一個新的純文字件中 假設有

More information

C/C++基礎程式設計班

C/C++基礎程式設計班 C/C++ 基礎程式設計 C++: 物件的使用 參考 重載函式 成就別人認為不可能的事 Do what nobody else considered possible. -Steve Jobs 講師 : 張傑帆 CSIE NTU C++ 相較於 C 的特色 向下相容 在 C 語言中, 我們學了許多程式語法, 所有學過的東西, 在 C++ 中都可以使用 高階的程式描述方式 更利於用來開發大型專案, 讓程式設計師在分工時更能快速的開發程式,

More information

!9 第 一講 C/C++ 程式設計基礎課程簡介 講師 : 李根逸 (Ken-Yi Lee),

!9 第 一講 C/C++ 程式設計基礎課程簡介 講師 : 李根逸 (Ken-Yi Lee), !9 第 一講 C/C++ 程式設計基礎課程簡介 講師 : 李根逸 (Ken-Yi Lee), E-mail: feis.tw@gmail.com !10 課程 大綱 課程簡介 [P.11] 課程使 用的軟體 : Dev C++ [P.12] 課程網 頁 : http://g.csie.org/~kez/c 期數 [P.13] 課程講義 [P.14] 參考書籍 : C 程式設計藝術 [P.15] 成績評量

More information

X6-04_How_do_I_write_a_com_port_communicate_program_of_XPAC_tc

X6-04_How_do_I_write_a_com_port_communicate_program_of_XPAC_tc Author WeiKai Version 1.0.0 Date 2013/4/14 Page 1/11 我如何在 XPAC 上建立一個 COM port 通訊程式 Applies to: Platform OS version XPAC utility version XPAC series All versions (WinCE6) All versions XPAC SDK 提供 XPAC 結合

More information

C/C++ Basics

C/C++ Basics 第 十章 檔案輸入與輸出 講師 : 李根逸 (Ken-Yi Lee), E-mail: feis.tw@gmail.com 265 課程 大綱 與作業系統或其他軟體溝通 (API) [P267] 檔案相關函式表 [P268] 開啟與關閉檔案 (fopen, fclose) 讀寫純 文字檔 (fscanf, fprintf) 讀寫 二進位檔 (fread, fwrite) 前置處理器

More information

CH09

CH09 (Preprocessor) (Macro) C++ (#) 9-1 9-2 9-3 9-4 備註 : 可依進度點選小節 9-1 前置處理器 (Preprocessor) 9-1 前置處理器 (Preprocessor) 在上圖中, 為了開發一個大型的應用程式所需的 include 檔案 原始檔案都不一定只有一個 而在連結過程當中所加入的其它目的檔案也可以是 0 到多個, 但它的副檔名不一定只有.obj,

More information

Microsoft PowerPoint - Bronson-v3-ch06.ppt [相容模式]

Microsoft PowerPoint - Bronson-v3-ch06.ppt [相容模式] C++ FOR ENGINEERS AND SCIENTISTS THIRD EDITION Chapter 6 Modularity Using Functions Objectives 2 In this chapter, you will learn about: Function and parameter declarations 函數和參數宣告 Returning a single value

More information