PowerPoint Presentation

Size: px
Start display at page:

Download "PowerPoint Presentation"

Transcription

1 語法復習 NTU CSIE 張傑帆

2 整合開發環境 NTU CSIE 張傑帆

3 C++ 開發工具 整合式開發環境 (Integrated Development Environment) 簡稱 IDE 是整合編輯 編譯 測試 除錯 與執行等功能的程式開發軟體 例如 Borland 公司的 C++ Builder IBM 公司的 VisualAge C++ Microsoft 公司的 Visual C++ 等都是整合式的 C++ 程式開發軟體

4 下載 Dev C++ 在 Google 搜尋 Dev C++, 並選擇搜尋所有網頁, 則可找到 BloodShed Software Dec C++ 的官方網站 衍生版本 下載最新版的 Orwell Dev-C 版阿榮免安裝版 Orwell s Engine 官網

5 使用 Dev C++ 5.0

6 編譯與執行 2. 由於這是新專案, 所以 Dev-C++ 會要求選擇儲存 main.cpp 的位置, 預設儲存位置是與專案相同的目錄, 因此按存檔就可以了 3. 編譯完成且程式沒有語法錯誤後, 出現命令提示字元視窗, 並根據 cout 指令輸出字串如下 :

7 使用 Visual C /2012/2013

8 Visual C++ Visual C , 可以上微軟 (Microsoft) 官網下載及安裝 Visual C /2012/2013 Express

9 選擇結構 NTU CSIE 張傑帆

10 選擇結構簡介

11

12 選擇敘述 if-else 敘述 程式中的選擇結構有如口語中的 如果.. 就 否則., 在 C 語言中是使用 if-else 敘述來達成 如語法 若條件成立時 則執行接在 if 後面的敘述區段 1 否則 ( 條件不成立 ) 執行接在 else 後面的敘述區段 2

13

14

15 關係運算子 關係運算子 (Relational Operator) 是用來比較關係運算子左右兩邊的運算式 關係運算子將比較的結果傳回比較的結果為真, 傳回值為 1 比較結果不成立時傳回值為 0( 代表假 ) 在 C 語言中的關係運算子是透過大於 小於或等於運算子組合成下表中的六種狀態

16

17 邏輯運算子 當一個條件中有兩個以上的關係運算式需要一起做判斷時, 就必須使用到邏輯運算子來連接 邏輯運算子是用來判斷兩個以上關係運算式之間的關係, 這在程式設計的流程中是很常用的, 至於邏輯運算式的表示語法如下 : 結果 = 運算式 1 邏輯運算子運算式 2 ; result = ( a==b c>=d )

18

19 實機練習

20

21

22

23 if-else if 敘述 如果判斷資料的條件超過兩個以上, 就可以加上 else if 來做其他條件判斷 在第一個條件使用 if 其他條件都使用 else if 來描述 最後再以 else 來處理都不滿足以上條件 ( 即剩下的可能性 ) 其語法如下 :

24

25 小測驗 - 綜合所得稅試算

26

27 0.21;

28 258300

29 多重條件選擇 -switch 敘述 如果有一個資料, 有兩個以上不同的條件需要做判斷, 依不同條件給予不同的執行結果, 若使用太多的 else if 可讀性不高, 這時候使用 switch 最為適當 其語法如下 :

30

31

32

33

34

35 問題 : 請問 switch 與 else if 有什麼不同?

36 重複結構 NTU CSIE 張傑帆

37 for 迴圈敘述 C 語言提供三種迴圈敘述 :for while do-while 敘述 若迴圈的次數可以預知,for 敘述是最好的選擇 若迴圈次數無法確定, 則可使用 while do-while 敘述來達成

38 for 迴圈 for( i=1; i<=3; i++ )

39

40 前測式迴圈 while 敘述 由於 while 迴圈是將條件運算式置於迴圈的最開頭, 屬於前測式迴圈, 因此若一開始便不滿足條件, 迴圈內的敘述區段連一次都不會執行 其語法如下 :

41 WHILE 迴圈 ( 前測式 ) 範例 : 輸入鍵盤按鍵, 直到輸入 q 後程式結束 #include <stdio.h> #include <conio.h> int main() { char key=0; } while(key!='q') { key=getche(); printf("\n%c\n", key); } return 0;

42 後測式迴圈 do-while 敘述 do-while 迴圈是將條件運算式置於迴圈的最後面, 因此一開始就先執行迴圈內的敘述區段一次, 接著才檢查接在迴圈最後 while 的條件運算式, 當結果不為零 (true) 會再執行迴圈內的敘述區段一次, 一直到結果為零 (false) 才會離開迴圈 要注意的是 while( 條件運算式 ) 後面必須加上一個 ; 號 其語法如下 :

43 DO-WHILE 迴圈 範例 : 輸入鍵盤按鍵, 直到輸入 q 後程式結束 #include <conio.h> int main() { char key; do { key=getche(); printf("\n%c\n", key); }while(key!='q'); } return 0;

44 break 與 continue 敘述 break 與 continue 敘述可在 for while do-while 迴圈內的敘述區段中使用 當執行到 break 敘述時, 會馬上如圖一跳離迴圈繼續執行接在迴圈後面的敘述 執行到 continue 敘述時, 會如圖二忽略接在 continue 後面的敘述區段, 直接返回到迴圈的條件式, 判斷是否繼續執行迴圈 :

45

46 課堂練習 - 猜數字遊戲

47

48

49

50

51 陣列 NTU CSIE 張傑帆

