Microsoft Word - Chap05.doc
|
|
|
- 肖 苏
- 6 years ago
- Views:
Transcription
1 迴圈敘述 5-1 for 迴圈 5-2 while 迴圈 5-3 do...while 迴圈 5-4 巢狀迴圈 5-5 break 與 continue 附加於條件運算式 5-7 關鍵字 5-8 問題演練 5-9 程式實作
2 C 語言除錯高手 迴圈敘述 (loop statement) 的功能就是可以重複執行敘述 迴圈敘述主要有 for while 和 do...while 三種不同語法迴圈敘述 5-1 for 迴圈 我們先來介紹 for 迴圈, 其語法如下 : for ( 初值設定 ; 條件運算式 ; 更新運算式 ) 條件運算式為真時, 執行的主體敘述 ; 此迴圈由三個部份所組成, 分別為初值設定 條件運算式及更新運算式, 茲說明如下 : for 迴圈的功用 初值設定 條件運算式 更新運算式 設定變數的初值 若為真, 則執行其所對應的敘述 ; 若為假, 則結束迴圈 更新變數值 此三部份是用分號 (;) 隔開, 而不是逗號 (,) 注意,for 敘述小括弧 ( ) 的後面不可加分號 (;), 若執行敘述的部份為單一敘述時, 則大括弧 是可以省略的, 若是複合敘述時, 則不可以省略 但有些人不管單一敘述或是複合敘述, 皆加上大括號, 如範例 5-1a 所示 範例 5-1a /* ex5-1a.c */ int num; 5-2
3 第 5 章迴圈敘述 for(num = 0; num <= 5; num++) printf("num is %d\n", num); 輸出結果 Num is 0 Num is 1 Num is 2 Num is 3 Num is 4 Num is 5 程式剖析 for 迴圈先將 num 的初值設為 0, 判斷 num 是否小於等於 5, 若是, 則印出 num 值 之後, 再對 num 加 1, 再判斷 num 是否小於等於 5 若是, 則印出 num 值 週而復始, 直到 num 不是小於等於 5, 結束迴圈為止 注意! 迴圈結束時,num 的值是 6 以流程圖表示如下: 以下我們來探討 for 迴圈一些變形的寫法 程式中 num 變數的初值設定, 可以在定義變數就給定之, 此時 for 迴圈內的初值設定敘述就可以省略, 但其後面的 ; 不可省略 如範例 5-1b 所示 5-3
4 C 語言除錯高手 範例 5-1b /* ex5-1b.c */ int num = 0; /* 設定 num 初值為 0 */ for( ; num <= 5; num++) /* 省略初值的設定 */ printf("num is %d\n", num); 輸出結果 Num is 0 Num is 1 Num is 2 Num is 3 Num is 4 Num is 5 程式剖析 此程式在定義變數時, 也同時設定其初值 其次, 也可以將 for 迴圈的更新運算式移至它處, 如範例 5-1c 所示 範例 5-1c /* ex5-1c.c */ int num = 0; for( ; num <= 5; ) printf("num is %d\n", num); num++; 5-4
5 第 5 章迴圈敘述 輸出結果 Num is 0 Num is 1 Num is 2 Num is 3 Num is 4 Num is 5 程式剖析 for 迴圈的更新運算式移至執行的主體敘述內, 但不可以省略前面的分號 輸出結果同上一範例 與上一章的 if...else 敘述一樣, 當 for 迴圈所要執行的主體敘述是複合敘述 ( 指兩個或兩個以上的敘述 ), 必須以左 右大括號括起來 上一範例的 for 迴圈若沒加左 右大括號, 將會形成無窮迴圈, 如範例 5-1d 所示 範例 5-1d /* ex5-1d.c */ int num = 0; for( ; num <= 5; ) printf("num is %d\n", num); num++; 輸出結果 這是一無窮迴圈, 請您親身體驗一下 5-5
6 C 語言除錯高手 程式剖析 因為 for 迴圈只對它的下一條敘述有效而已, 所以並沒有執行 num++; 敘述, 導致 num 都是 0, 因此, 形成了無窮迴圈 在 for 迴圈中, 若省略條件運算式, 其結果將會如何? 因為 C 語言認為人性本善, 所以視此條件永遠為真, 導致形成無窮迴圈, 此時必須利用 break 敘述來終止迴圈的執行, 如範例 5-1e 所示 有關 break 敘述的詳細說明, 請參閱 5-5 節 範例 5-1e /* ex5-1e.c */ /* 將範例 5-1a 的設定初值 條件判斷式及更新運算式省略 */ int num = 0; for( ; ; ) if(num > 5) /* 若 num 大於 5, 則執行 break, 以結束 for 迴圈 */ break; printf("num is %d\n", num); num++; 輸出結果 Num is 0 Num is 1 Num is 2 Num is 3 Num is 4 Num is 5 5-6
7 第 5 章迴圈敘述 程式剖析 在 for 迴圈中, 省略了條件判斷式, 表示其條件為真, 所以是一無窮迴圈 此時必須利用 if 敘述, 判斷 num 是否大於 5, 若是, 則執行 break, 以結束迴圈 上述幾個範例都已給定迴圈所要執行的次數, 此稱為定數迴圈 若沒有給定所要執行次數, 則稱之為不定數迴圈, 這種迴圈由使用者決定是否要繼續執行 範例 5-1f 就是一典型不定數迴圈的寫法 範例 5-1f /* ex5-1f.c */ /* 要求使用者不斷輸入數字, 直到數字為負 */ int num = 0; for( ; num >= 0; ) printf(" 請輸入一整數 ( 當此數為負時, 將結束迴圈 ): "); scanf("%d", &num); printf(" 輸入結束!!"); 輸出結果 請輸入一整數 ( 當此數為負時, 將結束迴圈 ): 77 請輸入一整數 ( 當此數為負時, 將結束迴圈 ): 30 請輸入一整數 ( 當此數為負時, 將結束迴圈 ): 25 請輸入一整數 ( 當此數為負時, 將結束迴圈 ): 66 請輸入一整數 ( 當此數為負時, 將結束迴圈 ): 12 請輸入一整數 ( 當此數為負時, 將結束迴圈 ): -20 輸入結束!! 5-7
8 C 語言除錯高手 程式剖析 在 for 迴圈中只有條件運算式, 其它都省略了, 當輸入 num 的數值為負時, 將結束迴圈 最後, 我們撰寫一程式, 從 1 加到 100, 每次遞增 1, 如範例 5-1g 所示 範例 5-1g /* ex5-1g.c */ int i, total = 0; for (i = 1; i<=100; i++) printf(" = %d\n", total); 輸出結果 = 5050 程式剖析 程式中的累加動作, 是以遞增的方式 (++) 來處理, 同時 for 迴圈執行的主體敘述是單一敘述, 所以左 右大括號省略了 如下所示 : for (i = 1; i<=100; i++) 當然也可以用遞減的方式 (--) 來處理, 如下所示 : for (i = 100; i>=1; i--) 5-8
9 第 5 章迴圈敘述 先將初值設為 100, 而條件運算式為 i>=1, 這樣就可以算出 1 加到 100 的總和 以此類推, 可以很容易的將 1 到 100 的奇數或偶數做累加 如 for (i = 2; i<=100; i+=2) 就是執行偶數的累加, 而奇數的累加, 則可以下列的片段程式表示之 for (i = 1; i<=100; i+=2) 小蔡老師上完 for 迴圈之後, 請大家計算 1 到 100 的偶數和 1. 以下是小王寫的程式, 請您更正之 /* bugs5-1a.c */. int i, total = 0; for(i=2; i<=100;) i += 2; printf("1 到 100 的偶數和是 %d\n", total); 2. 以下是小張寫的程式, 請您更正之 /* bugs5-1-2.c */ 5-9
10 C 語言除錯高手 int i, total; for(i=2; i<=100;) i += 2; printf("1 到 100 的偶數和是 %d\n", total); 3. 以下是小美女寫的程式, 請您更正之 /* bugs5-1-3.c */ int i, total=0; for(i=2; i<100;) i += 2; printf("1 到 100 的偶數和是 %d\n", total); 4. 以下是小帥哥寫的程式, 請您更正之 /* bugs5-1-4.c */ int i, total=0; for(i=1; i<100; i+=2) printf("1 到 100 的偶數和是 %d\n", total); 5-10
11 第 5 章迴圈敘述 5. 以下是小王子寫的程式, 請您更正之 /* bugs5-1-5.c */ int i, total=0; for(i=2; i<100; i+=2); printf("1 到 100 的偶數和是 %d\n", total); 6. 以下是小英寫的程式, 請您更正之 /* bugs5-1-6.c */ int i, total=0; for(i=1; i<100;) i += 2; printf("1 到 100 的偶數和是 %d\n", total); 1. 要求使用者利用 for 迴圈輸入一些數字, 當輸入 時結束輸入, 接著輸出這些數字的總和與平均 2. 利用 for 迴圈計算 的和 5-11
12 C 語言除錯高手 5-2 while 迴圈 接下來介紹 while 迴圈, 其語法如下 : while( 條件運算式 ) 條件運算式為真時, 執行的主體敘述 ; 若條件運算式為真, 則重覆執行其所對應的敘述 如範例 5-2a 所示 範例 5-2a /* ex5-2a */ int num = 0; while(num >= 0) printf(" 請輸入一整數 ( 當此數為負時, 將結束迴圈 ): "); scanf("%d", &num); printf(" 結束 "); 輸出結果 請輸入一整數 ( 當此數為負時, 將結束迴圈 ): 55 請輸入一整數 ( 當此數為負時, 將結束迴圈 ): 75 請輸入一整數 ( 當此數為負時, 將結束迴圈 ): 32 請輸入一整數 ( 當此數為負時, 將結束迴圈 ): -11 結束 5-12
13 第 5 章迴圈敘述 程式剖析 上例是將範例 5-1f 中的 for 迴圈, 改用 while 迴圈來執行 您有沒有發現, 其實只是將範例 5-1f 中的 for 改為 while, 並去掉分號而已 以流程圖表示如下 : 接下來, 我們以 while 迴圈完成 如範例 5-2b 所示 範例 5-2b /* ex5-2b.c */ int i = 1, total = 0; while (i<=100) i++; printf(" = %d\n", total); 輸出結果 =
14 C 語言除錯高手 程式剖析 這是將範例 5-1g 改寫的 輸出結果也是 5050 範例 5-2c 是要求使用者輸入一單字, 最後輸出此單字有多少字元 範例 5-2c /* ex5-2c.c */ /* 要求使用者輸入單字, 計算字數 */ char letter; int count = 0; printf(" 請輸入一行文字 : "); scanf("%c", &letter); while(letter!= '\n') count++; scanf("%c", &letter); printf(" 此行共有 %d 字 \n", count); 輸出結果 請輸入一行文字 : computer science 此行共有 16 字 程式剖析 利用 while 迴圈將輸入的字元加以讀取, 並加以累計之, 直到 '\n' 為止 5-14
15 第 5 章迴圈敘述 小蔡老師上完 while 迴圈之後, 請大家自己做一次 1 加到 100, 以下是幾個同學做的程式, 請你幫忙看一下 1. 以下是 Linda 撰寫的程式, 請您更正之 /* bugs5-2-1.c */ int main() int i = 1, total = 0; while (i<=100) i++; printf(" = %d\n", total); 2. 以下是 Jennifer 撰寫的程式, 請您更正之 /* bugs5-2-2.c */ int main() int i = 1, total = 0; while (i<=100); i++; printf(" = %d\n", total); 5-15
16 C 語言除錯高手 3. 以下是 Amy 撰寫的程式, 請您更正之 /* bugs5-2-3.c */ int main() int i = 1, total; while (i<=100) i++; printf(" = %d\n", total); 4. 以下是 Wendy 撰寫的程式, 請您更正之 /* bugs5-2-4.c */ int main() int i = 1, total=0; while (i<100) i++; printf(" = %d\n", total); 1. 請利用 while 迴圈, 要求使用者不斷輸入數字, 直到輸入的數字為 0 時停止, 試計算所輸入數字的總和與平均 2. 利用 while 迴圈, 修改範例 5-1e 5-16
17 第 5 章迴圈敘述 5-3 do...while 迴圈 do...while 迴圈的語法如下 : do 執行敘述 ; while( 條件運算式 ); 執行完大括弧 內的執行敘述後, 再判斷條件運算式是否為真, 若為真, 則繼續執行敘述, 直到條件運算式為假 所以迴圈內的敘述至少會被執行一次, 而 for 與 while 迴圈, 兩者皆要先判斷, 再決定是否要執行迴圈內的敘述 我們說 for 和 while 迴圈是理性的迴圈, 而 do...while 迴圈, 則是屬於衝動型的迴圈 注意, 在 do...while 的條件運算式後要加上分號 (;), 表示敘述的結束點 範例 5-3a /* ex5-3a.c */ int height; double inch; do printf(" 請問您的身高幾公分? "); scanf("%d", &height); while(height < 0); /* 身高若負, 則要求重新輸入 */ height /= 2.54; /* 將公分轉為公吋 */ printf(" 你的身高是 %d 呎 %d 吋 \n", height/12, height%12); /* 一呎等於 12 吋 */ 輸出結果 1 請問您的身高幾公分? 180 你的身高是 5 呎 10 吋 5-17
18 C 語言除錯高手 輸出結果 2 請問您的身高幾公分? -15 請問您的身高幾公分? 160 你的身高是 5 呎 2 吋 程式剖析 若您輸入的身高是負的, 則會要求您重新再輸入 其流程圖如下所示 : 接下來, 我們以 do...while 完成 的計算 如範例 5-3b 所示 範例 5-3b /* ex5-3b.c */ int i = 1, total = 0; do i++; while (i<=100); printf(" = %d\n", total); 5-18
19 第 5 章迴圈敘述 輸出結果 = 5050 程式剖析 此程式的輸出結果, 如同利用 for 與 while 迴圈, 撰寫 1 加到 100 的程式 注意!do...while 迴圈內的敘述是先加總, 再對 i 加 1, 此順序是很重要的, 請您將這兩個敘述對調, 看看其輸出結果為何? 範例 5-3c 將建立一選單, 讓使用者選擇他想做的項目, 這個方法常常會用到, 請您細心的研讀之 範例 5-3c /* ex5-3c.c */ /* 建立選單, 讓使用者輸入選項完成該選項工作 */ int option, no1, no2; /* 此選單有三個功能 :1 為加法,2 為減法,3 則跳出程式 */ do printf("\n"); printf("1 => 加的運算 \n"); printf("2 => 減的運算 \n"); printf("3 => 結束 \n"); printf(" 請選擇 (1-3): "); scanf("%d", &option); switch(option) /* 使用 switch 選擇敘述來執行各項功能 */ case 1: printf(" 請輸入兩個整數 : "); scanf("%d %d", &no1, &no2); printf("%d + %d is %d\n", no1, no2, no1+no2); break; case 2: printf(" 請輸入兩個整數 : "); scanf("%d %d", &no1, &no2); printf("%d - %d is %d\n", no1, no2, no1 - no2); break; case 3: printf(" 再見!!"); break; 5-19
20 C 語言除錯高手 default: printf(" 錯誤的選擇!!\n"); while(option!= 3); /* 使用者輸入 3 則結束迴圈 */ 輸出結果 1 => 加的運算 2 => 減的運算 3 => 結束請選擇 (1-3): 1 請輸入兩個整數 : is 89 1 => 加的運算 2 => 減的運算 3 => 結束請選擇 (1-3): 2 請輸入兩個整數 : is 42 1 => 加的運算 2 => 減的運算 3 => 結束請選擇 (1-3): 4 錯誤的選擇!! 1 => 加的運算 2 => 減的運算 3 => 結束請選擇 (1-3): 3 再見!! 程式剖析 利用 switch 敘述, 讓使用者以選單方式選擇它想做的事, 當選項為 3 時, 則結束迴圈 5-20
21 第 5 章迴圈敘述 小蔡老師上完 do...while 迴圈後, 出了一題實作題, 請計算 等於多少? 以下是幾個同學所撰寫的程式, 請大家看一下 1. 以下是小庭寫的程式, 若有錯誤, 請您更正之 /* bugs5-3-1.c */ int i = 100, total = 0; do i++; while (i<=1); printf(" = %d\n", total); 2. 以下是真古意寫的程式, 若有錯誤, 請您更正之 /* bugs5-3-2.c */ int i = 100, total = 0; do i--; while (i<=1); printf(" = %d\n", total); 3. 以下是真古錐寫的程式, 若有錯誤, 請您更正之 /* bugs5-3-3.c */ 5-21
22 C 語言除錯高手 int i = 100, total = 0; do i--; while (i>=1) printf(" = %d\n", total); 4. 以下是真臭屁寫的程式, 若有錯誤, 請您更正之 /* bugs5-3-4.c */ int i = 100, total = 0; do i--; while (i>=1); printf(" = %d\n", total); 1. 使用 do...while 迴圈改寫範例 5-1e 2. 利用 do...while 計算 1 到 100 的偶數和 5-4 巢狀迴圈 在迴圈敘述中, 又出現迴圈敘述, 則稱此為巢狀迴圈 (nested loop) 小學生的墊板常常有印出以下的九九乘法表, 如下圖所示 : 5-22
23 第 5 章迴圈敘述 我們就以此來解說巢狀迴圈 請參閱範例 5-4a 範例 5-4a /* ex5-4a.c */ /* 以巢狀 for 迴圈輸出九九乘法表 */ int i, j; printf("%44s", "<< 九九乘法表 >>\n"); for(i=1; i<=9; i++) /* 此為外迴圈 */ for(j=1; j<=9; j++) /* 此為內迴圈 */ printf("%d*%d=%2d ", j, i, i*j); printf("\n"); 輸出結果 如同上圖 程式剖析 此程式利用巢狀迴圈輸出上圖九九乘法表 其中迴圈部份共執行了 9 乘以 9, 共 81 次 外迴圈 i 從 1 執行到 9, 而內迴圈 j 從 1 執行到 9 當 i 等於 1 時,j 會執行 9 次, 再回到外迴圈將 i 加 1, 等於 2, 由於 i 還是小於等於 9, 5-23
24 C 語言除錯高手 所以再執行外迴圈的 j, 從 1 到 9 共 9 次, 週而復始, 直到 i 大於 9 結束 程式利用欄位寬控制輸出的格式 我們再看下一範例 範例 5-4b /* ex5-4b.c */ /* 以巢狀 for 迴圈輸出九九乘法表 */ int i, j; printf("%44s", "<< 九九乘法表 >>\n"); for(i=1; i<=9; i++) /* 此為外迴圈 */ for(j=1; j<=9; j++) /* 此為內迴圈 */ printf("%d*%d=%2d ", i, j, i*j); printf("\n"); 輸出結果 程式剖析 此一範例和範例 5-4a 的輸出結果不太一樣, 請仔細觀察 printf 的敘述, 您找到不一樣的地方了嗎? 5-24
25 第 5 章迴圈敘述 小蔡老師請大家自已動手撰寫屬於九九乘法表的程式, 以下是幾位同學所撰寫的程式, 請大家一起來 debug 一下 1. 下一個程式是阿宏寫的程式, 請您修改一下 /* bugs5-4-1.c*/ int i, j; for(i = 1; i <=9; i++) for(j = 1; j <=9; j++) printf("%d*%d=%2d ", j, i, i*j); 2. 下一個程式是阿呆寫的程式, 請您修改一下 /* bugs5-4-2.c*/ int i, j; for(i = 1; i <=9; i++) for(j = 1; j <=9; j++) printf("%d*%d=%2d ", j, i, i*j); printf("\n"); 3. 下一個程式是阿志寫的程式, 請您修改一下 /* bugs5-4-3.c*/ int i, j; for(i = 1; i <=9; i++) 5-25
26 C 語言除錯高手 for(j = 1; j <=9; j++) printf("%d*%d=%2d\n", j, i, i*j); 4. 下一個程式是阿吉寫的程式, 請您修改一下 /* bugs5-4-4.c*/ int i, j; for(i = 1; i <=9; i++); for(j = 1; j <=9; j++) printf("%d*%d=%2d ", j, i, i*j); printf("\n"); 1. 以巢狀迴圈計算 1 * * * * * * break 與 continue break 和 continue 使用說明, 請參閱下表 敘述說明 break continue 強制結束迴圈或 switch...case 敘述 放棄執行 continue 以下的敘述, 但不會結束迴圈 5-26
27 第 5 章迴圈敘述 break 敘述 break 敘述的功能, 是結束迴圈或 switch...case 敘述的執行 但有一限制是 break 只能結束一層迴圈, 若 break 敘述是在巢狀迴圈的內層, 則它只能結束內層迴圈, 而不會結束整個迴圈 範例 5-5a /* ex5-5a.c */ /* 要求輸入一個單字, 顯示並計算字元個數 */ char letter; int count = 0; printf(" 請輸入一個單字 : "); scanf("%c", &letter); while(letter!= '\n') if(letter == 'a') /* 若遇到字元為 a, 則強迫跳離 */ break; if(letter!= '\n') count++; printf("%c", letter); scanf("%c", &letter); printf(" 共有 %d 字元 \n", count); 輸出結果 1 請輸入一個單字 : computer computer 共有 8 個字元 輸出結果 2 請輸入一個單字 : software softw 共有 5 字元 5-27
28 C 語言除錯高手 程式剖析 當遇到輸入字元為 a, 則使用 break 強制結束迴圈, 所以輸出結果 1 中, 能正確計算並顯示, 而輸出結果 2, 只顯示字元 a 之前的字元 再來看範例 5-5b, 它是利用不定數迴圈和 break 若輸入的整數值是 -999 時, 則結束迴圈, 否則, 將此整數值加總起來 範例 5-5b /* ex5-5b.c*/ int main() int i, num, total=0; printf(" 輸入 10 個整數, 累加正整數, 當輸入的值是負的, 則結束迴圈 \n"); for(i=1; i<=10; i++) printf(" 請輸入第 %2d 個整數 : ", i); scanf("%d", &num); if ( num >= 0) total += num; else break; printf("total=%d\n", total); 輸出結果 1 輸入 10 個整數, 累加正整數, 當輸入的值是負的, 則結束迴圈請輸入第 1 個整數 : 1 請輸入第 2 個整數 : 2 請輸入第 3 個整數 : 3 請輸入第 4 個整數 : 4 請輸入第 5 個整數 : 5 請輸入第 6 個整數 : 6 請輸入第 7 個整數 : 7 請輸入第 8 個整數 :
29 第 5 章迴圈敘述 請輸入第 9 個整數 : 9 請輸入第 10 個整數 : 10 Total = 55 輸出結果 2 輸入 10 個整數, 累加正整數, 當輸入的值是負的, 則結束迴圈請輸入第 1 個整數 : 1 請輸入第 2 個整數 : 2 請輸入第 3 個整數 : 3 請輸入第 4 個整數 : 4 請輸入第 5 個整數 : 5 請輸入第 6 個整數 : 6 請輸入第 7 個整數 : -90 Total = 21 程式剖析 使用者最多只能輸入十個整數, 如輸出結果 1 所示 當輸入的值是負的時候, 則不管您有沒有輸入十個數 迴圈主體內使用 break 來結束迴圈, 最後, 將 total 印出 如輸出結果 2 所示 continue 敘述 continue 敘述的功能是不執行 continue 以下的敘述, 而是再次的回到迴圈, 以執行適當的敘述 請參閱範例 5-5c 範例 5-5c /* ex5-5c.c */ /* 要求輸入一個單字, 顯示並計算字元個數 */ char letter; int count = 0; printf(" 請輸入一個單字 : "); scanf("%c", &letter); 5-29
30 C 語言除錯高手 while(letter!= '\n') if(letter == 'a') /* 若遇到字元為 a, 不列入顯示及計算 */ scanf("%c", &letter); continue; if(letter!= '\n') count++; printf("%c", letter); scanf("%c", &letter); printf(" 共有 %d 字元 \n", count); 輸出結果 1 請輸入一個單字 : software softwre 共有 7 字元 輸出結果 2 請輸入一個單字 : hardware hrdwre 共有 6 字元 程式剖析 將範例 5-5c 與範例 5-5a 比較, 就可以很明顯的發現 break 與 continue 的差別了, 使用 break 時, 遇到字元 a 後所有的字元皆不列入計算, 這是因為遇到字元 a 就跳出迴圈了 ; 而使用 continue, 只是放棄計算及顯示字元 a 的敘述而已, 但沒有結束迴圈, 所以除了 a 以外的字元, 皆能顯示並加以計算之 再來看範例 5-5d 5-30
31 第 5 章迴圈敘述 範例 5-5d /* ex5-5d.c*/ int main() int i, num, total=0; printf(" 輸入 10 個整數, 累加正整數 \n"); for(i=1; i<=10; i++) printf(" 請輸入第 %2d 個整數 : ", i); scanf("%d", &num); if ( num >= 0) total += num; else continue; printf("total=%d\n", total); 輸出結果 輸入 10 個整數, 累加正整數請輸入第 1 個整數 : 1 請輸入第 2 個整數 : 2 請輸入第 3 個整數 : 3 請輸入第 4 個整數 : 4 請輸入第 5 個整數 : 5 請輸入第 6 個整數 : -1 請輸入第 7 個整數 : 6 請輸入第 8 個整數 : 7 請輸入第 9 個整數 : 8 請輸入第 10 個整數 : 9 Total = 45 程式剖析 使用者一定要輸入十個整數, 但只累加正整數, 而忽略負整數 此範例與範例 5-5b 類似, 只是將 break 改為 continue 而已 5-31
32 C 語言除錯高手 1. 以下程式是小張以範例 ex5-5d 為基礎所寫出來的, 他將 for 迴圈改為 while 迴圈而已, 試問這樣寫是對嗎? 若不對, 請您修改一下囉! /* bugs5-5-1.c*/ int main() int i=1, num, total=0; printf(" 輸入 10 個整數, 只累加正整數 \n"); while(i<=10) printf(" 請輸入第 %2d 個整數 : ", i); scanf("%d", &num); if ( num >= 0) total += num; else continue; printf("total=%d\n", total); 2. 以下的程式是在加總您所輸入的整數值, 直到輸入 -999 為止 以下是小李子寫的程式, 請問他這樣寫對嗎? 若不對, 請加以修正之 /* bugs5-5-2.c */ int num, total=0; for(;;) printf("please input a number (-999 to quit): "); scanf("%d", &num); if ( num!= -999) total += num; printf("total=%d\n", total); 5-32
33 第 5 章迴圈敘述 年的總統大選, 假設有 3 個候選人, 分別是 1 號 : 謝長停,2 號 : 馬應久,3 號 : 宋安安 今有 10 張選票, 分別投給某位候選人, 最後請印出每位候選人的得票數及廢票 以下是小張寫的程式, 請你幫他改一下 感謝你 /* bugs5-5-3.c */ int i, number, a1=0, a2=0, a3=0, others=0; for(i=1; i<=10; i++) printf(" 候選人 : 1 號謝長停,2 號馬應久,3 號林痔嘉 \n"); printf(" 你要投那一個候選人 : "); scanf("%d", &number); switch (number) case 1: a1++; case 2: a2++; case 3: a3++; default: others++; printf("a1=%d, a2=%d, a3=%d, and others=%d\n", a1, a2, a3, others); 1. 請撰寫一程式, 至多輸入十個整數, 若輸入的值是偶數, 則將它加總起來, 若不是偶數, 則結束迴圈 最後將總和印出 2. 請撰寫一程式, 一定會輸入十個整數, 若輸入的值是偶數, 則將它加總起來 最後將總和印出 5-33
34 C 語言除錯高手 附加於條件運算式 當 ++ 附加於條件運算式時, 會使程式更加精簡, 但不易了解 例如, 我們可以將範例 5-2b 的以下片段程式 int i = 1, total = 0; while (i<=100) i++; 改寫為以下的片段程式 int i = 0, total = 0; while (++i <= 100) 這樣也可以達到相同的效果 值得注意的是, 現在 i 的初值是 0, 且 while 迴圈的條件運算式為 ++i <= 100 此運算式有兩個運算子 ++ 和 <=, 所以會執行兩件事 由於 ++ 運算優先順序高於 <=, 因此, ++ 先處理 這一運算式可視為先將 i 加 1, 再判斷 i 是否小於等於 100; 若為真, 則執行 total += i 若為假, 則結束迴圈 如範例 5-6a 所示 範例 5-6a /* ex5-6a.c */ int i = 0, total = 0; 5-34
35 第 5 章迴圈敘述 while (++i <= 100) printf(" = %d, i=%d\n", total, i); 輸出結果 = 5050, i=101 程式剖析 從輸出結果得知, 當 i 的值為 101, 則會結束迴圈 若將上述的前置加改為後繼加, 則下列的片段程式 int i = 0, total = 0; while (i++ < 100) 也可達成相同的效果, 但值得注意的是, 此處 while 迴圈的條件運算式為 i++ < 100 此條件運算式也有兩個運算子 ++ 和 <, 雖然 ++ 運算優先順序高於 <, 但由於它是後繼加, 所以會先處理 < 的運算子 此敘述可視為先判斷 i 是否小於 100, 不管此條件運算式為真或為假, 皆會執行 i 加 1, 這一點要特別注意 若條件運算式為真, 則會執行 若為假, 則不處理累加的動作 注意, 迴圈結束點是 i 等於 101 如範例 5-6b 所示 : 範例 5-6b /* ex5-6b.c */ 5-35
36 C 語言除錯高手 int i = 0, total = 0; while (i++ < 100) printf(" = %d, i=%d\n", total, i); 輸出結果 = 5050, i=101 上述的觀念也可以 do...while 迴圈撰寫之, 請參閱範例 5-6c 與 5-6d, 其輸出結果同上 範例 5-6c /* ex5-6c.c */ int i=1, total=0; do while (++i <= 100); printf(" = %d, i=%d\n", total, i); 範例 5-6d /* ex5-6d.c */ int i=1, total=0; do while (i++ < 100); printf(" = %d, i=%d\n", total, i); 5-36
37 第 5 章迴圈敘述 程式剖析 這兩個範例程式的差異是小於等於 100, 或是小於 100 當使用前置加時, 條件運算式為 ++i <= 100, 而當使用後繼加時, 條件運算式則為 i++ < 100 小蔡老師請大家將 1 加至 100, 並輸出 Total = 5050 以下是班上幾位同學所撰寫的程式, 請您 debug 一下 1. /* bugs5-6-1.c*/ int i = 0, total = 0; while (i++ <=100) printf("total = %d\n", total); 2. /* bugs5-6-2.c*/ int i = 0, total = 0; while (++i < 100) printf("total = %d\n", total); 5-37
38 C 語言除錯高手 3. /* bugs5-6-3.c*/ int i = 1, total = 0; while (++i <= 100) printf(" = %d\n", total); printf("i=%d\n", i); 4. /* bugs5-6-4.c*/ int i = 1, total = 0; do total +=i; while(i++<=100); printf(" = %d\n", total); printf("i=%d\n", i); 1. 試問下列片段程式的輸出結果為何? (a) int i=1,total=0; do while(i++<=100); printf("total = %d\n",total); 5-38
39 第 5 章迴圈敘述 (b) int i=1,total=0; do while(++i<=100); printf("total = %d\n", total); (c) int i=1, total=0; do while(i++ < 100); printf("total = %d\n", total); 5-7 關鍵字 迴圈敘述 (loop statement) for while do...while 巢狀迴圈 (nested loop) continue 5-8 問題演練 1. 試問下一程式的輸出結果為何? int i = 0; while (i < 3 ) switch (i++) case 0: printf("merry"); case 1: printf("merr"); break; case 2: printf("mer"); default: printf("christmas"); 5-39
40 C 語言除錯高手 2. 試問下一程式的輸出結果為何? 請以下列資料測試之 1, 1, 1, 2, 3, 0, 1, 4, 1, 3 int i = 0, num = 0, total = 0; printf("input 10 numbers, or type 0 to quit\n"); while(i++ < 10) printf(" %2d:", i); scanf("%d", &num); if (num ==0) break; total = total + num; printf("total = %d\n", total); 3. 試問下一程式的輸出結果為何? 請以下列資料測試之 1, 1, 1, 2, 3, 0, 1, 4, 1, 3 int i = 0, num = 0, total = 0; printf("input 10 numbers, or type 0 to continue\n"); while(i++ < 10) printf(" %2d:", i); scanf("%d", &num); if (num == 0) continue; total = total + num; printf("total = %d\n", total); 5-40
41 第 5 章迴圈敘述 4. 試問下一程式的輸出結果為何? int main() int i, num, total=0; printf(" 累加正整數 \n"); for(i=1; i<=10; i++) printf(" 請輸入 #%d 個整數 : ", i); scanf("%d", &num); if ( num >= 0) total += num; else continue; printf("total=%d\n", total); 5. 試問下列片段程式的輸出結果為何? (a) int x=0; while(++x<3) printf("%4d\n", x); (b) int x=100; while(x++<103) printf("%4d\n", x); printf("%4d\n", x); (c) char ch='s'; while(ch<'w') printf("%c", ch); ch++; printf("%c\n", ch); 5-41
42 C 語言除錯高手 6. 試問下列程式的輸出結果為何? (a) int main() int i,i1=0, i2=0, i3=0, i4=0, others=0, k; for(k=1; k<=5; k++) printf("please input a number : "); scanf("%d", &i); switch(i) case 1: i1++; break; case 2: i2++; break; case 3: i3++; break; case 4: i4++; break; default: others++; printf("i1=%d, i2=%d, i3=%d, i4=%d, others=%d\n",i1,i2,i3,i4,others); 試問分別輸入 1, 2, 3, 4, 5 的結果為何? (b) int main() int i,i1=0,i2=0,i3=0,i4=0,others=0, k; for(k=1; k<=5; k++) printf("please input a number:"); scanf("%d",&i); switch(i) case 1: i1++; case 2: i2++; break; case 3: i3++; case 4: i4++; break; 5-42
43 第 5 章迴圈敘述 default: others++; printf("i1=%d,i2=%d,i3=%d,i4=%d,others=%d\n",i1,i2, i3,i4,others); 試問分別輸入 1,2,3,4,5 的結果為何? 5-9 程式實作 1. 利用迴圈敘述, 印出以下的圖形 (a) * *** ***** ******* ********* ******* ***** *** * (b) * ** *** **** ***** ****** ******* ******** 2. 先要求使用者輸入等差數列的首項與公差, 再輸入項數, 最後, 利用迴圈敘述計算該數列的和 3. 利用迴圈敘述, 印出攝氏溫度與華氏溫度的對照表 從攝氏溫度 -50 到 100, 每間隔 10 印出 ( 提示 : 華氏溫度 =9/5 攝氏溫度 +32.0) 4. 印出費氏數列 (Fibonacci) 的前 15 次 ( 提示 : 某一項是其前兩項之和, 第一項為 1, 第二項為 1) 5-43
44 C 語言除錯高手 5. 以 16 進位印出 之乘法表, 輸出格式如下所示 5-44
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
Microsoft PowerPoint - 06_迴圈2.pptx
資料型別的選擇 如果資料或是運算過程可能會出現小數點 (e.g. BMI), 宜使用浮點數 (double, float) char 僅能儲存一個英文字 數字 或是英文中出現的標點符號等等鍵盤上可直接看得到 按得出的符號 若要儲存中文字, 目前建議使用 string 型別 A 和 A 的差別, 我們目前還沒辦法說得很詳細 只能說一個是字元 一個是字串 布林運算式的寫法 如果 x 等於, 就印出 Hello
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
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)
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 課程大綱 選擇控制
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
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 );
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
CC213
: (Ken-Yi Lee), E-mail: [email protected] 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] : ,
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 時, 電視台就會播出卡通節目海賊王,
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;
If Close[Length]!= 0 Then B Close[Length] 是 Length 日前的 Close 不是 0 的話則執行 B % Number 以 Divisor 來求取除法並傳回剩下的部份和 Divisor 具備相同的符 號 格式 :Number % Divisor Numb
邏輯判斷與條件控制語法說明 數學演算符號意義 * 乘法 / 除法 + 加法 - 減法! 這單字使用方式類似 Not 邏輯運算子 注意 : 由於是邏輯運算, 只能執行布林值 ( 真 / 假 ) 的運算, 不能被使用在 指標或數值運算中 If!A Then B 若 A 為 False 則!A 是 True 就執行 B, 若 A 為 True,!A 則為 False 就 退出 If ( 條件 ) 指令 If!
Java 程式設計初階 第 5 章:基本輸出入 & 流程控制
Java 程式設計 標準輸出入與流程控制 本章大綱 標準輸出入 (Standard I/O) 分支 (Branch) if ~ else switch ~ case 迴圈 (Loop) for while do ~ while 中斷指令 break continue 總整理 標準輸出 定義 : 將資料印到螢幕上 Java 標準輸出指令 System.out.println( 資料 ) 將資料印出後換行
<4D F736F F D DA5BFA6A1C476C1C92DBEC7ACECB8D5A8F728B57BB35D292E646F63>
全國高級中等學校 106 學年度商業類科學生技藝競賽 程式設計 職種 學科 試卷 選手證號碼 ( 崗位編號 ): 姓名 : 注意事項 : 請將答案劃記於答案卡, 未依規定劃記者不予計分 試題說明 :( 選擇題共 25 題每題 4 分, 答錯不倒扣, 共 100 分 ) ( )1. 執行以下 Visual Basic 程式片段, 其結果為何?(A) 15 (B) 12 (C) 7 (D) 3 Dim
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 程式語言篇 指標其實就是一位址 陣列的名稱, 表示此陣列第一個元素的位址, 所以它也是指標 由此可知, 指標與陣列的關係是很密切的
目次 CONTENTS 1 數列與級數 幾何圖形 三角形的基本性質 平行與四邊形
給同學的話 1 3 4 目次 CONTENTS 1 數列與級數 1-1 3 1-8 1 13 幾何圖形 -1 18 - -3 6 30 3 三角形的基本性質 3-1 35 3-39 3-3 44 3 48 4 平行與四邊形 4-1 54 4-59 4-3 63 4 68 3 1-1 數列 本節性質與公式摘要 1 數列 : 1 1 a 3 a 3 n n a n 3 n n1 a n1 4 n n1
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 - :,
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
國立北斗家商 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
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
Visual C# 2005程式設計
Visual Basic 2005 程式設 計 第 5 章流程控制 5-1 認識流程控制 判斷結構 (decision structures) If...Then Else Select Case Try Catch Finally 迴圈結構 (loop structures) For...Next For Each...Next Do...Loop While End While 5-2 If Then
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
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
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
######## 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
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,
untitled
1 DBF (READDBF.C)... 1 2 (filetest.c)...2 3 (mousetes.c)...3 4 (painttes.c)...5 5 (dirtest.c)...9 6 (list.c)...9 1 dbf (readdbf.c) /* dbf */ #include int rf,k,reclen,addr,*p1; long brec,erec,i,j,recnum,*p2;
C 語言—陣列及字串
10/16 系程主講人 : 荊輔翔 概論 陣列 陣列是一個具有索引 (index) 性質的連續資料儲存空間集合 陣列中每一個資料儲存空間稱之為陣列元素 (array element); 它們都具有相同的資料名稱 資料型態 及空間大小 ; 但存取它們時則須藉由索引 ( 或稱註標 ) 來區別辨識 索引代表資料在陣列中的相對位址 ( 其計數由 0 開始, 其餘累加類推 ), 且須由中括號 [ ] 涵蓋之
Python_02
Python 程式設計 林奇賦 [email protected] Outline u 流程控制 u 迴圈 布林運算 u 有三種布林運算 and, or, not 運算範例結果 or 2==3 or 3 < 7 True and 2==3 and 3 < 7 False not not 3 < 7 False 比較運算子 運算符號 描述 < 小於 大於 >= 大於或等於 ==
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
PHP與MySQL 入門學習指南
資訊管理學系 授課教師 : 黃元巨博士 第 12 章迴圈指令 本章大綱 12 1 FOR 迴圈 12 2 巢狀 FOR 迴圈 12 3 FOREACH 迴圈 12 4 WHILE 迴圈 12 5 BREAK 12 6 CONTINUE 問題與討論 12 1 FOR 迴圈 使用迴圈指令來解決重複計算的問題 已知迴圈的起始值及終止值, 或已知需要的迴圈次數時, 我們會使用 FOR 指令 格式如下 : for
zt
! ! !"" #" $ !"#$ % & " ())! "# ( ( * % & * % (+() (%, !"#$ "%& ( % !"!#$% $%&!"%! %& ( !" #$ %$!#!" & !" #$%$ &" ( ( ) * !! " #!$!! %&!! % ( ( &% )* )" ") (! !"#!"#!"$!!%!#%!&!(!(!)*!**!!%*!$* #") #")
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
ACI pdf
09 9.1 -...9-2 9.1.1...9-2 9.1.2...9-3 9.2 -...9-4 9.2.1 PMT - ()...9-4 9.2.2...9-6 9.3 -...9-8 9.3.1 PMT - ()...9-8 9.4...9-10 9.4.1... 9-11 9.4.2...9-12 9.4.3...9-14 9.5 -...9-17 9.5.1...9-18 1 Excel...9-21
( 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.
Ps22Pdf
( 98 ) C ( ) ( )158 1998 C : C C C,,, C,, : C ( ) : : (, 100084) : : : 7871092 1/ 16 :18 25 :415 : 2000 3 1 2000 3 1 : ISBN 7 302 01166 4/ T P432 : 00016000 : 22 00 ( 98 ) 20 90,,, ;,,, 1994, 1998, 160,
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
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
Microsoft PowerPoint - ch04_AEL0080.ppt
4 選擇 在正常的情況下, 電腦程式的執行是以敘述的排列次序逐步處理的 使用控制架構 (control structures) 可以改變這種既定的先後次序, 讓程式得以進行更複雜的運算, 或以更簡潔的指令來實現演算法 1/42 選擇 4.1 演算法的描述方式 4.2 變數的運用範圍 (Scope of variables) 4.3 if- 敘述 4.4 巢狀 if- 敘述 (Nested if statements)
CC213
: (Ken-Yi Lee), E-mail: [email protected] 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++
單步除錯 (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)
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 /
2. S 輸入一個整數 n, 求出從 1 ~ n 所有可以被 3 整除及又可以被 7 整除所有 的數字的總和的程式 ( 請上傳 Sum_3_7.py 檔 ) Sum_3_7.py 程式樣版 n = int(input()
朝陽資管系進修部 python 程式檢定題庫 1. S 請試撰寫一程式, 讓使用者傳入一數值 A, 判斷此數是否為 2 或 3 的倍數, 如是印出 true, 否則印 false ( 請上傳 Multiple.py 檔 ) 0 true 184 true 84 true 78 true 91 false Multiple.py 程式樣板 A = int(input()) 2. S 輸入一個整數 n,
Microsoft Word - 6.doc
CHAPTER 迴圈流程控制 本章重點 6.1 迴圈結構 for 6.2 迴圈結構 while 6.3 continue 與 break 敘述 6.4 視窗程式範例 6.5 習題 在程式流程控制當中, 除了上一個單元的判斷流程控制以外, 另一個很重要的部分就是迴圈流程控制了 什麼時候會用到迴圈流程控制呢? 舉最簡單的例子來說, 若我們要用前面常用的 WriteLine 方法, 在螢幕上印出 100
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( )
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
<4D F736F F D B0D3B77EC3FEA7DEC3C0C476C1C9A5BFA6A1B8D5C3442DB57BA6A1B35DAD702DBEC7ACEC2E646F6378>
全國國高級中中等學校 105 學年度商商業類學學生技藝藝競賽 程式式設計 職職種 學學科 試試卷 崗位位編號 : 姓名 : 注意事項 : 請將答案案劃記於答案案卡, 未依依規定劃記者者不予計分分 試題說明 :( 選擇題每每題 4 分, 共 100 分 ) ( )1. 執行以下 Visual Basic 程式片段, 其結果為何?(A) 15 Dim i As Byte i = &HFC Console.WriteLine(Not
Java 程式設計初階 第 5 章:基本輸出入 & 流程控制
Standard I/O & Flow Control Outline 2 Standard I/O Branch if ~ else switch ~ case Loop For while do ~ while Interrupt Break continue Conclusion Standard I/O 3 Definition: 將資料印到螢幕上 Java 標準輸出指令 System.out.println(
Microsoft Word - ch03.doc
Chapter 流程控制 本章重點 3.1 選擇結構 3.2 重複結構 3.3 實例 - 猜數字遊戲 3.4 習題 程式設計經典 3.1 選擇結構 學習程式語言首先熟悉如何宣告各變數的資料型別後, 接著便要熟悉該程式語言各敘述的語法, 其中用來設計輸入介面的輸出入敘述和控制程式的流程控制敘述是最基本的語法, 靈活使用這些敘述便可寫出簡單的程式出來 至於一個控制程式流程是由循序 選擇和重複三者敘述組合而成
untitled
1 Outline 流 ( ) 流 ( ) 流 ( ) 流 ( ) 流 ( ) 狀 流 ( ) 利 來 行流 if () 立 行 ; else 不 立 行 ; 例 sample2-a1 (1) 列 // 料 Console.Write(""); string name = Console.ReadLine(); Console.WriteLine(" " + name + "!!"); 例 sample2-a1
Microsoft Word - _m30.doc
1 2 3 4 5 6 7 8 公式 2 4 2 1 能 整除 因此後玩 者贏 且關鍵數 字為3 的倍數 3 0 3 1 不能整除 所 以先拿餘數 2 關鍵數字是 4的倍 數 2 先玩者贏 4 0 4 1 能整除 因此 後玩者贏 且 關鍵數字為 5 的倍數 5 0 5 1 不能整除 所 以先拿餘數 2 關鍵 數字是 6的倍 數 2 先玩者贏 7 0 6 1 能整除 因此 後玩者贏 且 關鍵數字為7
¥¼©R¦W-5
迴圈敘述 5 我們 類的生活有許多事都是具有重覆性的, 例如㆒ 有 24 小時, ㆒星期有七, 同㆒門課要 18 次才能拿到學分, 程式設計是要解決日常生活可預期的事件, 為了解決日常生活的重覆性, BCB 的迴圈敘述如 1. for 2. while 3. goto for 的使用時機為設計階段已知執行次數, 請看 5-1 節 若未知執行次數, 則應使用 while, 請看 5-2 節 goto
第 15 章遞迴呼叫 本章學習目標 說明遞迴函式呼叫概念 透過範例介紹遞迴函式呼叫與應用 本章重點概述 本章主要介紹如何使用遞迴函式呼叫進行計算 1
第 15 章遞迴呼叫 本章學習目標 說明遞迴函式呼叫概念 透過範例介紹遞迴函式呼叫與應用 本章重點概述 本章主要介紹如何使用遞迴函式呼叫進行計算 1 15.1 何謂遞迴函式 遞迴就是函數自己呼叫自己 如果一個問題的解決可以拆成多個相同的小問題, 這 樣的問題就很適合使用 以 階層數 計算的問題為例, 若階層數的函式為 fac(n) = n (n-1) (n-2) 1, 如果不使用遞迴呼叫時我們可以把式子寫成下列形式,
CC213
: (Ken-Yi Lee), E-mail: [email protected] 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
Microsoft Word - NEWch (P5-15).doc
C h a p t e r 流程控制 ( 二 ) 重複結構 學習 For Next 迴圈的使用時機和用法 學習巢狀 For Next 迴圈的用法 學習取得工作表資料的最下列和最右欄 學習 Do Loop 和 For Next 迴圈的差異 學習 Do While Loop 和 Do Loop While 迴圈 學習 Do Until Loop 和 Do Loop Until 迴圈 學習前測式和後測式
資料結構之C語言重點複習
鏈結串列自編教材 ( 一 ) 本教材 ( 一 ) 目標問題 : 每次以亂數產生一 [0,1000] 之整數值, 若該值 >100, 則以同方式繼續產生下一亂數值, 若該值
Microsoft Word - administrative-law-08.doc
行 政 法 第 八 講 : 公 務 員 綱 要 一 公 務 員 之 概 念 ( 一 ) 學 理 上 之 概 念 ( 二 ) 法 律 上 之 概 念 二 公 務 員 關 係 之 特 質 : 特 別 權 力 關 係 ( 一 ) 起 源 ( 二 ) 定 義 ( 三 ) 現 代 定 義 ( 四 ) 加 入 之 原 因 ( 五 ) 種 類 ( 六 ) 特 色 ( 七 ) 理 論 演 變 ( 八 ) 存 廢 問
Chapter 3 Camera Raw Step negative clarity +25 ] P / Step 4 0 ( 下一頁 ) Camera Raw Chapter 3 089
Photoshop CC Camera Raw Photoshop Camera Raw Step 1 3 1 2 3 SCOTT KELBY Step 2 B Camera Raw 088 Chapter 3 Camera Raw Chapter 3 Camera Raw Step 3-4 -100 negative clarity +25 ] P / -75-50 Step 4 0 ( 下一頁
Microsoft PowerPoint - FS720-Ch06.ppt
第 6 章 流程控制 ( 二 ): 迴圈 著作權所有 旗標出版股份有限公司 1 本章提要 6-1 for 迴圈 6-2 while 迴圈 6-3 do/while 迴圈 6-4 巢狀迴圈 6-5 變更正常流程的 break 與 continue 6-6 綜合演練 2 1 認識迴圈 迴圈是用來解決重複性工作 ( 重複的執行動作 ) 的敘述 在日常生活中, 往往我們都會為了一些例行性 (routine)
1
守大學電機系 電腦視覺 報告 單元一 數位影像 : 格式和操作 參考解答 MIAT( 機器智慧與自動化技術 ) 實驗室 中華民國 93 年 9 月 29 日 1. (a) 如果指紋影像 finger300x300 的取像面積是 14(mm)x14(mm), 請計算取像系統的 dpi (b) 如果 kaoshiung512x512 遙測影像的覆蓋面積是 5(Km)x5(Km), 請計算該影像的解析度
此運算子具有的優先順序高於下一個區段且低於前一個區段 請注意, 您可以按一下運算子以移至內附範例的詳細資料頁面 x && y 邏輯 AND 如果第一個運算元為 false,c# 就不會評估第二個運算元 條件 OR 運算子 此運算子具有的優先順序高於下一個區段且低於前一個區段 請注意, 您可以按一下運
https://msdn.microsoft.com/zh-tw/library/6a71f45d.aspx 關係和類型測試運算子 傳回真 (true) 假 (false) 值這些運算子具有的優先順序高於下一個區段且低於前一個區段 請注意, 您可以按一下運算子以移至內附範例的詳細頁面 x < y 小於 ( 如果 x 小於 y, 則為 true) x > y 大於 ( 如果 x 大於 y, 則為 true)
封面-12
第十二章 701Client TECHNOLOGY CO.,LTD. 701Client 701Server 701Client "701Client", 12-1 :supervisor :supervisor : 1. : 00~99 100 2. : 00~63 ( 63 / / ) 3. : 18 9 4. : 18 9 5. 12-2 TECHNOLOGY CO.,LTD. 701Client
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
C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha
CYPOK CYPOK 1 UltraEdit Project-->Install Language Tool: Language Suite----->hi-tech picc Tool Name ---->PICC Compiler Executable ---->c:hi-picinpicc.exe ( Command-line Project-->New Project-->File Name--->myc
新・解きながら学ぶ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
p.2 1. a. b. c. (i) (ii)
p.1 p.2 1. a. b. c. (i) (ii) p.3 2. 1840 1860 1925 a. : b. : ( ) ( ) p.4 3. 1937 12 17 1990 12 31 12 19 12 28 12 28 p.5 a. i. ii. b. c. d. () p.6 4. 1918 2 26 3 614 2000 a. b. / p.7 5. 1 2 p.8 a. 1 2 2
第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
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(" 專北一 "," 專北二 "," 專北三 "," 專桃園 "," 專桃竹 "," 專中苗 ", " 專台中 "," 專台南 ","
Java 程式設計入門
Java 程式設計入門 講師 : 陳昭源 CISE, NTU August 28, 2005 Outline 變數 Variables 運算子 Operators 運算式 (Expressions) 敘述(Statements) & 程式區塊 (Blocks) 流程控制 Control Flow Statements if-else statements switch statements August
Microsoft Word - ACI chapter00-1ed.docx
前言 Excel Excel - v - 財務管理與投資分析 -Excel 建模活用範例集 5 相關 平衡 敏感 - vi - 前言 模擬 If-Then 規劃 ERP BI - vii - 財務管理與投資分析 -Excel 建模活用範例集 ERP + BI + ERP BI Excel 88 Excel 1. Excel Excel 2. Excel 3. Excel - viii - 前言 1.
新版 明解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
,,!!!?,?,!,,,,,,,,,,!,,, : 1 ,,,,!, :, :,?,,,, 2 ( 1 ) 7 0 ( 11 ) ( 12 ) ( 13 ) ( 14 ) ( 15 ) ( 17 ) ( 18 ) ( 19 ) ( 21 ) ( 22 ) ( 23 ) ( 25 ) ( 26 ) ( 27 ) ( 29 ) ( 30 ) ( 31 ) ( 32 ) ( 33 ) ( 34 ) (
新・明解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
2. S 輸入一個整數 n, 求出從 1 ~ n 所有可以被 3 整除及又可以被 7 整除所有 的數字的總和的程式 ( 請上傳 Sum_3_7.class 檔 ) Sum_3_7.java 程式樣版 public cla
朝陽資管系進修部 java 程式檢定題庫 1. S 請試撰寫一程式, 讓使用者傳入一數值 A, 判斷此數是否為 2 或 3 的倍數, 如是印出 true, 否則印 false ( 請上傳 Multiple.class 檔 ) 0 true 184 true 84 true 78 true 91 false Multiple.java 程式樣版 public class Multiple int A
90 課程 大綱 條件判斷 : if ( 表 示式 ) {... } [P.91] 如果表 示式成 立就... if ( 表 示式 ) {... } else {... } [P.93] 如果表 示式成 立就... 否則就.. C / C++ 的複合指定與遞增遞減運算 子 [P.96] 重複執 行
89 第三講 程式流程控制 ( 上 ) 講師 : 李根逸 (Ken-Yi Lee), E-mail: [email protected] 90 課程 大綱 條件判斷 : if ( 表 示式 ) {... } [P.91] 如果表 示式成 立就... if ( 表 示式 ) {... } else {... } [P.93] 如果表 示式成 立就... 否則就.. C / C++ 的複合指定與遞增遞減運算
Microsoft Word - Chap02.doc
標準的輸入與輸出 2-1 字元的輸出與輸入 2-2 格式化的輸出與輸入 2-3 摘要 2-4 關鍵字 2-5 問題演練 2-6 程式實作 i 上 C 語言 這一章我們將談論標準的輸入與輸出 (standard input/output) 所謂標準的輸入與輸出, 其作用端分別為鍵盤和螢幕 除了標準的輸入與輸出外,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;
6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit
6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C51 6.1 C51 6.1.1 C51 C51 ANSI C MCS-51 C51 ANSI C C51 6.1 6.1 C51 bit Byte bit sbit 1 0 1 unsigned char 8 1 0 255 Signed char 8 11 128
_汪_文前新ok[3.1].doc
普 通 高 校 本 科 计 算 机 专 业 特 色 教 材 精 选 四 川 大 学 计 算 机 学 院 国 家 示 范 性 软 件 学 院 精 品 课 程 基 金 青 年 基 金 资 助 项 目 C 语 言 程 序 设 计 (C99 版 ) 陈 良 银 游 洪 跃 李 旭 伟 主 编 李 志 蜀 唐 宁 九 李 涛 主 审 清 华 大 学 出 版 社 北 京 i 内 容 简 介 本 教 材 面 向
基本數學核心能力測驗_行為觀察記錄紙_G2版本
基本數學數學核心能力測驗 G2 行為觀察記錄記錄紙 學校 : 班級 : 姓名 : 日期 : 記錄者 : ~ 學生作答時, 請他 ( 她 ) 將雙手皆置於桌面 ~ 認識數字 ( 三 ): 數列 ( 共 1 頁 ) 注意事項 逐題觀察並作底下記錄, 等分測驗做完後, 每一個策略任選一題問 這一題你是怎麼算的? ( 如果只運用一種策略, 則再任選 2-3 題訪問 ) 利用學生的回答來作為 自己觀察記錄的證據
untitled
1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 [email protected] www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立
<4D6963726F736F667420506F776572506F696E74202D20393931303131ABE1A4A420A4A4C2E5BEC7B7A7BDD720C2E5BEC7B7BDAC79BB50B56FAE6920ADD9B0B7AFE82E707074205BACDBAE65BCD2A6A15D>
中 醫 學 源 流 義 大 醫 院 中 醫 部 倪 健 航 醫 師 + 世 界 三 大 傳 統 醫 療 體 系 ( 一 ) 中 國 醫 學 體 系 ( 陰 陽 五 行 ) ( 二 ) 印 度 醫 學 體 系 ( 長 壽 治 病 身 心 靈 ) ( 三 ) 整 脊 醫 學 體 系 ( 徒 手 操 作 ) 1 + 研 究 人 體 生 理 病 理, 以 及 疾 病 的 診 斷 和 防 治 等 的 一 門