52 陣列簡介 設計程式時, 輸入的資料 中間結果或最後結果都需用變數存放資料多時, 變數命名很重要 不同性質資料, 變數名稱必須不一樣 為方便變數名稱命名,C 對同性質資料提供陣列來存放 將陣列想像是一組經過編號的變數, 一個變數相當於一個車廂號碼的話, 那麼一個陣列就是一列火車, 而每列火車的車廂長度即陣列的大小 ( 長度 ) 欲存取陣列中某個資料內容, 只要知道該變數在陣列中是第幾個元素相當於車廂號碼, 即可取得該變數的內容相當於該車廂內的東西, 寫法是在該陣列名稱後面小括號內填入該變數所對應的數字編號

53 陣列的宣告與初值設定 陣列和一般變數一樣, 必須先經過宣告, 編譯器才能根據所宣告資料的型別和大小來配置合適的記憶體空間 陣列經過宣告後, 便可知道該陣列中到底含有多少個陣列元素, 以及透過所宣告的資料型別知道每個陣列元素佔用的記憶體大小

54 如何宣告陣列 陣列的宣告方式是以資料型別開頭, 其後緊跟著陣列名稱, 在陣列名稱後面加上一對 [ ] 中括號所組成, 中括號內的註標或稱索引值, 代表該陣列的大小 ( 或稱個數 ) 其語法如下 : 資料型別陣列名稱 [ 索引 ] ;

55

56

57 C 語言並未提供字串資料型別, 而是以字元陣列方式來儲存字串 字元和字串間的差異在當字串存入字元陣列會自動在字元陣列的最後面插入一個 \0 當結束字元, 以方便在讀取字元陣列中的字串時, 碰到結束字元, 便結束讀取動作 譬如 : 欲將 "test" 字串置入名稱為 ary 的字元陣列中, 由於字串實際長度為 4, 必須再多出一個位置存放結束字元 所以, 字元陣列 ary 的大小 ( 長度 ) 應設為 5, 其宣告方式如下 : char ary[5];

58 如何設定陣列的初始值

59

60 如何存取陣列的資料 由於陣列內的註標可以是整數常數 整數變數或是運算式結果為整數的資料 連續存取陣列中的陣列元素時, 可透過迴圈來輸入 ( 存 ) 及輸出 ( 取 ) 資料, 其好處是可縮短程式的長度以及提高可讀性

61 字元陣列 // 字元陣列可用 gets()

62 實機練習 - 大樂透開獎

63

64 for( i=0; i<num-1; i++)

65 多維陣列二維陣列的宣告與初始值的設定 二維陣列含有兩個註標 ( 索引 ), 維度為 2 每個索引以 [] 中括號括住, 其語法如下 欲連續存取二維陣列內的資料時, 必須使用雙層的 for 迴圈才能達成 : 資料型別陣列名稱 [ 索引 1, 索引 2] ;.

66

67

68 初始化

69 如何存取二維陣列的資料 下面範例是透過巢狀迴圈來取得 3x4 二維陣列所設定的初值, 並累加各 a[i][j] 陣列元素的總和 下表採逐列 (Row-Majored) 方式取得陣列初值, 因此本例雙層巢狀迴圈的外層迴圈是使用整數變數 i (0~2), 內層迴圈是使用整數變數 j (0~3):

70

71 實機練習 - 矩陣相乘

72 + c i j += a i k b k [j]

73

74 函式 NTU CSIE 張傑帆

75 函式簡介 在撰寫一個大的應用程式時, 常會碰到一些具有某些功能的程式片段在程式中多處重複出現 若不加以處理會導致程式冗長不具結構化且不易維謢, 因此我們將這些小功能的程式片段獨立出來撰寫成函式 (Function), 所以函式就是指具有某種特定功能的一段程式碼 程式中使用函式最主要是用來 精減程式碼 重覆使用 模組化

76

77 內建函式 main() 本身就是一個函式我們稱為主函式或主程式, printf()/scanf() 也是函式, 這些都是系統廠商提供的內建函式 我們以內建函式 pow() 計算某數的某次方為例 :

78 自定函式的定義與呼叫 如何宣告與定義自定函式 若您在設計程式時, 需要使用到一個小功能, 這個功能在內建函式中找不到, 那麼只好在程式中自己定義一個具有此小功能的函式, 我們稱為 使用者自定函式 (User Defined Function) 簡稱 自定函式 由於使用者自定函式是無中生有的, 因此必須在使用前先定義該函式, 此即為該函式的主體 函式主體的位置通常撰寫在 #include 和 main() 主函式的之間, 即 main() 主函式的前面, 也允許放在 main() 主函式的後面, 若使用後者就必須在 main() 主函式前面先宣告函式的原型, 以告知編譯器此自定函式在程式中有定義

79 int func ( int, int ); int func ( int var1, int var2) { int var3 = var1+var2; return var3; } int func ( int var1, int var2) { int var3 = var1+var2; return var3; }

80

81

82 int func ( int var1, int var2) { int var3 = var1+var2; return var3; }

83 函式間傳遞陣列 在設計程式時, 時常碰到需要將整個陣列傳給被呼叫的函式, 在被呼叫函式內整個陣列經過計算處理完畢, 再將整個陣列傳回給原呼叫函式的陣列 其寫法是在原呼叫函式的實引數中, 只需寫上陣列名稱即可, 後面不必加上 [ ] 中括號 在被呼叫函式的虛引數內對應的虛引數必須是一個陣列名稱, 其後面必須加上 [] 中括號, 虛引數內陣列名稱前加上該陣列名稱的資料型別

84

85 當寫到 2 維陣列 ( 或多維陣列 ) 時, 赫然發現事情已經不是如上所想的簡單了, 首先, 這樣的陣列傳遞已經無法通過 compile 了 void timestwo( int arr[][] ); int main() { int arr2[2][4]={ 1,3,5,7,2,4,6,8 };... } 如果這樣寫就可以通過 compile, 但把維度寫死一點都不彈性 1 void timestwo( int arr[][4] ) {}; 所以要換成這樣的寫法較佳 1 void timestwo( int arr[2][4] ) {}; 或這樣 1 void timesthree( int (*arr)[4] ) {};

86 小練習 將上面的矩陣相乘程式, 列印二維陣列及矩陣相乘本體轉換成函式 void Print2dAry(int [][3]); void MatrixMul2dAry(int [][3]);

87 遞迴函式 若函式中有一行敘述再呼叫自已本身的函式, 即稱為 遞迴函式 (Recursive function) 使用遞迴函式執行時, 會不斷的呼叫自己本身之函式, 這樣遞迴函式會形成無窮迴圈, 因此必須在遞迴函式內, 設定條件來結束該函式的執行, 如此當滿足條件時, 才結束呼叫自己本身, 這樣才能離開此函式 遞迴常使用在具有規則性的程式設計, 例如 : 求最大公因數 排列 組合 階乘 費氏數列

88 實機練習 - 遞迴費氏數列

89

90 回家作業數學組合公式求法

91

92 n >= m

93

94 指標的活用 NTU CSIE 張傑帆

95 指標簡介 一般變數要存取該記憶體內的資料, 只要書寫其變數名稱即可, 存取方式資料是屬於直接取值 指標變數要存取該記憶體內的資料, 必須在指標變數名稱前面加上取值運算子 (*), 才能存取所指記憶體位址的內容, 存取資料方式是屬於間接取值

96 在程式中使用指標變數的好處是 : 1. 透過指標的移動可以存取不同記憶體位址的資料, 如字串中的字元或陣列元素等 2. 函式透過指標可以傳回多個資料 3. 透過指標變數可在函式間傳遞字串 整個陣列 4. 指標變數是在程式執行需要時, 才動態配置記憶體給該變數使用, 不必事先定義或宣告 5. 支援動態資料結構, 如鏈結串列 (Linked List) 佇列 (Queue) 二元樹 (Binary Tree).. 等皆可以使用指標變數輕鬆處理

97 如何宣告指標 宣告變數時, 在變數名稱的前面加上 * 取值運算子 (Dereference operator 或 Indirect Operator), 表示該變數可以用來存放所指定資料型別變數的記憶體位址, 此類的變數即稱為指標變數, 其語法如下 : 資料型別 * 指標變數名稱,* 指標變數名稱.. ;

98 指標宣告方式如下 : int *ptr; /* 宣告 ptr 是一個指向整數資料的指標 */ float *ptr; /* 宣告 ptr 是一個指向浮點數資料的指標 */ char *ptr; /* 宣告 ptr 是一個指向字元資料的指標 */ void *ptr; /* 宣告 ptr 是一個指向任何 ( 不拘 ) 資料型別的指標 */

99 指標宣告方式如下 : int *ptr; /* 宣告 ptr 是一個指向整數資料的指標 */ float *ptr; /* 宣告 ptr 是一個指向浮點數資料的指標 */ char *ptr; /* 宣告 ptr 是一個指向字元資料的指標 */ void *ptr; /* 宣告 ptr 是一個指向任何 ( 不拘 ) 資料型別的指標 */

100 如何存取指標變數 存取指標變數必須先熟悉取址運算子 (&) 和取值運算子 (*) 取址運算子是在變數名稱的前面加上 & 符號, 用來取得變數名稱所對應記憶體的起始位址 在指標變數前面加上 * 取值運算子是用來取得指標變數所指到記憶體位址內的資料,* 也可以稱為間接運算子 至於 & 和 * 的使用方式如下 : * 指標變數名稱 & 指標變數名稱

101 1011

102 ~1011

103 1011

104 在宣告和設定指標變數的內容時, 要注意所宣告的資料型別必須與指向變數位址的資料型別相同, 否則程式編譯時會發生錯誤 譬如下面寫法是錯誤的 : int n=10; /* 宣告 n 為整數變數並同時設定初值為 10 */ float *ptr2; /* 宣告 ptr2 是一個指向浮點數資料的指標 */ ptr2=&n; /* 指標 ptr2 所指到資料必須是浮點數與 n 的資料型別不一致 */

105 當您宣告指標變數的同時也可以和一般變數一樣同時設定初值, 其語法如下 : 資料型別 * 指標變數名稱 = & 一般變數名稱 ; 透過上面語法, 我們可以將指標宣告和初值設定由三行敘述改成兩行敘述即可 : *

106 指標變數不管宣告成哪一種資料型別, 其佔用記憶體大小都一樣 譬如 : 您可宣告 ptr1 是一個指向整數資料的指標, 透過 sizeof(ptr1) 便得知該指標變數佔用記憶體是多少個 Bytes

107

108

109 動態記憶體配置 C 語言無法讓使用者動態決定陣列的大小, 往往陣列的大小都必須先宣告其大小在編譯時便被固定, 無法在程式執行過程中更改陣列的大小 我們也不能使用下面敘述來宣告陣列的大小, 否則程式編譯時會發生錯誤 :

110 C 語言提供動態記憶體配置 (Dynamic Memery Allocation) 方式來解決 透過此種方式可以讓使用者在程式執行過程中自行決定隨時能應程式需求配置記憶體空間給程式使用 做法就是在程式執行的過程中, 需要記憶體時才使用 malloc() 函式來動態配置一塊記憶體空間, 並將此塊配置記憶體空間的起始位址傳回給所指定的指標, 接著再移動此指標來存取記憶體位址內的資料, 當記憶體不再使用時, 再透過 free() 函式將此塊記憶體釋放掉歸還給系統 由於 malloc() 函式和 free() 函式都定義在 stdlib.h 標頭檔內, 若程式中有使用到這兩個函式, 必須在程式開頭將 stdlib.h 標頭檔含入到程式中

111 動態配置記憶體 -malloc() 函式 malloc() 函式定義於 stdlib.h 標頭檔中, 呼叫此函式時會配置您所指定的記憶體空間大小, 此函式不像陣列在編譯階段配置記憶體而是在執行階段需要時才配置記憶體 若配置成功由於此函式無法確知您所要求的記憶空間是要指向那一種資料型別, 因此其傳回值設為指向 void 資料型別的指標 有介紹過此種 void 指標可以強迫它轉換成任何資料型別的指標 當配置的記憶體空間不足, 則會傳回 NULL 值

112 由於 malloc() 函式所配置的記憶體是不做初始值設定, 使用前建議最好先做清除的工作 要求配置多少空間來存放資料時, 必須要考慮資料的長度, 因此指標變數的資料型別必須和配置的記憶體空間所使用的資料型別一致, 因此在傳回動態記憶體的起始位址時給指定的指標前必須先將預設的 void 指標進行指標型別轉換 其語法如下 : 指標變數 =( 資料型別 *)malloc( 記憶體空間大小 );

113

114

115 釋放記憶體 -free() 函式 動態配置的記憶體若不再使用時, 必須使用 free() 函式釋放掉歸還給系統, 如此才不會浪費記憶體空間 使用 malloc() 函式動態配置記憶體之後, 若不用使用記憶體空間時, 可以使用 stdlib.h 標頭檔所定義的 free() 函式指定要釋放的記憶體指標 其語法如下 : free( 指標變數 );

116 int *ptr, n=4; /* 動態配置記憶體 */ ptr=(int*)malloc(sizeof(int)*n); /* 釋放記憶體 */ free(ptr);

117 實機練習 - 循序搜尋

118

119

120

121 小實驗 動態陣列與靜態陣列的 Size 上限差很多嗎? 若動態陣列不回收記憶體會怎麼樣? 讓我們來操爆記憶體吧 ~

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

C/C++基礎程式設計班 C/C++ 基礎程式設計 指標 (Pointer) 講師 : 張傑帆 CSIE, NTU 瘋到自以為能改變世界的人, 就能改變世界 The people who are crazy enough to think they can change the world are the ones who do.-steve Jobs 課程大綱 指標簡介 陣列與指標 動態記憶體配置 指標宣告進階 指標 用途

More information

Microsoft PowerPoint - 04-array_pointer.ppt

Microsoft PowerPoint - 04-array_pointer.ppt Array 與 Pointer Array Dynamical Memory Allocation Array( 陣列 ) 陣列是用來存放同樣型態的資料陣列的大小必須在程式中預先設定在程式執行中, 陣列的大小無法改變陣列中的資料是透過索引 (index) 來存取 一維陣列的宣告 type array_name[array_size]; int iarray[100]; /* an integer array

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

Microsoft Word - 投影片ch06

Microsoft Word - 投影片ch06 Java2 JDK5.0 教學手冊第三版洪維恩編著博碩文化出版書號 pg20210 第六章陣列 本章學習目標認識陣列與一般資料型態的不同認識一維與二維陣列學習陣列的應用 陣列 6-2 6.1 一維陣列 一維陣列 (1-dimensional array) 可以存放多個相同資料型態的資料 6.1.1 一維陣列的宣告與記憶體的配置 要使用陣列必須經過兩個步驟 :(1) 宣告陣列 (2) 配置記憶體給該陣列

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

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

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++ 基礎程式設計 流程控制敘述 講師 : 張傑帆 CSIE, NTU 追隨我的好奇與直覺, 大部分我所投入過的事務, 後來都成了無比珍貴的經歷 Much of what I stumbled into by following my curiosity and intuition turned out to be priceless later on. -Steve Jobs 課程大綱 選擇控制

More information

Microsoft PowerPoint - 13_指標、資料傳遞2.pptx

Microsoft PowerPoint - 13_指標、資料傳遞2.pptx 1 2 指標 Lecture 13 指標函式呼叫的資料傳遞 (III) 傳址指標與陣列 Pointer 3 4 指標 / 指位器 (Pointer) 變數 int a; 整數型別, 名稱為 a 變數是為了使用記憶體資源來儲存資料與進行運算 所有的變數都佔有記憶體空間 記憶體 可視為一個很大的一維陣列, 單位是 byte 問題 一個 4KB 的電腦, 其記憶體位置 ( 編號 ) 從 0 至? 4 x

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

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

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

More information

VB.Net

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

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

Microsoft Word - AEL 序-.doc

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

More information

C 語言—陣列及字串

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

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 - 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

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

Microsoft PowerPoint - Bronson-v3-ch07.ppt [相容模式] C++ FOR ENGINEERS AND SCIENTISTS THIRD EDITION Chapter 7 Arrays Objectives 2 In this chapter, you will learn about: One-dimensional arrays 一維陣列 Array initialization 陣列起始化 Declaring and processing two-dimensional

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

<4D F736F F F696E74202D FB5F8B3A5A142B8EAAEC6B6C7BBBCA142BB50C0C9AED7BEDEA7402E >

<4D F736F F F696E74202D FB5F8B3A5A142B8EAAEC6B6C7BBBCA142BB50C0C9AED7BEDEA7402E > 1 2 回顧 指標與其算術運算 指標可類比於變數住的房間號碼 指標可以當陣列使用, 也可說指標可用來當陣列的別名 陣列的名稱本身可視為指標 int a[] = {1,2,,4,5; int *b = a; // 此時 b 記得 1 所住的房間號碼 cout

More information

Microsoft Word - part doc

Microsoft Word - part doc 3 指標與陣列 3-1 指標與一維陣列 3-2 指標與二維陣列 3-3 陣列指標 3-4 為什麼 parr 等同於 *parr? 3-5 指向陣列的指標 3-6 多重指標 3-7 命令列引數 3-8 除錯題 3-9 問題演練 3-10 程式實作 32 Part 1 C 程式語言篇 指標其實就是一位址 陣列的名稱, 表示此陣列第一個元素的位址, 所以它也是指標 由此可知, 指標與陣列的關係是很密切的

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

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

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

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1 0 0 = 1 0 = 0 1 = 0 1 1 = 1 1 = 0 0 = 1 : = {0, 1} : 3 (,, ) = + (,, ) = + + (, ) = + (,,, ) = ( + )( + ) + ( + )( + ) + = + = = + + = + = ( + ) + = + ( + ) () = () ( + ) = + + = ( + )( + ) + = = + 0

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

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

運算子多載 Operator Overloading

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

More information

Microsoft PowerPoint - 02_運算.pptx

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

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

Microsoft PowerPoint - CH07 Arrays and Vectors [相容模式]

Microsoft PowerPoint - CH07 Arrays and Vectors [相容模式] CH7 陣列與向量 Array and Vectors 課程名稱 : 資管一程式設計任課教師 : 謝明哲單位職稱 : 台東大學資管系副教授電子郵件 :hmz@nttu.edu.tw hmz@nttu.edu.tw 2016 1 Outline 什麼是陣列? 陣列的運用 排序方式 多維陣列 hmz@nttu.edu.tw 2016 2 什麼是陣列? hmz@nttu.edu.tw 2016 3 陣列

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

Microsoft PowerPoint - 06_迴圈2.pptx

Microsoft PowerPoint - 06_迴圈2.pptx 資料型別的選擇 如果資料或是運算過程可能會出現小數點 (e.g. BMI), 宜使用浮點數 (double, float) char 僅能儲存一個英文字 數字 或是英文中出現的標點符號等等鍵盤上可直接看得到 按得出的符號 若要儲存中文字, 目前建議使用 string 型別 A 和 A 的差別, 我們目前還沒辦法說得很詳細 只能說一個是字元 一個是字串 布林運算式的寫法 如果 x 等於, 就印出 Hello

More information

jQuery實戰手冊

jQuery實戰手冊 本章學習目標 1. 讓讀者了解一維 二維及多維陣列的結構及表示方法 2. 讓讀者了解矩陣中常見的各種運算 < 轉置 相加 相乘及稀疏矩陣 > 本章內容 3-1 陣列的觀念 3-2 陣列的宣告與儲存方式 3-3 二維陣列的觀念 3-4 多維陣列的觀念 3-5 陣列在記憶體中的表示法 3-6 多項式 (polynomial) 3-7 矩陣 (Matrices) 3-8 特殊矩陣本章重點整理課後評量 3-1

More information

Microsoft Word - chap05.doc

Microsoft Word - chap05.doc 31 5. Structures/Simple Classes in C++ 結構體是程式設計者自訂的資料型態 (data type), 一結構體是由多個彼此相關之基本資料型態之資料所構成的複合式資料型態 程式設計者可將程式中彼此相關 且類型不同的資料整合在一起, 定義為結構體, 此新的資料型態宣告建立後, 便可產生屬於此結構體類型 ( 定義 ) 的變數 ( 實體 ), 此有助於資料的管理 結構體與陣列都屬於複合式的資料型態,

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

######## 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

陣列與鏈結串列 Array and Linked List

陣列與鏈結串列 Array and Linked List 陣列與鏈結串列 Array and Linked List 講師 : 洪安 1 大綱 結構陣列 鏈結串列 單向鏈結串列之資料型態 單向鏈結串列之基本運算 課堂練習 2 結構陣列 優點 缺點 使用容易 class student int math; int english; int computer; ; 刪除與插入造成資料移動頻繁 浪費不必要之記憶體 int main() student s[5];

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

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e Android Studio Debugging 本篇教學除了最基本的中斷點教學之外, 還有條件式中斷的教學 條件式中斷是進階的除錯技巧, 在某些特定情況中, 我們有一個函數可能會被呼叫數次, 但是我們只希望在某種條件成立時才進行中斷, 進而觀察變數的狀態 而條件式中斷這項技巧正是符合這項需求 本教學分兩部分 單步除錯 (Page2~11, 共 10) 條件式中斷點 (Page12~17, 共 6)

More information

投稿類別:資訊類

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

More information

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

C/C++基礎程式設計班 C/C++ 基礎程式設計 字元與字串 講師 : 張傑帆 CSIE, NTU 人的出身並不重要, 你拿時間來做什麼才重要 It s not who you were at birth that matters, but what you do with the time you are given.-steve Jobs 課程大綱 字元 字串 作業 字元 在電腦的世界裡, 所有的一切都是以 0 與 1

More information

Microsoft PowerPoint - STU_C_Lang_CH05

Microsoft PowerPoint - STU_C_Lang_CH05 第 5 章程式之設計模式 - 迴圈結構 程式設計與生活 - 使用 C 語言 Shi-Huang Chen Spring 2013 1 第 5 章程式之設計模式 - 迴圈結構 5-1 程式運作模式 5-2 迴圈結構 5-3 break 與 continue 敘述 2 5-1 程式運作模式 日常生活中, 常常有一段時間我們會重複做一些固定的事, 過了這段時間就換做別的事 每星期六 5:00PM 時, 電視台就會播出卡通節目海賊王,

More information

105Tr_CIS1

105Tr_CIS1 准考證號碼 : 國立臺中教育大學 105 學年度學士班日間部轉學招生考試 計算機概論試題 適用學系 : 資訊工程學系二 三年級 一 選擇題 (40%, 每題 2%) 1. 在物件導向程式設計中, 一個抽象類別 (Abstract Class) 為 A. 一個沒有方法 (method) 的類別 B. 一個不能被繼承 (inherit) 的類別 C. 一個不能被實體化 (instantiated) 的類別

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

Excel VBA Excel Visual Basic for Application

Excel VBA  Excel Visual Basic for Application Excel VBA Jun5,00 Sub 分頁 () Dim i As Integer Dim Cname As String Dim Code As Variant Set score=thisworkbook.sheets("sheet") Code=Array(" 專北一 "," 專北二 "," 專北三 "," 專桃園 "," 專桃竹 "," 專中苗 ", " 專台中 "," 專台南 ","

More information

PowerPoint Presentation

PowerPoint Presentation 資料結構概論 NTU CSIE Outline 資料結構概論 C 語言的結構 (struct) 結構化的資料常見的資料結構簡介 從一個例子開始 算出班上十位同學成績之總分與平均 #include int main() // 宣告變數與資料內容 int a0=80, a=90, a2=70, a3=66, a4=56; int a5=99, a6=88, a7=50, a8=60,

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

Microsoft Word - ch03.doc

Microsoft Word - ch03.doc Chapter 流程控制 本章重點 3.1 選擇結構 3.2 重複結構 3.3 實例 - 猜數字遊戲 3.4 習題 程式設計經典 3.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

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 - ASP_NET_03

Microsoft PowerPoint - ASP_NET_03 第 3 章 Visual Basic 2010 程式語言 大綱 Visual Basic 2010 的基礎 Visual Basic 的基本撰寫規格 Visual Basic 的變數與資料型別 Visual Basic 的運算子 Visual Basic 的流程控制 Visual Basic 的程序與函數 2 Visual Basic 2010 的基礎 源於 Bill Gates 對於 BASIC

More information

The golden pins of the PCI card can be oxidized after months or years

The golden pins of the PCI card can be oxidized after months or years Q. 如何在 LabWindows/CVI 編譯 DAQ Card 程式? A: 請參考至下列步驟 : 步驟 1: 安裝驅動程式 1. 安裝 UniDAQ 驅動程式 UniDAQ 驅動程式下載位置 : CD:\NAPDOS\PCI\UniDAQ\DLL\Driver\ ftp://ftp.icpdas.com/pub/cd/iocard/pci/napdos/pci/unidaq/dll/driver/

More information

C Pointers

C Pointers 指標 (pointer) 是 C 程式語言最強大的功能之一, 我們將在本章中討論 指標能讓程式模擬傳參考呼叫, 以及產生和操作動態的資料結構, 亦即在執行時期會增大和減小的資料結構, 如鏈結串列 (linked lists) 佇列 堆疊和樹 第十章將討論使用指標的結構 第十二章則介紹動態記憶體管理 (dynamic memory management) 技術, 以及一些產生和使用動態資料結構的例子

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc Java C++ Pascal C# C# if if if for while do while foreach while do while C# 3.1.1 ; 3-1 ischeck Test() While ischeck while static bool ischeck = true; public static void Test() while (ischeck) ; ischeck

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

Microsoft PowerPoint - vb_net8

Microsoft PowerPoint - vb_net8 字串與陣列 資訊科技系 林偉川 一維陣列的處理 陣列 (Array) 是一種基本的資料結構, 它是將相同資料型別的變數集合起來, 使用一個名稱代表, 然後使用索引值存取變數的值, 如下圖所示 : 2 1 宣告一維陣列 - 宣告 VB.NET 陣列同樣使用 Dim 指令宣告, 我們可以在宣告時同時指定陣列的尺寸, 一維陣列的宣告語法, 如下所示 : Dim 陣列名稱 ( 最大索引 ) As 資料型別

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

Microsoft PowerPoint - chap10.ppt

Microsoft PowerPoint - chap10.ppt 陣列 資訊科技系 林偉川 本章簡介 由於一個變數只能存放一個數值, 如果程式需處理大批資料 ( 如學生 員工資料等 ), 就必須宣告許多的變數來存放這些資料, 寫起來非常不便 2 1 本章簡介 程式中要用到 10 個學號, 就要宣告 10 個變數來儲存 : 3 本章簡介 C 語言提供了一種特殊的資料結構 : 陣列 (Array) 宣告一個陣列, 可以取代宣告多個變數, 讓程式更容易撰寫和閱讀 像上述

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

Microsoft Word - ch doc

Microsoft Word - ch doc C 與 C++ 的差異 18 18.1 C 與 C++ 的差異簡介 前一章己經知道 C 和 C++ 是使用不同的方式來處理格式化輸出入 C++ 是 C 語言的超集合, 因此 C 語言的相關語法及函式也可以在 C++ 中使用, 下表我們列出 C 語言與 C++ 的差異處 : 註解 功能 C 語言 C++ 語言 變數宣告 資料型別 多載函式或多載運算子 inline 函式 常數定義 /* */ 為單行註解

More information

¥¼©R¦W-5

¥¼©R¦W-5 迴圈敘述 5 我們 類的生活有許多事都是具有重覆性的, 例如㆒ 有 24 小時, ㆒星期有七, 同㆒門課要 18 次才能拿到學分, 程式設計是要解決日常生活可預期的事件, 為了解決日常生活的重覆性, BCB 的迴圈敘述如 1. for 2. while 3. goto for 的使用時機為設計階段已知執行次數, 請看 5-1 節 若未知執行次數, 則應使用 while, 請看 5-2 節 goto

More information

Microsoft Word - Prog1-981.docx

Microsoft Word - Prog1-981.docx 5. 變數參照 (Memory Reference) 5.1 指標 (Pointer) (1). 指標 (Pointer) 的基本觀念 特性 內含為一 Memory Address 會因不同的機器而有不同的結果 &" 也是代表變數的位址 例如 : int var1 = 2; cout

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

第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

Microsoft PowerPoint - C-Ch10.ppt

Microsoft PowerPoint - C-Ch10.ppt 了解陣列元素的位址 陣列 指標的應用 10-1 陣列與指標的關係 可以使用位址運算子 (&) 來查詢陣列中各個元素的位址 &test[0] 這行表示陣列最前面元素的位址 &test[1] 這行表示陣列第二個元素的位址 關於陣列名稱的機制 陣列名稱可以表示陣列最前面元素的位址 #include int main(void) int test[5] = 80,60,55,22,75;

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

Microsoft PowerPoint - php6.ppt

Microsoft PowerPoint - php6.ppt 進階 WWW 程式設計 PHP Array 靜宜大學資訊管理學系蔡奇偉副教授 1 內容大綱 陣列的種類 陣列的產生方式 讀取陣列元素值 字串中展開陣列變數值 改變陣列元素值 foreach 迴圈指令 list() 指令 插入 移除 與置換元素 2 陣列的種類 PHP 的陣列可用來儲存一組相同或不同型態的資料 PHP 提供下列兩種 不同存取方式的陣列 : 索引陣列 (indexed array) 用一個整數索引來存取陣列中的值

More information

10-2 SCJP SCJD 10.1 昇陽認證 Java 系統開發工程師 的認證程序 Java IT SCJD

10-2 SCJP SCJD 10.1 昇陽認證 Java 系統開發工程師 的認證程序 Java IT SCJD 10 SCJD 簡介 Java 10-2 SCJP SCJD 10.1 昇陽認證 Java 系統開發工程師 的認證程序 Java IT SCJD 10 SCJD 10-3 Java Java SCJD 7 Swing RMI 10.1.1 The Assignment The Essay 9 10 10-4 SCJP SCJD 90 10.1.2 SCJP Java 90 120 Swing 10

More information

Microsoft Word - About_C_PointerAdvanced.doc

Microsoft Word - About_C_PointerAdvanced.doc (*) 如何宣告或解讀某一個資料型態的指標變數? 在變數名稱前加上一個 * 號 ( 陣列也可算成是指標只是其值不能被更改!) 反過來在解讀變數的型態時 : 先找到變數名稱, 再看其左邊是否有星號 ( 至多取一個 ), 若有表示這是一個指標變數, 否則就是一般的變數 至於資料型態的部份, 只要將變數或連同 * 號移去後, 剩下的部份就是此變數或指標的資料型態 (*) 優先順序 : 運算子的優先順序 5

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

Microsoft PowerPoint - 04_Array

Microsoft PowerPoint - 04_Array 第四章 陣列 4.1 為何需要陣列 4.4 多維陣列 4.2 陣列常用的屬性與方法 4.5 不規則陣列 4.3 Array 類別常用靜態方法 備註 : 可依進度點選小節 4.1 為何需要陣列 4.1.1 何謂陣列 (Array) 前面章節, 每使用到一個資料就需宣告一個變數來存放, 資料一多時, 變數亦跟著增加, 增加變數命名困擾且程式長度亦增長不易維護 C# 對相同性質的資料提供陣列來存放 在宣告陣列時

More information

Microsoft Word - CPMidTerm2010SpringSolution

Microsoft Word - CPMidTerm2010SpringSolution 通識計算機程式設計期中考參考解答, 4/23/2010 1. (a) 宣告 double 變數 z, bool 變數 b, int 變數 i (3%) 答 : double z; bool b; (b) 在螢幕顯示一行字, 要求使用者輸入一個浮點數. (3%) 答 : Console.WriteLine(" 輸入一個浮點數 "); (c) 自鍵盤讀入一個浮點數., 並將其值存入已宣告之 double

More information

Java 程式設計入門

Java 程式設計入門 Java 程式設計入門 講師 : 陳昭源 CISE, NTU August 28, 2005 Outline 變數 Variables 運算子 Operators 運算式 (Expressions) 敘述(Statements) & 程式區塊 (Blocks) 流程控制 Control Flow Statements if-else statements switch statements August

More information

Microsoft Word - ¤W½Ò¤º®e RTF

Microsoft Word - ¤W½Ò¤º®e RTF (variable) &( ) ( ) 0 9 A...Z a z under line( _ ) 1) (A...Z a z) 2) case sensitive 3) C/C++ (reserved word or key word) 1, 2,.., n char ch; int m; int n; int m, n; // float f = 10.0; // double d =f * 10.0;

More information

踏出C++的第一步

踏出C++的第一步 踏出 C++ 的第一步 講師 : 洪安 1 已經學會的 C 語言基本概念 基本資料型態 變數 基本輸入輸出 控制敘述 選擇控制 迴圈 陣列 函式 指標 字元與字串 結構 檔案處理 2 C v.s. C++ C 函數 程序式語言 Procedural language 結構化程式設計 Structured programming 演算法 Top-down C++ 類別 物件導向程式設計 Object-Oriented

More information

Microsoft PowerPoint - pl_4.ppt

Microsoft PowerPoint - pl_4.ppt 資料型態 資科系 林偉川 資料型態的定義 資料型態是指一群個體 (object) 以及作用在這群個體上的運算 2 1 基本資料型態 列舉式資料型態 指標資料型態 資料型態的分類 3 基本資料型態 常見的基本資料型態有數字 字元與布林資料型態分別介紹如下 : 數值 : 整數 (integer) (-32768 32767) 實數 (real) 字元 (character) 布林值 (Boolean)

More information

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

C/C++基礎程式設計班 C/C++ 基礎程式設計 字元與字串 講師 : 張傑帆 CSIE, NTU 人的出身並不重要, 你拿時間來做什麼才重要 It s not who you were at birth that matters, but what you do with the time you are given.-steve Jobs 課程大綱 字元 字串 作業 字元 在電腦的世界裡, 所有的一切都是以 0 與 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

PowerPoint Presentation

PowerPoint Presentation 陣列與鏈結串列 NTU CSIE Outline 結構陣列鏈結串列 單向鏈結串列之資料型態 單向鏈結串列之基本運算 作業 結構陣列 優點 缺點 使用容易 刪除與插入造成資料移動頻繁浪費不必要之記憶體陣列長度為常數, 可能會不夠用 #include struct _student int math; int english; int computer; ; typedef struct

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

HTML網頁基礎語言

HTML網頁基礎語言 第 3 章 Visual Basic 2012 程式語言 http://www1.chihlee.edu.tw/teachers/chienhua/ 第 3 章 Visual Basic 2012 程式語言 3-0 ASP.NET 網頁程式碼模式 3-1 Visual Basic 的基本撰寫規格 3-2 變數與資料型別 3-3 運算子 3-4 流程控制 3-5 陣列 3-6 程序與函數 Note:

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

Explain each of the following terms. (12%) (a) O(n 2 ) (b) protected in C++ language (c) sparse matrix 7. Write

Explain each of the following terms. (12%) (a) O(n 2 ) (b) protected in C++ language (c) sparse matrix 7. Write Department of Computer Science and Engineering National Sun Yat-sen University Data Structures - Middle Exam, Nov. 20, 2017 1. Suppose an array is declared as a[5][6][4], where the address of a[0][0][0]

More information

Microsoft PowerPoint - Chapter4

Microsoft PowerPoint - Chapter4 CH04 流程控制 課程目標 : 學會 VBA 中用來控制程式流程之陳述式 本章重點 判斷式迴圈狀態判斷其他實用之陳述式陣列 (Array) 2 4-1 判斷式 判斷式係指用於判斷狀態是否存在之陳述式, 若判斷為真時, 應否採取任何動作 3 判斷式 If Then End If If Then End If 陳述式的用途在於判斷條件式是否成立, 當條件式的邏輯判斷為 True 時, 才執行 Then

More information

Microsoft PowerPoint - 12 struct and other datatypes.ppt

Microsoft PowerPoint - 12 struct and other datatypes.ppt 第十一章結構與其它資料型態 結構與巢狀結構 結構陣列的各種使用方法 列舉型態 自定的型態別名 typedef 認識結構 使用者自定的資料型態 結構可將型態不同的資料合併成為新的型態 定義結構與宣告結構變數的格式如下 : struct 結構名稱 資料型態成員名稱 1; 資料型態成員名稱 2;... 資料型態成員名稱 n; struct 結構名稱變數 1, 變數 2,, 變數 n; 定義結構與宣告結構變數的語法

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

新版 明解C++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

More information

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

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

More information

程式設計入門

程式設計入門 新北市立海山高中 Dev C++ 簡明教材 翁鴻仁教師編授 目錄 第一章緒論 -------------------------------------------------- 2 第二章程式設計的基本概念 ----------------------------- 3 第三章資料型態 -------------------------------------------- 8 第四章程式的流程判斷

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

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

<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

新・解きながら学ぶJava

新・解きながら学ぶJava 481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --

More information

全國各級農會第 2 次聘任職員統一考試試題 科目 : 程式設計類別 : 九職等以下新進人員作答注意事項 : 1 全部答案請寫在答案卷內, 如寫在試題紙上, 則不予計分 2 請以黑色或藍色鋼筆或原子筆書寫, 並以橫式書寫 ( 由左至右, 由上而下 ) 一 選擇題 ( 每題 4 分, 共 40 分 )

全國各級農會第 2 次聘任職員統一考試試題 科目 : 程式設計類別 : 九職等以下新進人員作答注意事項 : 1 全部答案請寫在答案卷內, 如寫在試題紙上, 則不予計分 2 請以黑色或藍色鋼筆或原子筆書寫, 並以橫式書寫 ( 由左至右, 由上而下 ) 一 選擇題 ( 每題 4 分, 共 40 分 ) 全國各級農會第 2 次聘任職員統一考試試題 一 選擇題 ( 每題 4 分, 共 40 分 ) 1. 在 Java 語言中, 請問下列何者資料型別的變數, 所需的儲存空間最少? (a) char (b) float (c) double (d) int 2. 請問下列何者非 C 語言的關鍵字 (key word)? (a) const (b) default (c) dynamic (d) continue

More information

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class 踩地雷遊戲 高慧君南港高中 開啟專案 MineSweep 任務一 : 產生 30X20 個磚塊編輯 Table 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) import java.util.arraylist; Write a description of class MyWorld

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

46 2011 11 467 數位遊戲式學習系統 7 2011 11 467 47 3 DBGameSys 48 2011 11 467 正規化資料模組 如何配置並儲存電子化資料 以 便減少資料被重覆儲存的程序 DBGameSys的主要功能模組包 學習者 審核評分模組 含 正規化資料模組 審核評分 模組 高分列表模組3大區塊 系統資料庫 在正規化資料模組的執行 高分列表模組 過程中 先要求學習者瀏覽遊戲

More information