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

Size: px
Start display at page:

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

Transcription

1 1 C / C++ 程式設計基礎班 講師 : 李根逸 (Ken-Yi Lee), feis.tw@gmail.com

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

3 3 課程 大綱 (2) 章主相關保留字 運算 子或符號 第四章 程式流程控制 ( 下 ) for, switch, case, default continue, break 第五章 函式 return 第六章 陣列與字串 [ ], 第七章 第 八章 指標 進階指標 *, & const

4 4 課程 大綱 (3) 章主相關保留字 運算 子或符號 第九章 結構 struct, enum 第 十章 檔案輸 入輸出 FILE, #include, #define 第 十 一章 物件與類別 class, private, public, 第 十 二章 多型與繼承 protected, virtual

5 5

6 6

7 7

8 8

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

10 10 課程 大綱 課程簡介 [P.11] 課程使 用的軟體 : Dev C++ [P.12] 課程網 頁 : 期數 [P.13] 課程講義 [P.14] 參考書籍 : C 程式設計藝術 [P.15] 成績評量 [P.16] 其他資訊 [P.17] 程式語 言簡介 [P.19] 快速上 手 [P.24] 啟動 Dev C++ [P.25] 編譯與執 行程式 [P.28] Hello world [P.29] 記憶體的概念 [P.34] C / C++ 的運算 [P.35]

11 11 課程簡介 本課程教導 C / C++ 程式語 言的基礎, 適合稍微或沒有程式設計經驗但有興趣的學員 但是修習本課程需要有基本的英 文打字能 力 本課程內容包含 C 與 C++ 語 言的基礎, 在前半段介紹 C 語 言與 C++ 共通的部份, 後半段補充 C++ 語 言與 C 語 言的差異 ( 主要是介紹物件導向程式設計的概念 ) 雖然這麼說不盡精確, 但可以先把 C++ 算是 C 的 一種擴充加強版 思考 那為什麼我們需要兩個語 言 而不是發明 C 語 言 2.0?

12 12 課程使 用的軟體 撰寫程式需要安裝具有編譯 C/C++ 程式能 力的整合性開發環境或編譯軟體 : 編譯軟體 (Compiler): Microsoft Visual C++ (MSVC++) The GNU Compiler Collection (GCC) 整合開發環境 (IDE: 包含某套編譯軟體 ): Microsoft Visual Studio (MSVC++) Dev C++ (GCC) 其他 : Code::blocks, Qt Creator, 等等. 教室電腦內裝有 Microsoft Visual Studio Code::Blocks 與 Dev C++ 上課 示範將以 Dev C++ 為主

13 13 課程網 頁 課程網 頁的網址 : 期數 課程網 頁上會放置課程預定進度 每次上課使 用的投影 片 範例檔和補充教材供學員下載閱讀與練習 如果課程臨時有什麼變動, 我們會更新網 頁通知 因天氣因素停 止上課的標準以 人事 行政局為準 因為課程進度將隨著上課情形與同學反應 而有所變動, 所以我們的課程網 頁將會動態更新 網 頁內容如果有任何缺失或資料遺漏還 麻煩 大家提醒 Facebook 討論區 : 提供訊息發佈 問題發問或資訊交流的管道

14 14 課程講義 上課 用的投影 片紙本會作為上課 用的講義 講義為講師個 人學習 實務與教學經驗的集成, 雖然已經不停的更新補充, 但是編寫時錯誤缺漏或不盡如 人意的地 方難免, 有任何問題或建議請跟講師反應 講義內容主要包含四個部分 : 觀念 範例 補充與習題 範例 : 我們上課會細講某些選過的範例, 而未講述的範例請回家 自 行練習 範例解答在課程網 頁會提供, 請盡量做到能夠不參考解答下完全獨 力寫出範例 初學者請每隔 一段時間重複練習範例到熟練 補充 : 上課不會細講的內容, 通常是已經學過要複習時看 習題 : 我們不提供完整的習題解答也不建議每個 人都要寫習題, 尤其初學者請以範例為主 對於習題有任何問題請直接詢問講師, 講師會依照學 生的反應給予適當提 示或 示範

15 15 參考書籍 本課程主要參考書籍 : C : How to Program C 程式設計藝術 其他課程相關 C 參考書籍有 : The C Programming Language C Programming: A Modern Approach Headfirst C 其他課程相關 C++ 參考書籍有 : C++ How to Program The C++ Programming Language 其他中 文參考書籍 : C 語 言教學 手冊 旗標 C/C++ 無痛學習教本 旗標 建議初學程式語 言者還是需要 一本 入 門參考書籍

16 16 成績評量 出席率與隨堂練習 (40%) 期中與期末測驗 ( 各 30%) 70 分及格 第 1 堂課 第 2-4, 6-8, 堂課 第 5, 9 堂課 時 19:00 上課 20:00 休息 20:10 上課 21:00 隨堂練習 休息 Q&A 21:30 下課 時 19:00 隨堂練習 19:20 批改與講解 19:30 休息與 Q&A 19:40 上課 20:40 休息 20:40 上課 21:30 下課 時 19:00 測驗開始 20:50 測驗結束 21:00 檢討與 Q & A 21:30 下課

17 17 其他資訊 門禁系統 : 假 日整天或平 日的晚上 大 門會上鎖, 我們會發放感應式的 門禁卡讓學員使 用 ( 需 100 元押 金 ) 於最後 一次上課結束時需要繳回卡並拿回押 金 請注意 門禁卡只能使 用在系館正 門 垃圾處理 : 請千萬不要將垃圾丟棄 至廁所內垃圾桶 請拿 至 一樓中庭 ( 電梯旁 小 門外 ) 垃圾分類區丟棄 在校內停 車費 用 : 可以使 用學員證或請講師在停 車單據上加蓋本班班章會有等同校內學 生停 車的折扣 學員證與收據 學員證約在第 一次上課發放 收據約在第 二次上課發放 錯過的同學請記得在上課期間跟 老師索取

18 程式語言簡介 18

19 19 程式語 言 程式語 言 (Programming Language) : A programming language is a formal language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely. - from Wikipedia 程式語 言 (programming language) 是 用來控制 (control) 機器 (machine) 行為 (behavior) 的形式 (formal) 語 言

20 20 什麼是機器/電腦 from Wikipedia

21 21 電腦的組成 抽象來說 電腦內包含了 輸 入單元 (Input): 例如鍵盤和滑 鼠 (感官) 輸出單元 (Output): 例如螢幕和印表機 (嘴巴 肢體) 輔助儲存單元 (Storage) : 例如硬碟和光碟 記憶單元 (Memory): 例如記憶體 中央處理單元 (CPU) 程式設計核 心 (記憶與計算)

22 22 程式語 言的分階 程式語 言 一般來說可分為三個階層 : 機器語 言 : 組合語 言 : LOAD A ADD B STORE SUM 高階語 言 : SUM = A + B 指令集 : 硬體 支援的指令 (x86, ARM,...) 常 見的 高階語 言有 C, C++, Java, Pascal, Python,...

23 23 C / C++ 語 言的歷史 C 語 言是 一種 高階語 言 西元 1972 年由 Dennis Ritchie 所開發 西元 1989 年, 美國國家標準局通過 ANSI X ( 俗稱 C89) [ 目前常 用 ] 西元 1990 年, 國際標準組織 (ISO) 通過 ISO/IEC 9899:1990 ( 俗稱 C90) [ 內容與 C89 雷同 ] 西元 1999 年, 國際標準組織 (ISO) 通過 ISO/IEC 9899:1999 ( 俗稱 C99) C++ 語 言原則上包含了 C 語 言 西元 1998 年, 國際標準組織 (ISO) 通過 ISO/IEC 14882:1998 ( 俗稱 C++98) [ 目前常 用 ] C++ 加 入了 一些傳統 C 語 言沒有的 語 言特性, 最為 人所知的就是 物件導向程式設計 (OOP) 的相關語法

24 快速上手 24

25 25 啟動 Dev C++ 開始 > 所有程式 > Bloodshed Dev C++ > Dev C++ 整合開發環境 (IDE) 編輯器 程式碼 (*.cpp) 編譯器 執 行檔 (*.exe)

26 Dev C++ 的縮排設定 一般像是 Dev C++ 和 Microsoft Visual Studio 這類的整合開發環境 (IDE), 可以 自動判斷程式內容幫助你縮排 因此在程式碼的撰寫過程中, 軟體會 自動加 入 Tab 或空 白 以 Dev C++ 為例, 可以到這裡修改縮排設定 : Tools ( 工具 ) > Editor Options ( 編輯器選項 ) > General ( 一般 ) 此外,Dev C++ 預設會 自動在輸 入左括號後加上右括號, 不喜歡的話可以到下 面的設定修改 : Tools ( 工具 ) > Editor Options ( 編輯器選項 ) > Code Insertion ( 插 入程式碼 ) > Symbol Completion ( 符號完成 ) 把 Enable symbol completion ( 啟 用符號完成 ) 關閉

27 27 基本操作 開新檔案 : File ( 檔案 ) > New ( 開新檔案 ) > Source file ( 原始碼 ) 儲存檔案 : File ( 檔案 ) > Save [As] ( 儲存 ) 檔名請勿含有空 白並避免含有特殊符號 ( 例如中 文 ) 使 用 cpp 作為副檔名 開啟 一個已經存在的檔案 : File ( 檔案 ) > Open ( 開啟 )

28 28 編譯與執 行程式 程式檔 (.c,.cpp) 需要經由編譯 (Compile) 的動作才能成為執 行檔 (.exe) 讓電腦執 行 (Run) Execute ( 執 行 ) > Compile ( 編譯 ) F9 編譯成功後會產 生執 行檔 Done 表 示編譯成功可以 用 F11 進 行編譯後直接執 行 Execute ( 執 行 ) > Run ( 執 行 ) F10 要先編譯成功才會有執 行檔可以執 行 常 用的指令 : 編譯並執 行 F11 Execute ( 執 行 ) > Compile&Run( 編譯並執 行 ) F11

29 29 範例 Hello world [1] 請開啟 一個新檔案並輸 入下列程式碼後編譯並執 行 F11 : /* My first program */ #include <stdio.h> int main() { printf( Hello world \n ); return 0; } printf( 字串 ) 是 一個可以 用來印出字串在螢幕上的函式 試著在電腦裡找到你的程式碼檔案跟執 行檔後點擊執 行看看 範例 helloworld_1.cpp

30 30 範例 Hello world [2] 請寫 一程式, 輸 入下列程式碼後編譯並執 行 F11 : /* My first program */ #include <stdio.h> #include <stdlib.h> int main() { printf( Hello world \n ); system( pause ); return 0; } system( 指令 ) 是 一個在作業系統上執 行指令的函式 pause 是 MS-DOS 作業系統中 用來暫停並等待輸 入的指令 範例 helloworld_2.cpp

31 31 範例 Hello world [3] 請寫 一程式, 輸 入下列程式碼後編譯並執 行 F11 : /* My first program */ #include <stdio.h> #include <stdlib.h> int main() { printf( Hello ); printf( world \n ); system( pause );; return 0; } 範例 helloworld_3.cpp

32 32 範例 顯 示 文字 請寫 一個程式顯 示下 面的 文字圖案給使 用者看 H H A H H A A HHHHHH A A H H AAAAAAA H H A A 思考 我們需要使 用幾次 printf(...)? 範例 print.cpp

33 33 補充 跳脫串列 在 printf 的格式字串中, 我們需要使 用跳脫串列來讓電腦顯 示 一些無法或不易直接輸 入的符號或 文字 : 跳脫串列 說明 \n Newline ( 換 行 ) \t Tab ( 跳位 ) \\ 反斜線 \ 雙引號 \b 發出逼逼聲

34 34 範例 計算兩數相加 試寫 一程式如下 : /* Addition program */ #include <stdio.h> #include <stdlib.h> int main(){ int integer1; int integer2; int sum; printf("please enter the first integer: "); scanf("%d", &integer1); printf("please enter the second integer: "); scanf("%d", &integer2); sum = integer1 + integer2; printf("sum is %d\n", sum); system("pause"); return 0; } 範例 add.cpp

35 35 記憶體的概念 /* Addition program */ #include <stdio.h> #include <stdlib.h> int main() { } int integer1; int integer2; int sum; int 表 示整數型別 printf("please enter the first integer: "); scanf("%d", &integer1); scanf 函式會從鍵盤讀 入資料後存放在指定的變數 (%d 表 示讀 入 一個整數 ) printf("please enter the second integer: "); scanf("%d", &integer2); sum = integer1 + integer2; printf("sum is %d\n", sum); system("pause"); return 0; printf 内 %d 表 示印出 一個整數 思考 printf( Sum is sum\n ); 不 行嗎? &integer &integer &sum integer1 (int)? integer2 (int)? sum (int)?

36 36 C / C++ 的運算 * 5 是多少? 運算時請注意運算 子優先順序 先乘除後加減 可以適當加上括號 ( ) 來調整優先順序 賦值運算 子 (=) 賦值 是指將等號左邊的變數賦予等號右邊的值 一般情況下只有賦值運算 子可以改變變數的值 運算 運算 子 加法 + 減法 - 乘法 * 除法 / 餘數 % 賦值 =

37 37 範例 計算乘積 請寫 一個程式讓使 用者依序輸 入兩個整數後算出兩個整數的乘積顯 示給使 用者看 提 示 : 請由 add.cpp 開始改起 Please enter the first integer: 3 Please enter the second integer: 4 Product is 12 範例 multi2.cpp 請寫 一個程式讓使 用者依序輸 入三個整數後算出三個整數的乘積顯 示給使 用者看 提 示 : 請由 multi2.cpp 開始改起 Please enter the first integer: 3 Please enter the second integer: 4 Please enter the third integer: 5 Product is 60 範例 multi3.cpp

38 38 範例 更多計算 請寫 一個程式讓使 用者分別輸 入三個整數後, 算出三個整數的和 平均值 乘積並顯 示給使 用者看 Please enter the first integer: 3 Please enter the second integer: 4 Please enter the third integer: 5 Sum is 12 Average is 4 Product is 60 範例 calc.cpp 請寫 一個程式讓使 用者輸 入 一個整數後顯 示該數的平 方數值 Please enter the integer: 3 9 範例 squared.cpp

39 39 printf 與 scanf 函式 printf 可以連續輸出多個變數 : 可連在 一起寫成 : printf( Sum is %d\n, sum); printf( Average is %d\n, average); printf( Product is %d\n, product); printf( Sum is %d\naverage is %d\nproduct is %d\n, sum, average, product); scanf 可以連續讀取多個變數 : scanf( %d%d%d, &integer1, &integer2, &integer3); printf 可以在 % 後加上最少顯 示位數 : printf( Sum is %5d\n, sum); printf( Sum is %05d\n, sum); 留五格 留五格, 不 足補零

40 40 範例 位數解析 試寫 一程式讓使 用者輸 入 一整數後, 顯 示其個位數字 提 示 :% 運算 子可以 用來求餘數 範例輸 入 : 範例輸出 : 5 範例輸 入 : 範例輸出 : 1 範例 digit1.cpp 試寫 一程式讓使 用者輸 入 一整數後, 顯 示其百位數字 範例輸 入 : 範例輸出 : 3 範例輸 入 : 範例輸出 : 3 範例 digit3.cpp

41 41 初學 C / C++ 程式設計流程 步驟 一 [ 空殼 ]: 寫出 main 步驟 二 [ 流程 ]: 依照執 行順序寫出輸 入與輸出的程式碼, 對於未知或未定的數值給予 一個變數名稱 步驟三 [ 資料 ]: 檢查所有的變數在程式碼中是否在正確的時候給予正確的值

42 42 初學寫程式碼時在乎的是? 正確性程式碼是否正確的產 生想要的結果可讀性程式碼是否容易閱讀與理解效率 CPU 使 用效率 ( 時間效率 ) 是否使 用最少的指令 記憶體使 用效率 ( 空間效率 ) 是否配置了最少的記憶體空間 彈性是否容易依照需求的變更改變程式碼

43 43 習題 [1] [E0101] 試寫 一程式印出下列 文字 : [E0102] 試寫 一程式輸出下列 文字 Alice: How are you? Bob: Fine. Thank you. Welcome to C world Hope you have a nice day 提 示 : 利 用輸 入 \ 來顯 示雙引號 [E0103] 試寫 一程式, 輸 入 一個整數後, 印出該整數加 7 後的值 [E0104] 試寫 一程式印出 的結果

44 44 習題 [2] [E0105] 試寫 一程式讓使 用者輸 入 一個 長 方形的 長跟寬後, 顯 示該 長 方形的周 長與 面積 [E0106] 試寫 一程式, 讓使 用者輸 入 一個整數 x 後, 計算出 3x 2 +4x-1 的值 [E0107] 試將 helloworld_2.cpp 改寫成程式碼內容只有三 行但執 行結果也 一樣的程式碼 [E0108] 試寫 一程式, 輸 入 西元年份後, 印出 民國年份 民國年份 = 西元年份

45 45 習題 [3] [E0109] 試寫 一程式, 輸 入華 氏溫度後, 印出攝 氏溫度的值 攝 氏溫度 = 5 ( 華 氏溫度 -32)/9 [E0110] 試寫 一程式, 讓使 用者輸 入 自 己的 身 高與體重後, 顯 示使 用者的 身體質量指數 (BMI) 無條件捨去 至 小數點後第 二位 : BMI = 體重 (kg) / 身 高平 方 (m 2 ) [E0111]* 試寫 一程式印出 * 的結果 [E0112] 試寫 一個程式, 讓使 用者輸 入兩個整數後, 計算出兩個整數的平均值 至 小數點後 二位

46 46

47 47

48 48

49 49 第 二講 資料型態 運算子與表示式 講師 : 李根逸 (Ken-Yi Lee), feis.tw@gmail.com

50 50 課程 大綱 資料型態 [P.51] C/C++ 內建的常 見資料型態 [P.52] 使 用 sizeof 看 大 小 [P.53] 變數宣告 [P.54] 不同資料型態間的差異 [P.55] 整數 (short int, int, long int) 的可表 示範圍 [P.56] 浮點數 (float/double) 的表 示法 [P.58] printf 與 scanf 的格式字串 [P.59] 字 面常數的型態 [P.61] 不同型態間的轉換 ( 隱性 / 顯性轉型 ) [P.62] 字元 (char) 的表 示法 [P.65] 各種常 見運算 子 : 算數運算 子 : +-*/% [P.69], 指定運算 子 : = [P.70] 關係與等號運算 子 : <, >, <=, >=, ==, = [P.72] 邏輯運算 子 [P.73] 運算 子優先順序 [P.74]

51 51 資料型態 (Data type) 在 高階語 言中, 為了能夠 方便有效 ( 省時省空間 ) 的撰寫程式碼並做出各種複雜的運算, 我們需要使 用多種資料型態 例如 : 整數, 小數和 文字處理等... 電腦內部是使 用位元 (Bit) 這個基本單位來表 示資料並儲存於記憶單元 ( 記憶體 ) 或輔助記憶單元 ( 硬碟 ) 中 每個位元只可以表 示 0 或 1 兩種值 任何資料型態的資料都可以轉換成由 一串位元來表 示 換句話說, 資料型態就是要告訴電腦要怎麼去解釋某 一串位元資料, 我們可以規定如何對不同的型態做運算

52 52 C 常 見的內建資料型態 資料型態名稱 大 小 (bytes) 範例 短整數 (Short Integer) short int 2 32 整數 (Integer) int 4 32 長整數 (Long Integer) long int 4 32 字元 (Character) char 1 3 單精度浮點數 (Single Precision Floating Point) float 雙精度浮點數 (Double Precision Floating Point) double 無 void ( 無 ) ( 無 ) 實作相依 : 意指語 言標準內容並沒有強制的規定, 在使 用不同編譯器或設定的情況下, 可能會不 一樣 大 小是 實作相依

53 53 使 用 sizeof 看 大 小 語 言標準內對資料型態沒有嚴格定義 大 小, 隨著編譯器與設定的不同 而可能不同 我們只知道在同樣的編譯器與設定中, 同樣資料型態的 大 小是固定的 例如 int 不 一定要是 4 個位元組 大, 只是我們現在 一般的電腦架構與作業系統通常是 而在 32-bit 編譯器內, long int 的 大 小可能是 4 個位元組, 但在 64- bit 編譯器中, long int 的 大 小可能是 8 個位元組 sizeof 是 一個特殊的運算 子, 會得到某變數或資料型態在該平台編譯後佔有記憶體的 大 小 我們表 示記憶體 大 小所使 用的單位是位元組 (byte), 而 一個位元組 (byte) 通常等於 八個位元 (bit) 開啟範例檔 sizeof.cpp 並執 行看看

54 54 變數宣告 變數名稱在使 用前, 需要先進 行宣告讓編譯器知道 : 資料型態變數名稱 ; int num; 資料型態變數名稱 = 初始值 ; int num = 0; 在宣告時給予初始值這動作我們稱為初始化 保留字 (keywords): C 語 言中下列名稱 ( 保留字 ) 無法作為變數名稱 num (int)? ( 記憶體位址 ) 名稱通常為英 文字 母 大 小寫 數字和底線構成, 數字不能開頭, 大 小寫不同也代表不同的名稱 auto,break,case,char,const,continue,default, do,double,else,enum,extern,float,for,goto,if, int,long,register,return,short,signed,sizeof, static,struct,switch,typedef,union,unsigned, void,volatile,while

55 55 不同資料型態間的差異 表 示的資料意涵不同 : 整數 (int) 與字元 (char) 表 示的原理不同 : 整數 (int) 與浮點數 (float) 可表 示的範圍 大 小不同 : 短整數 (short int) 與 長整數 (long int) 可表 示的精確度 大 小不同 : 與 大 小有關 單精度浮點數 (float) 與倍精度浮點數 (double) 有無正負數 ( 有號與無號 ) 有號整數 (int) 與無號整數 (unsigned int)

56 56 整數型態的可表 示範圍 資料型態可表 示的範圍與他佔記憶體的 大 小 有關 每個位元可以表 示兩種值 (0 或 1) 每個位元組如果有 8 個位元 : 每個位元組可以表 示 2 8 = 256 種值 在可表 示正負數 ( 即有號 [signed]) 的情況下, 可表 示的整數範圍會是從 -128 到 127 ( 共 256 個數字 ) 當無號 [unsigned] 時, 可表 示的整數範圍是從 0 到 255 如果 一個資料型態有 4 個位元組, 則可以表 示 : 運算結果超出可表 示範圍稱為 溢位, 在溢位的情況下, 值會變多少 大部分情況是 未定義 行為 2 8x4 = 2 32 = 4,294,967,296 種值 4 個位元組 大的 int 可表 示範圍是從 2,147,483,648 到 2,147,483,647 ( 約九位數有效數字 ) 4 個位元組 大的 unsigned int 的可表 示範圍就是從 0 到 4,294,967,295 ( 約九位數有效數字 ) 不要因為範圍可以 大 一點就 用無號數

57 57 補充 int 的位元表 示法 32 bits (4 bytes) 負數 用 2 的補數表 示法 : 將正數表 示法的 0 和 1 互換後再加 1 十進位表 示法 二進位表 示法 如何表 示整數是 實作相依 行為, 這裡只是列出 一般的作法作為參考

58 58 浮點數表 示法 浮點數 (floating point) 是 用來將實數數位化表 示的 一種表 示法 我們現在所 用的是由 IEEE 制定的浮點數表 示標準 簡單來看, 浮點數的表 示法將位元分成三個區塊 符號位元 (1 Bit), 指數部分, 小數部分 ( 符號 ) ( 指數 ) ( 有效數字 ) [ 影響精確度 ] float 有效數字約 6 位,double 約 15 位 ( 實際上格式 比較複雜, 這裡只是個概念的說明 細節可參考

59 59 printf 與 scanf 的格式字串 資料型態 名稱 格式符 短整數 (Short Integer) short int %hd 整數 (Integer) int %d 長整數 (Long Integer) long int %ld 字元 (Character) char %c 單精度浮點數 (Single Precision Floating Point) float %f 雙精度浮點數 double %f, %lf (Double Precision Floating Point) printf scanf

60 60 範例 使 用浮點數 請修改程式讓使 用者分別輸 入三個整數後, 算出三個整數的和 平均值 乘積並顯 示給使 用者看 ( 四捨五 入到 小數點後三位 ) 注意 : 平均值可能具有 小數 而且使 用者可能輸 入的數值帶有 小數 變數宣告時須改為 用 float 宣告 scanf 和 printf 須使 用 %f 來讀 入或輸出 float printf 的格式字串可以加上數字表 示位數 %.3f 表 示印出浮點數並四捨五 入到 小數點後第三位 範例 calc.cpp

61 61 字 面常數的型態 字 面資料型態名稱 3 整數 (Integer) int long int 補充 在能表 示的情況下整數選前者 3u 無號整數 (Unsigned Integer) unsigned int 3l 長整數 (Long Integer) long int 3. 雙精度浮點數 (Double Precision Floating Point) 3.f 單精度浮點數 (Single Precision Floating point) double float 3 字元 (Character) char 範例 constant.cpp

62 62 不同型態間的轉換 編譯器為了讓你的運算式合理, 可能會試著幫你做型態的 自動轉換 ( 隱性轉型 ) 不同基本資料型態間的 自動轉換 ( 隱性轉型 ) 通常以 可表 示範圍 大 的為準 例如 : 4 / 3 時, 計算結果的資料型態會是 int 4 / 3. 時,4 是 int 而 3. 是 double 計算時會先將 4 轉換成 double 後再除以 3., 計算結果資料型態是 double 你也可以 用強制的 方式進 行型態轉換 ( 顯性轉型 ): 例如 : 4 會先被強制轉換為 double 型態 ( 即 4. ), 再試著去除以 3, 此時 3 也被動的隱性轉型成 double 型態 ( 即 3.) 計算結果的資料型態 會是 double 4 / 3 與 4 / 3. (double) 4 / 3

63 63 範例 隱性轉型與格式 請開啟範例檔, 並猜測執 行結果 提 示與解釋 : A = B 是指將 B 的值給 A, 此時如果 B 的型態與 A 不同則可能會造成無法編譯或發 生隱性轉型將 B 轉為 A 的型態 轉型時, 浮點數轉為整數是無條件捨去, 通常值會變得不精確 要 小 心的是, 使 用 printf 或 scanf 時, 輸 入的引數並不會 自動的轉型 例如 : printf( %d, 3.); 會因為 3. 是 double 卻當成 int 印 而失敗, 產 生不易預期的結果 printf 跟 scanf 這算是特例中的特例, 但是我們常常使 用到 範例 casting.cpp

64 64 範例 大數計算 試寫 一程式輸 入兩個五位數整數後輸出他們的乘積 int 的資料型態 一般情況下約可表 示 log(2 31 ) ~ 9 位有效整數 補充 使 用範圍更 大的整數型態 C++99 ( 新版 C++ 標準 ) 和 C99 ( 新版 C 標準 ) 中有 一個 long long int 的資料型態 至少可表 示約 log(2 63 ) ~ 19 位有效整數 在 Dev C++ 中, 請在 printf 內使 用 %I64d 來列印 long long int 型態數值 在 GCC 編譯器中,long long int 是 一個語 言擴充功能 範例 bignum.cpp

65 在輸 入 儲存和運算時,char 都是使 用整數 (ASCII 值 ) 格式, 只有在輸出 ( 顯 示或列印 ) 的時候會依照該 ASCII 值所對應的 文字套 用字型後輸出 A +1=? (char) (int)(???) A -1=? (char) (int)(???) A + 1 =? (char)(char)(???) 字元 (char) 是 一種整數型態 範例 char.cpp

66 66 範例 大 小寫轉換 試寫 一程式輸 入 一 大寫英 文字元, 顯 示相對應的 小寫英 文字元 提 示 : char input =?; char output = input - A + a ; 範例輸 入 一 : A 範例輸出 一 : a 範例輸 入 二 : B 範例輸出 二 : b 範例輸 入三 : Z 範例輸出三 : z 範例 tolower.cpp

67 67 補充 關於字元 就前 面的解釋我們了解字元的處理 方式是利 用建表編號的 方法來達成 但在 C/C++ 語 言標準中並沒有強制規定字元所使 用的編號表格 ( 只規定要能表 示其中 95 個字元 ), 像是 一般電腦 用的是 ASCII 或是 ISO/IEC 646 的編碼標準都是可能的 一個字元 (char) 原則上由 一個位元組構成, 但是 一個位元組並不 一定是有 8 位元 ( 某些古 老或特別的電腦結構 ) 而也因為未嚴格規定編碼表格,char 資料型態不 一定等價於 signed char 或 unsigned char, 此為 實作相依 行為

68 68 使 用型態的選擇 那麼我們到底應該選擇怎樣的資料型態呢? 用途資料類型格式符 整數 ( 一般情況 ) int %d 浮點數 ( 有 小數或位數過 大 ) double %f %lf 字元 char %c printf 對於初學者只要熟悉使 用這些資料型態就夠了其他型態的 用途? 最佳化記憶體的使 用或效率 scanf

69 69 算術運算 子 : +-*/% 算術運算 子運算的結果與運算元的值跟型態有關 運算 子是有優先順序的 (*/% 優先於 +- ) 算術運算 子優先順序相同時, 在左邊的先每次執 行 一個運算 子時就會產 生 一個中間結果, 我們稱為 暫時變數, 我們要了解這暫時變數的 值 與 型態 : A = 3 * ( ) + 7 / * 3.; A = 3 * / * 3.; A = / * 3.; A = * 3.; A = ; A = ; A = 39. ;

70 70 範例 賦值運算 子 : = = 為賦值運算 子 賦值運算 子會將右 方的值給左 方的變數 賦值運算 子的左 方 一定要放置某個變數 賦值運算 子的運算結果就是左 方變數最後的值跟型態 運算優先順序 賦值運算 子 (=) 的運算優先順序是全部裡 面最低的 而且運算順序是由右 至左 ( 特別 ) int A,C; double B, D; A = 3; 3 = A; 這結果會是什麼? A = C = 3; A = B = C = D = / 2.; 範例 assign.cpp

71 71 是 非真假 運算結果 意 不是 0 真的 正確 成 立 0 假的 錯誤 不成 立 在 一般 C 語 言標準 (C89/C90) 中, 我們使 用 int 型態來儲存是 非真假對錯 : 0 表 示假的 錯誤和不成 立的意思 1 表 示真的 正確和成 立的意思 2 表 示真的 正確和成 立的意思 -1 表 示真的 正確和成 立的意思 補充 在 C++ 中, 也可以 用 bool 資料類型來表 示

72 72 關係與等號運算 子 在 C 語 言標準中, 關係與等號運算 子的運算結果有不是 0 ( 成 立 ) 和 0 ( 不成 立 ) 兩種可能 : 運算意義 運算符號 大於 > 小於 < 大於等於 ( 不 小於 ) >= 小於等於 ( 不 大於 ) <= 等於 == 4 > 3 4 < 3 4 == 3 4 = 3 4 > 3 > 2 不等於 = 補充 在 C++ 中, 運算結果是 true 與 false 兩種可能

73 73 邏輯運算 子 在 C 語 言標準中, 邏輯運算 子的運算結果有不是 0 ( 成 立 ) 與是 0 ( 不成 立 ) 兩種可能 : 運算意義 運算符號 iso646.h C++ 而且 (and) && and 或者 (or) or 非 (not) not 3 > 2 && 1 > > 3 && 3 > 2 4 > 3 && 4 < 3 4 > 3 4 < 3 (3 > 2) 3

74 74 運算 子優先順序表 優先 不優先 運算符號 平 手時運算順序 ( ) 由左 至右 由左 至右 * / % 由左 至右 + - 由左 至右 < > <= >= 由左 至右 == = 由左 至右 = 由右 至左 && 由左 至右 由左 至右

75 75 補充 邏輯運算 子的特殊性 與 && 運算 子都保證左邊運算元被算出後, 才會開始算右邊運算元的值 其他運算 子不是喔 之前我們只保證運算 子的運算順序 左邊運算元算出為 非 0 時, 就不會去算右邊運算元的值 反之當 && 左邊運算元算出為 0 時, 就不會去算右邊運算元的值 為什麼可以這樣?

76 76 if 關鍵字 if( 表 示式 ) {... } 如果表 示式為真就... 什麼是真或假? 非0 或 0 成 立或不成 立 if (80 >= 60) { printf( PASSED \n ); } if (80 < 60) { printf( FAILED \n ); } int grade = 80; if (grade >= 60) { printf( PASSED \n ); } if (grade < 60) { printf( FAILED \n ); }

77 77 範例 比較兩數 大 小 試寫 一程式讓使 用者輸 入兩個數字後顯 示其中 比較 大的給使 用者看 : 請輸 入第 一個整數 : 3 請輸 入第 二個整數 : 4 比較 大的整數是 : 4 提 示 : ( 程式 片段 ) int max; if (num1 >= num2) { max = num1; } if (num1 < num2) { max = num2; } printf( 比較 大的整數是 %d\n, max); 範例 cmp.cpp

78 78 練習 簡易版猜數字 試寫 一個程式, 在程式內部預設 一個整數作為猜數字遊戲的答案 當使 用者執 行程式後, 需要輸 入 一個整數, 如果該整數與程式預設的答案不同, 請顯 示是 比較 大或者 比較 小 ; 如果該整數與程式預設的答案相同, 請恭喜使 用者 : 請輸 入你的猜測 : 3 太 小了 請輸 入你的猜測 : 5 太 大了 請輸 入你的猜測 : 4 答對了 思考 要如何讓使 用者可以 一直猜到答案正確?

79 79 補充 逐位元運算 子 運算意義 逐位元 AND 運算符號 & 逐位元 OR 逐位元 XOR ^ 逐位元 NOT ~ 逐位元左移 << 逐位元右移 >>

80 80 習題 [1] [E0201] 試寫 一程式, 印出下 面這個變數值 : double x = ; [E0202]* 試寫 一程式, 印出下 面式 子的計算結果 : [E0203] 試寫 一程式, 輸 入英哩換算後印出公 里 ( 四捨五 入 至 小數點後 一位 ) [ 公 里 = 英哩 * 1.6] [E0204] 試寫 一程式印出 *54628 的結果 與 [E0110] 相同 [E0205]* 試寫 一程式算出 三次 方的值 ( )

81 81 習題 [2] [E0206] 試寫 一程式, 輸 入 一有號整數, 顯 示該整數是正整數 (>=0) 或負整數 (< 0) [E0207] 試寫 一程式, 輸 入 一字元, 顯 示該字元是數 子 (0-9) 英 文字元 (a-za-z) 或其他符號 字元 (char) 請在 scanf 內 用 %c 讀 入, 在 printf 內 用 %c 印出 [E0208] 試寫 一程式, 輸 入 一個英 文 小寫字元, 將字元轉換為 大寫印出 [E0209] 試寫 一程式, 輸 入 一個英 文字元, 將字元的 大寫印出 ( 不限制輸 入的字元為 大寫或 小寫 )

82 82 習題 [3] [E0210] 試寫 一程式, 輸 入兩個整數, 將兩個整數由 小到 大印出 範例輸 入 一 : 3 6 範例輸出 一 : 3 6 範例輸 入 二 : 6 3 範例輸出 二 : 3 6 [E0211] 試寫 一程式, 讓使 用者輸 入 一 八位整數然後將數字直排顯 示 請輸 入 一個 八位數整數 :

83 83 習題 [4] [E0213] 試寫 一程式, 讓使 用者輸 入 身分證字號的前九碼後顯 示該 身分證字號的第 十碼 ( 驗證碼 ) 我們的檢查碼計算 方式 : (A: 10, B:11, C:12,..., Z:36) %c%d A x1 x9 x8 x7 x6 x5 x4 x3 x2 x1 總和 = 1x1 + 0x9 + 1x8 + 2x7 + 3x6 + 4x5 + 5x4 + 6x3 + 7x2 + 8x1 = %10 = 1, (10-1)%10 = 9

84 84

85 85

86 86

87 87

88 88

89 89 第三講 程式流程控制 ( 上 ) 講師 : 李根逸 (Ken-Yi Lee), feis.tw@gmail.com

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

91 91 if 關鍵字 if ( [?] ) {... } 如果 [?] 成 立 ( 為真 / 值 非零 ) 就... #include <stdio.h> #include <stdlib.h> int main() { int grade; scanf( %d, &grade); if ( grade >= 60) { printf( PASSED \n ); } system( pause ); return 0; } 成 立 不成 立 [?]... 不成 立 grade >= 60 成 立 printf( PASSED \n );

92 92 範例 簡單計算 試寫 一程式讓使 用者輸 入 里程數 ( 公尺 ), 計算後顯 示應付的計程 車資 計程 車資計算公式 範例 taxi.cpp 1.25 公 里內是 70 元 ( 起跳 70 元 ) 超過 1.25 公 里後, 每 250 公尺多 5 元 [ 不 足者以 250 公尺計 ) 1.25 公 里要付 70 元, 1.26 公 里要付 75 元, 2.00 公 里要付 85 元 試寫 一程式讓使 用者做簡單的兩整數計算 [+, -, *, /] ( 精確到 小數點後兩位 ) [%.2f] 3+5 ANS: ANS: *5 ANS: /5 ANS: 0.60 範例 calc.cpp

93 93 if... else... [1] if ( [?] ) {... } else {... } 如果 [?] 成 立就... 否則就... 成 立 [?]... 不成 立... 巢狀 if-else 敘述 : if (a > b) { printf( a > b ); } if (a < b) { printf( a < b ); } if (a == b) { printf( a == b ); } if (a > b) { printf( a > b ); } else { if (a < b) { printf( a < b ); } else { printf( a == b ); } }

94 94 if... else... [2] if ( [?] ) {... } else {... } 如果 [?] 成 立就... 否則就... 成 立 [?]... 不成 立... 多層 if-else 敘述 : if (a > b) { printf( a > b ); } if (a < b) { printf( a < b ); } if (a == b) { printf( a == b ); } if (a > b) { printf( a > b ); } else if (a < b) { printf( a < b ); } else { printf( a == b ); } 一種較精簡省略的寫法

95 95 範例 比較 大 小與排序 試寫 一個程式讓使 用者輸 入三個數字後顯 示最 大的值給使 用者看 : Please enter the first integer : 3 Please enter the second integer : 4 Please enter the third integer : 2 The largest integer is 4. 範例 max3.cpp 試寫 一個程式讓使 用者輸 入三個數字後將數字由 小 至 大依序印出 範例 sort3.cpp

96 96 複合指定與遞增遞減運算 子 複合指定運算 子 : a+=2 相等於 a=a+2 a*=2 相等於 a=a*2 遞增與遞減運算 子 : ++a 會將 a 的值加 一並回傳新值 --a 會將 a 的值減 一並回傳新值 a++ 會回傳 a 原有的值後再將 a 值加 一 a-- 會回傳 a 原有的值後再將 a 值減 一 複合指定運算 子 加等於 += 減等於 -= 乘等於 *= 除等於 /= 求餘等於 %= 遞增遞減運算 子 遞增 ++ 遞減 --

97 97 範例 ++i 與 i++ 判斷下 面程式執 行過程中 a 與 b 的值 : int a = 1; int b = 2; a = a+1; a += 1; a++; a+1; b = ++a; b = a++; a = a++; /* 未定義 行為 : 同 一句內多次指定同個變數的值 */ 未定義 行為 : 具有未定義 行為的程式碼之執 行結果是不可以預期的 範例 inc.cpp

98 98 範例 比較數字 試寫 一程式讓使 用者輸 入 一個六位正整數, 並判斷這整數內含有多少個數字 7 後顯 示給使 用者看 : Please enter a 6-digit number : The count of 7s is 3. 提 示 : a = a + 1 會將 a 的值加 一後存回 a / ==? / % 10 ==? / 1000 % 10 ==? / 100 % 10 ==? / 10 % 10 ==? % 10 ==? 範例 lucky7.cpp

99 99 while 關鍵字 while ( [?] ) {... } 當 [?] 成 立時就... while (a < 100) { a = a + 1; } START: if (a < 100) { a = a + 1; goto START; } 成 立 [?]... 不成 立 while 語法會 一直重複執 行內容直到 [?] 不成 立時才結束 請謹慎使 用, 確保迴圈會正常結束 不成 立 a < 100 成 立 a=a+1

100 100 範例 猜數字 試寫 一個程式, 在程式內部預設 一個整數作為猜數字遊戲的答案 當使 用者執 行程式後, 需要輸 入 一個整數, 如果該整數與程式預設的答案不同, 請顯 示是 比較 大或者 比較 小 ; 如果該整數與程式預設的答案相同, 請恭喜使 用者 而遊戲重複進 行問答直到使 用者猜到答案後才結束 請猜 一個整數 : 5 太 大了喔. 請猜 一個整數 : 3 太 小了喔. 請猜 一個整數 : 4 你真是天才 範例 guess.cpp

101 101 範例 統計資料 試寫 一程式, 讓使 用者可以輸 入任意多筆的正整數後, 顯 示這些數字的個數 和 平均值與最 大值 當使 用者輸 入負數時表 示資料輸 入完畢 請輸 入 一個正整數 [ 負數則結束 ]: 3 請輸 入 一個正整數 [ 負數則結束 ]: 4 請輸 入 一個正整數 [ 負數則結束 ]: 5 請輸 入 一個正整數 [ 負數則結束 ]: -1 共輸 入 3 個數字. 總和是 12 平均是 最 大值是 5 範例 sts.cpp

102 102 範例 迴圈的基本 試寫 一程式, 印出由 1 至 100 間的整數 範例 int100.cpp 試寫 一程式, 讓使 用者輸 入 一正整數 N 後, 印出 1 至該正整數 N 間的整數 範例 int.cpp

103 103 習題 [1] [E0301] 試寫 一程式, 輸 入 一個 0 ~ 100 分的成績, 輸出成績的等第 :(A: 80~100, B: 70~79, C: 60~69), F (0 ~ 59) 範例輸 入 一 : 90 範例輸 入 二 : 40 範例輸 入三 : 70 範例輸出 一 : A 範例輸出 二 : F 範例輸出三 : B [E0302] 試寫 一個程式, 讓使 用者輸 入四個數字後印出最 大與最 小值 [E0303] 試寫 一個程式, 讓使 用者輸 入四個數字後將數字由 小 至 大排列顯 示

104 104 習題 [2] [E0304] 試寫 一程式, 輸 入 月份, 顯 示該 月份的季節 ( 春 [3.4.5 月 ] 夏 [6.7.8 月 ] 秋 [ 月 ] 或冬 [12.1.2] 月 ) [E0305] 試寫 一程式, 讓使 用者輸 入 一 西元年份 (<5000), 輸出該年是否是閏年 每四年 一閏 每百年不閏 每四百年 一閏 每四千年不閏 [E0306] 試寫 一程式, 輸 入平 面上某點的 x 座標值與 y 座標值, 顯 示該點是位於原點 第幾象限或者位於哪個座標軸上

105 105 習題 [3] [E0307] 試寫 一程式, 讓使 用者輸 入 一正整數 N 後, 顯 示 1 至 N 之間的所有偶數 [E0308] 試寫 一程式, 計算某 人跑 100 公尺, 每秒鐘會跑剩下距離的 一半, 要過幾秒鐘才會跑到接近終點 小於 1 公尺 [E0309] 試寫 一程式, 印出所有 1 ~ 100 間所有 3 的倍數 [E0310] 試寫 一程式, 輸 入 一個整數, 印出所有該整數的因數 ( 因數表 示所有可以整除該整數的數字 ) 範例輸 入 : 10 範例輸出 :

106 106 習題 [4] [E0311] 試寫 一程式, 讓使 用者依序輸 入賣出商品編號後, 顯 示商品賣出的總 金額 ( 商品可以重複 ) ( 輸 入編號 0 的商品代表輸 入完畢 ) 範例輸 入 : 範例輸出 : 共 411 元 商品編號商品 金額

107 107 習題 [5] [E0312] 試寫 一程式, 印出所有 1 ~ 100 間所有 3 的倍數且不是 5 的倍數的整數 [E0313] ( 韓信點兵 ) 韓信要算操場上的兵, 三個 一數發現剩下 一個, 五個 一數發現剩下三個, 七個 一數發現剩下兩個 試寫 一程式去找出到底操場上有多少兵?( 輸出最 小值 ) [E0314] 試寫 一程式, 計算個位數為 6 且可被 3 整除的五位正整數有幾個 [E0315]* 試寫 一程式, 找出 一個四位正整數, 他的反序數正好是這個四位正整數的 9 倍 反序數 : 1325 的反序數是 5231

108 108 習題 [6] [E0316] [ 質數檢驗 ] 試寫 一程式, 輸 入某個正整數 N, 判斷 N 是不是質數 質數表 示除了 1 跟本 身以為沒有其他的因數 [E0317] [ 列出質數 ] 試寫 一程式, 顯 示 1 到 1000 間所有的質數

109 109 習題 [7] [E0318] 試寫 一程式, 輸 入 十個 0 ~ 100 分的成績, 輸出各等第的統計 人數 :(A: 80~100, B: 70~79, C: 60~69), F (0 ~ 59) [E0319*] 試寫 一程式, 讓使 用者輸 入 十個成績 (0~100) 後, 印出將最 大與最 小值去掉後的其他 八個成績的總和與平均值 [E0320] 試寫 一程式, 印出所有英 文字 母 [E0321] 輸 入 一整數, 顯 示其為幾位數 [E0322]* 試寫 一程式, 讓使 用者輸 入 一整數後將順序顛倒顯 示 範例輸 入 : 範例輸出 : 16893

110 110 習題 [8] [E0323] 試寫 一程式, 讓使 用者輸 入 十個數字後, 顯 示最 大的數字 [E0324] 試寫 一程式, 讓使 用者輸 入 十個數字後, 依序顯 示最 大的兩個數字 [E0325] 試寫 一程式, 讓使 用者輸 入 十個數字後, 依序顯 示最 大的三個數字

111 111 習題 [9] [E0326] 試寫 一程式, 讓使 用者輸 入五位整數後, 判斷該整數是否是回 文 回 文指的是該數字由左 至右或由右 至左的數字是 一樣的 例如 : 12321,11911,39893 等... Please enter an integer: No. Please enter an integer: Yes. [E0327]* 試寫 一程式, 讓使 用者輸 入任意位整數後, 判斷該整數是否為回 文

112 112 習題 [10] [E0328] 試寫 一程式, 讓使 用者分別輸 入每個學 生的成績, 輸 入負數則代表結束 輸 入完後, 顯 示學 生成績的統計圖 : 級距為 (0~59, 60~69, 70~79, 80~89, 90~100) 請輸 入 1 號成績 : 80 請輸 入 2 號成績 : 85 請輸 入 3 號成績 : 90 請輸 入 4 號成績 : 95 請輸 入 5 號成績 : 75 請輸 入 6 號成績 : -1 0~ 59 : 60~ 69 : 70~ 79 : * 80~ 89 : ** 90~100 : **

113 113 習題 [11] [E0329] 試寫 一程式, 讓使 用者輸 入 一整數後將每位數分開顯 示 範例輸 入 : 範例輸出 : [E0330*] 試寫 一程式, 讓使 用者輸 入 一個整數後, 將該整數 用 二進位表 示 範例輸 入 一 : 5 範例輸出 一 : 101 範例輸 入 二 : 3 範例輸出 二 : 11

114 114 習題 [12] [E0331] 試寫 一程式, 讓使 用者輸 入 長 方形的 長與寬後, 用 文字 方式畫出實 心與空 心的 方塊 : 範例輸 入 : 請輸 入寬度 : 10 請輸 入 高度 : 4 範例輸出 : ********** ********** ********** ********** ********** * * * * **********

115 115 習題 [13] [E0332] 試寫 一程式, 印出下列結果 : * ** *** **** ***** [E0333] 試寫 一程式, 輸 入 一個在 1 跟 9 間的整數, 印出下列結果 : 範例輸 入 一 : 5 範例輸出 一 : * ** *** **** ***** 範例輸 入 二 : 3 範例輸出 二 : * ** ***

116 116 習題 [14] [E0334*] 試寫 一程式, 讓使 用者輸 入某個 月份後, 顯 示 西元 2011 該 月份的 日曆 2012 年 1 月 1 日是星期 日,2 月有 29 天 Please enter the month: 3 Su Mo Tu We Th Fr Sa

117 117 習題 [15] [E0335] 試寫 一猜數字遊戲, 輸 入四個 1 至 9 各不相同的數字後, 如果某個數字的位置與號碼都正確則算 一個 A, 如果號碼正確但是位置不正確則算 一個 B, 將 A 與 B 的次數顯 示給使 用者看後, 讓使 用者猜到猜對為 止 請輸 入答案 : 1234 請輸 入你的猜測 : A4B 請輸 入你的猜測 : A2B 請輸 入你的猜測 : A0B 請輸 入你的猜測 : A 恭喜你答對了

118 118

119 119

120 120

121 121 第四講 程式流程控制 ( 下 ) 講師 : 李根逸 (Ken-Yi Lee), feis.tw@gmail.com

122 122 課程 大綱 條件判斷 : if ( 表 示式 ) {... } [P.91] if ( 表 示式 ) {... } else {... } [P.93] switch ( 整數值 ) { case 固定整數值 :... default:... } [P.135] 重複執 行 ( 迴圈 ) : while ( 表 示式 ) {... } [P.99] for ( 初始式 ; 表 示式 ; 迭代式 ) {... } [P.123] do {... } while( 表 示式 ); [P.131] 警 示型迴圈與計數型迴圈 迴圈控制 : break 與 continue 關鍵字 [P.133]

123 123 for 關鍵字 初始式 for ( 初始式 ; 表 示式 ; 迭代式 ) {... } 相當於 : { 初始式 ; while ( 表 示式 ) {... 迭代式 ; } } 範例 : 印出 1 至 10 for (int i = 1; i <= 10; ++i) { printf( %d\n, i); } { } 成 立 表 示式... 迭代式 不成 立 int i = 1; while (i <= 10) { printf( %d\n, i); ++i; }

124 124 範例 迴圈的基本 試寫 一程式, 印出由 1 至 100 間的整數 範例 int100.cpp 試寫 一程式, 讓使 用者輸 入 一正整數 N 後, 印出 1 至該正整數 N 間的整數 範例 int.cpp

125 125 範例 迴圈列印 試寫 一程式, 讓使 用者輸 入 一正整數 N 後, 顯 示 1 至 N 之間的所有奇數 試寫 一程式, 印出由 100 至 1 間的整數 試寫 一程式, 讓使 用者輸 入 一正整數 N 後, 顯 示 1 至 N 的整數和 試寫 一程式, 讓使 用者輸 入 一正整數 N 後, 印出 N 個星號 (*) 範例輸 入 一 : 5 範例輸出 一 : ***** 範例輸 入 一 : 8 範例輸出 二 : ******** 範例 odd.cpp 範例 reverse.cpp 範例 sum.cpp 範例 print_star.cpp

126 126 警 示型迴圈與計數型迴圈 在選擇要使 用 while 或 for 時, 通常以該迴圈的特性來決定 : 警 示型迴圈 : 該迴圈的結束條件是在某不明確事件 ( 例如當使 用者輸 入 -1 ) 發 生時, 請使 用 while 範例 : 猜數字 計數型迴圈 : 該迴圈在執 行明確次數後會結束的話, 請使 用 for 範例 : 算 1 至 N 的數字和 讀 入資料 ; while ( 資料不是警 示值 ) { 執 行動作 ; 讀 入資料 ; } 一般情況下, 先考慮使 用 for, 不合適時再考慮 while

127 127 範例 複利計算 試寫 一程式, 計算某 人在銀 行中的定額存款在 十年間的結算 金額 ( 每年無條件捨去 至整數位結算 一次 ) 計算公式 : 每年結算 金額 = 累計 金額 * (1 + 年利率 ) 請輸 入本 金 : 1000 請輸 入年利率 : 0.05 Year Amount 範例 interest.cpp

128 128 範例 比較 大 小 擂台賽 利 用 一組變數去記錄現在擂台盟主, 再 一 一上台 比劃, 每輪留下勝利者 預設第 一個 人或拿個沙包為擂台主 ; for ( 每 一個 人 ) { if ( 與擂台主 PK 獲勝 ) { 換擂台主 ; } } 試寫 一程式, 讓使 用者輸 入 十個數字後, 顯 示其中最 大的數字 範例 max10.cpp 試寫 一程式, 讓使 用者輸 入 十個數字後, 依序顯 示最 大的兩個數字 範例 big2.cpp 試寫 一程式, 讓使 用者輸 入 十個數字後, 依序顯 示最 大的三個數字 範例 big3.cpp

129 129 範例 暴 力的美 用迴圈把所有可能的候選 人都 一 一列出來, 再試著留下我們想要的 for ( 每 一個可能的候選 人 ) { if ( 符合要求 ) { 做想做的事情 ; } } 試寫 一程式, 輸 入某個正整數 N, 判斷 N 是不是質數 質數表 示除了 1 跟本 身以為沒有其他的因數 範例 is_prime.cpp 試寫 一程式, 顯 示 1 到 1000 間所有的質數 範例 prime.cpp

130 130 範例 巢狀迴圈 試寫 一程式, 印出下列結果 : * ** *** **** ***** 範例 triangle.cpp 試寫 一程式, 輸 入 一個在 1 跟 9 間的整數, 印出下列結果 : 範例輸 入 一 : 5 範例輸出 一 : * ** *** **** ***** 範例輸 入 二 : 3 範例輸出 二 : * ** *** 範例 trianglen.cpp

131 131 do 關鍵字 do {... } while ( 表 示式 ); 至少會執 行 {...} 的內容 一次的 while 語法 成 立 int grade; do { scanf( %d, &grade); } while (grade < 0 grade > 100);... 表 示式 不成 立

132 132 補充 無窮迴圈 有兩種 方式可以產 生無窮迴圈 : 使 用條件永遠為真的 while 迴圈 : while (1) { // 執 行內容 } 使 用沒有條件的 for 迴圈 ( 預設為真 ): for(;;) { // 執 行內容 }

133 133 break 和 continue 關鍵字 break: 強制結束 while, for 或 switch for (int i = 1; i <= 10; ++i) { if (i == 5) { break; } printf( %d, i); } while (1) { 讀 入資料 ; if ( 資料是警 示值 ) { break; } 執 行動作 ; } 參考 [P.126] continue: 跳 至 while 或 for 的下 一次迴圈開始 for (int i = 1; i <= 10; ++i) { if (i == 5) { continue; } printf( %d, i); }

134 134 範例 迴圈控制 試寫 一程式, 印出 1 至 10 間除了 5 之外的整數 範例 no5.cpp 試寫 一程式, 印出 1 至 100 間除了 5 的倍數之外各個整數 範例 no5t.cpp 試寫 一程式, 讓使 用者輸 入 一個整數後, 顯 示該整數的平 方值 反覆執 行, 直到使 用者輸 入負數時才結束 範例 squared.cpp

135 135 switch case 與 default switch ( 整數值 ) { case 固定整數值 :... ; default:...; } char grade =?; switch (grade) { case A : case a : counta++; break; case B : case b : countb++; break; case C : case c : countc++; break; default: counterr++; break; } 當 grade 是 A 或 a 時, 會執 行此 行 當 grade 是 B 或 b 時, 會執 行此 行 當 grade 是 C 或 c 時, 會執 行此 行 當 grade 不符合上 面所列時, 會執 行此 行 範例 grade.cpp

136 136 範例 統計 金額 試寫 一程式, 讓使 用者先輸 入賣出商品的總數後, 分別輸 入每個賣出商品的編號 輸 入完後, 顯 示賣出的總 金額 Please enter the number of goods: The amount is 411. 商品編號商品 金額 範例 coin.cpp

137 137 習題 [1] 以下題 目 用 for 改寫 : [E0401] E0307, [E0402] E0309 [E0403] E0310, [E0404] E0312 [E0405] E0314, [E0406] E0315 [E0407] E0316, [E0408] E0318 [E0409] E0319, [E0410] E0320 [0E411] E0331, [E0412] E0334 以下題 目 用 switch 改寫 : [E0413] E0311, [E0414] E0334

138 138 習題 [2] [E0415] 試寫 一程式, 印出下列結果 : * ** *** **** ***** [E0416] 試寫 一程式, 輸 入 一個在 1 跟 9 間的整數, 印出下列結果 : 範例輸 入 一 : 5 範例輸出 一 : * ** *** **** ***** 範例輸 入 二 : 3 範例輸出 二 : * ** ***

139 139 習題 [3] [E0417] 試寫 一程式, 輸 入 一個在 1 跟 9 間的整數, 印出下列結果 : 範例輸 入 一 : 5 範例輸出 一 : ***** **** *** ** * 範例輸 入 二 : 3 範例輸出 二 : *** ** * [E0418] 試寫 一程式, 輸 入 一個在 1 跟 9 間的整數, 印出下列結果 : 範例輸 入 一 : 5 範例輸出 一 : ***** **** *** ** * 範例輸 入 二 : 3 範例輸出 二 : *** ** *

140 140 習題 [4] [E0419] 試寫 一程式, 輸 入 一個在 1 跟 9 間的整數, 印出下列結果 : 範例輸 入 一 : 5 範例輸出 一 : 範例輸 入 二 : 3 範例輸出 二 : [E0420] 試寫 一程式, 輸 入 一個在 1 跟 9 間的整數, 印出下列結果 : 範例輸 入 一 : 5 範例輸出 一 : 範例輸 入 二 : 3 範例輸出 二 :

141 141 習題 [5] [E0421] 試寫 一程式, 輸 入 一個在 1 跟 9 間的整數, 印出下列結果 : 範例輸 入 一 : 5 範例輸出 一 : 範例輸 入 二 : 3 範例輸出 二 : [E0422] 試寫 一程式, 輸 入 一個在 1 跟 9 間的整數, 印出下列結果 : 範例輸 入 一 : 5 範例輸出 一 : 範例輸 入 二 : 3 範例輸出 二 :

142 142 習題 [6] [E0423] 試寫 一程式, 輸 入 一個在 1 跟 9 間的整數, 印出下列結果 : 範例輸 入 一 : 5 範例輸出 一 範例輸 入 二 : 3 範例輸出 二 : [E0424] 試寫 一程式, 輸 入 一個在 1 跟 9 間的整數, 印出下列結果 : 範例輸 入 一 : 5 範例輸出 一 : 範例輸 入 二 : 3 範例輸出 二 :

143 143 習題 [7] [E0425] 試寫 一程式, 輸 入 一個在 1 跟 9 間的整數, 印出下列結果 : 範例輸 入 一 : 5 範例輸出 一 : 範例輸 入 二 : 3 範例輸出 二 : [E0426] 試寫 一程式, 讓使 用者輸 入 一整數後, 繪製相對應 高度的三 角形 範例輸 入 一 : 3 範例輸出 一 : * *** ***** 範例輸 入 二 : 5 範例輸出 二 : * *** ***** ******* *********

144 144 習題 [8] [E0427] 試寫 一程式, 讓使 用者輸 入 一正奇數後, 繪製相對應 高度的菱形 Please enter an odd integer: 3 * *** * Please enter an odd integer: 5 * *** ***** *** *

145 145 習題 [9] [E0428*] 試寫 一程式, 讓使 用者輸 入 一正整數 K 表 示三 角波的波 長, 另 一正整數 M 表 示三 角波的個數後, 繪製出三 角波圖 Please enter an integer (K): 3 Please enter an integer (M): 2 * ** *** * ** ***

146 146

147 147

148 148

149 149

150 150

151 151

152 152

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

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

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

!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

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

FY.DOC

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

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

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

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

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

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

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

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

新・明解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

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

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

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File 51 C 51 51 C C C C C C * 2003-3-30 pnzwzw@163.com C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test

More information

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

Microsoft PowerPoint - ICP_02_Basic_Data_Type.ppt [相容模式] Introduction to Computer and Program Design Lesson 2 Basic Data Types James C.C. Cheng Department of Computer Science National Chiao Tung University The basic data types 變數 (variable) 是甚麼? 變數代表了一塊可以記錄資料的記憶體空間,

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

51 C 51 isp 10 C PCB C C C C KEIL

51 C 51 isp 10   C   PCB C C C C KEIL http://wwwispdowncom 51 C " + + " 51 AT89S51 In-System-Programming ISP 10 io 244 CPLD ATMEL PIC CPLD/FPGA ARM9 ISP http://wwwispdowncom/showoneproductasp?productid=15 51 C C C C C ispdown http://wwwispdowncom

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

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

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

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

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 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 Word - _m30.doc

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

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

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

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

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

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

投影片 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

untitled

untitled 不 料 料 例 : ( 料 ) 串 度 8 年 數 串 度 4 串 度 數 數 9- ( ) 利 數 struct { ; ; 數 struct 數 ; 9-2 數 利 數 C struct 數 ; C++ 數 ; struct 省略 9-3 例 ( 料 例 ) struct people{ char name[]; int age; char address[4]; char phone[]; int

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

新版 明解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

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc References (Section 5.2) Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 15-16, 2010 H.-T. Lin (NTU CSIE) References OOP 03/15-16/2010 0 / 22 Fun Time (1) What happens in memory? 1 i n t i ; 2

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

_汪_文前新ok[3.1].doc

_汪_文前新ok[3.1].doc 普 通 高 校 本 科 计 算 机 专 业 特 色 教 材 精 选 四 川 大 学 计 算 机 学 院 国 家 示 范 性 软 件 学 院 精 品 课 程 基 金 青 年 基 金 资 助 项 目 C 语 言 程 序 设 计 (C99 版 ) 陈 良 银 游 洪 跃 李 旭 伟 主 编 李 志 蜀 唐 宁 九 李 涛 主 审 清 华 大 学 出 版 社 北 京 i 内 容 简 介 本 教 材 面 向

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 - CPE考生使用手冊160524.docx

Microsoft Word - CPE考生使用手冊160524.docx 大 學 程 式 能 力 檢 定 (CPE) 考 生 使 用 手 冊 2016 年 5 月 24 日 這 份 手 冊 提 供 給 參 加 CPE 檢 定 考 試 的 考 生 內 容 包 含 考 試 環 境 的 使 用, 以 及 解 題 時 所 使 用 I/O 的 基 本 知 識 1. 如 欲 報 名 參 加 CPE 考 試, 請 先 於 CPE 網 站 完 成 帳 號 註 冊, 然 後 再 報 名 該

More information

3.1 num = 3 ch = 'C' 2

3.1 num = 3 ch = 'C' 2 Java 1 3.1 num = 3 ch = 'C' 2 final 3.1 final : final final double PI=3.1415926; 3 3.2 4 int 3.2 (long int) (int) (short int) (byte) short sum; // sum 5 3.2 Java int long num=32967359818l; C:\java\app3_2.java: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 - 投影片ch03

Microsoft Word - 投影片ch03 Java2 JDK5.0 教學手冊第三版洪維恩編著博碩文化出版書號 pg20210 第三章變數與資料型態 本章學習目標認識變數與常數認識 Java 的基本資料型態學習如何進行資料型態轉換學習如何由鍵盤輸入資料 變數與資料型態 3-2 Java 的資料型態分為 : 與 原始資料型態 (primitive type) 非原始資料型態 (non-primitive type) 原始資料型態包括了整數與浮點數等型態

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

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

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

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

ebook8-30

ebook8-30 3 0 C C C C C C++ C + + C++ GNU C/C++ GNU egcs UNIX shell s h e l l g a w k P e r l U N I X I / O UNIX shell awk P e r l U N I X C C C C C C U N I X 30.1 C C U N I X 70 C C U N I X U N I X U N I X C Dennis

More information

Microsoft PowerPoint - chap3

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

More information

c_cpp

c_cpp C C++ C C++ C++ (object oriented) C C++.cpp C C++ C C++ : for (int i=0;i

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

untitled

untitled A, 3+A printf( ABCDEF ) 3+ printf( ABCDEF ) 2.1 C++ main main main) * ( ) ( ) [ ].* ->* ()[] [][] ** *& char (f)(int); ( ) (f) (f) f (int) f int char f char f(int) (f) char (*f)(int); (*f) (int) (

More information

一 Hot Potatoes 命 題 軟 體 操 作 說 明 一 註 冊 操 作 程 序 1. 進 入 Hot Potatoes 的 官 方 網 站 網 址 http://web.uvic.ca/hrd/hotpot/index.htm 並 點 選 Register 2. 點 選 read the licence terms. 閱 讀 使 用 說 明 3. 點 選 I have read the license

More information

EK-STM32F

EK-STM32F STMEVKIT-STM32F10xx8 软 件 开 发 入 门 指 南 目 录 1 EWARM 安 装... 1 1.1 第 一 步 : 在 线 注 册... 1 1.2 第 二 步 : 下 载 软 件... 2 1.3 第 三 步 : 安 装 EWARM... 3 2 基 于 STMEVKIT-STM32F10xx8 的 示 例 代 码 运 行... 6 2.1 GPIO Demo... 6 2.2

More information

1 LINUX IDE Emacs gcc gdb Emacs + gcc + gdb IDE Emacs IDE C Emacs Emacs IDE ICE Integrated Computing Environment Emacs Unix Linux Emacs Emacs Emacs Un

1 LINUX IDE Emacs gcc gdb Emacs + gcc + gdb IDE Emacs IDE C Emacs Emacs IDE ICE Integrated Computing Environment Emacs Unix Linux Emacs Emacs Emacs Un Linux C July 27, 2016 Contents 1 Linux IDE 1 2 GCC 3 2.1 hello.c hello.exe........................... 5 2.2............................... 9 2.2.1 -Wall................................ 9 2.2.2 -E..................................

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

Ps22Pdf

Ps22Pdf C ( CIP) C /. :, 2001. 7 21 ISBN 7-5624 -2355-5. C........ C. TP312 CIP ( 2001 ) 034496 C * * : 7871092 1 /16 : 14. 25 : 356 20017 1 20017 1 : 1 6 000 ISBN 7-5624-2355-5 / TP311 : 21. 00 C, C,,,, C,, (

More information

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

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

More information

PowerPoint 簡報

PowerPoint 簡報 複習算術運算式 條件運算式 臺北市立大學資訊科學系 ( 含碩士班 ) 賴阿福 搶答 Q1: debug int x=9, y=8, z; if (y=x+1) z=3; if (x-1=y+8) z=4; 搶答 Q1: debug (answer) int x=9, y=8, z; if (y==x+1) z=3; if (x-1==y+8) z=4; int x=9, y=8, z; if (y==x+1)

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

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

Microsoft PowerPoint - 3C¬ì§Þ»P¥Í¬¡-chapter2

Microsoft PowerPoint - 3C¬ì§Þ»P¥Í¬¡-chapter2 Chapter II 軟硬之間 電腦的程式與硬體 1 資料的二進位表示法 資訊在電腦外部及內部表示法上的不同 2 資料的二進位表示法 二進位與十進位轉換表 3 資料的二進位表示法 1035 0000010000001011-1035 直接符號 1000010000001011 1 s 補數 1111101111110100 2 s 補數 1111101111110101 負整數表示法 4 資料的二進位表示法

More information

epub83-1

epub83-1 C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C

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

Microsoft Word - ch 校.doc

Microsoft Word - ch 校.doc 變數與基本資料型別 CHAPTER 3 基本資料型別 延伸資料型別 字元 字串常值 整數 浮點數常值 符號常數 識別字與保留字 變數宣告 指定 算術 複合指定 遞增和遞減運算子 關係 邏輯運算子 運算子的優先順序 強制型別轉換 自動型別轉換 檢測模擬考題解析 3.1 資料型別 電腦軟體就是用來處理各類的資料, 以解決人類生活上的問題 生活中有各式各樣的資料, 例如姓名 身高 年齡 數量 車牌號碼 編號

More information

C 語言—陣列及字串

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

More information

C/C++ - 数组与指针

C/C++ - 数组与指针 C/C++ Table of contents 1. 2. 3. 4. 5. 6. 7. 8. 1 float candy [ 365]; char code [12]; int states [50]; 2 int array [6] = {1, 2, 4, 6, 8, 10}; 3 // day_mon1.c: # include # define MONTHS 12 int

More information

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha

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

More information

Microsoft PowerPoint - OPVB1基本VB.ppt

Microsoft PowerPoint - OPVB1基本VB.ppt 大 綱 0.VB 能 做 什 麼? CH1 VB 基 本 認 識 1.VB 歷 史 與 版 本 2.VB 環 境 簡 介 3. 即 時 運 算 視 窗 1 0.VB 能 做 什 麼? Visual Basic =>VB=> 程 式 設 計 語 言 => 設 計 程 式 設 計 你 想 要 的 功 能 的 程 式 自 動 化 資 料 庫 計 算 模 擬 遊 戲 網 路 監 控 實 驗 輔 助 自 動

More information

街街街街街街街街

街街街街街街街街 1 基本輸出入 與四則運算 本章大綱 5.1 本章的教學目標 5.2 Java 語言的運算子 5.3 算術與字串連接運算子 5.4 位元運算子 5.5 資料型態的轉換 5.1 本章的教學目標 程式語言有許多的算術運算所組成, 本章將介紹 Java 程式語言中基本輸出入運算子的功能與使用方式, 運算子包括 : 指定運算子 算數與字串連接運算子 位元運算子 資料型態的轉換運算子的功能與相關應用, 讓各位同學了解不同運算子的使用時機與應用方法

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语言的应用.PDF

C语言的应用.PDF AVR C 9 1 AVR C IAR C, *.HEX, C,,! C, > 9.1 AVR C MCU,, AVR?! IAR AVR / IAR 32 ALU 1KBytes - 8MBytes (SPM ) 16 MBytes C C *var1, *var2; *var1++ = *--var2; AVR C 9 2 LD R16,-X ST Z+,R16 Auto (local

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

第 15 章 程 式 編 写 語 言 15.1 程 式 編 写 語 言 的 角 色 程 式 編 寫 語 言 是 程 式 編 寫 員 與 電 腦 溝 通 的 界 面 語 法 是 一 組 規 則 讓 程 式 編 寫 員 將 字 詞 集 合 起 來 電 腦 是 處 理 位 元 和 字 節 的 機 器, 與

第 15 章 程 式 編 写 語 言 15.1 程 式 編 写 語 言 的 角 色 程 式 編 寫 語 言 是 程 式 編 寫 員 與 電 腦 溝 通 的 界 面 語 法 是 一 組 規 則 讓 程 式 編 寫 員 將 字 詞 集 合 起 來 電 腦 是 處 理 位 元 和 字 節 的 機 器, 與 程 式 編 写 語 言 在 完 成 這 章 後, 你 將 能 夠 了 解 程 式 編 写 語 言 的 功 能 了 解 高 階 語 言 和 低 階 語 言 之 間 的 分 別 知 道 翻 譯 程 式 的 意 義 和 能 夠 把 翻 譯 程 式 分 類 為 : 匯 編 程 式 編 譯 程 式 和 解 譯 程 式 認 識 不 同 翻 譯 程 式 的 優 點 和 缺 點 程 式 是 指 揮 電 腦 的 指

More information

2/80 2

2/80 2 2/80 2 3/80 3 DSP2400 is a high performance Digital Signal Processor (DSP) designed and developed by author s laboratory. It is designed for multimedia and wireless application. To develop application

More information

华恒家庭网关方案

华恒家庭网关方案 LINUX V1.5 1 2 1 2 LINUX WINDOWS PC VC LINUX WINDOWS LINUX 90% GUI LINUX C 3 REDHAT 9 LINUX PC TFTP/NFS http://www.hhcn.com/chinese/embedlinux-res.html minicom NFS mount C HHARM9-EDU 1 LINUX HHARM9-EDU

More information

C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40

C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40 C C trio@seu.edu.cn C C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40 Week3 C Week5 Week5 Memory & Pointer

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

科学计算的语言-FORTRAN95

科学计算的语言-FORTRAN95 科 学 计 算 的 语 言 -FORTRAN95 目 录 第 一 篇 闲 话 第 1 章 目 的 是 计 算 第 2 章 FORTRAN95 如 何 描 述 计 算 第 3 章 FORTRAN 的 编 译 系 统 第 二 篇 计 算 的 叙 述 第 4 章 FORTRAN95 语 言 的 形 貌 第 5 章 准 备 数 据 第 6 章 构 造 数 据 第 7 章 声 明 数 据 第 8 章 构 造

More information

pico說明書繁體new

pico說明書繁體new P ICO 智慧型微投影機 使用手冊 電話 + 8 8 6-2 - 2 7 9 0-6 3 0 8 地址 台北市內湖區新湖一路90號4樓 w w w. q p o i n t e k. c o m * 內容僅供參考 功能會隨系統版本有所變動 * 如有操作上的問題請洽詢經銷商 本公司或至官網 支援服務..T.I. QP Q.P.T.I. Corporation 索 引 1. 內 容 物 2. 功 能

More information

Autodesk Product Design Suite Standard 系統統需求 典型使用用者和工作流程 Autodesk Product Design Suite Standard 版本為為負責建立非凡凡產品的設計師師和工程師, 提供基本概念設計計和製圖工具, 以取得令人驚驚嘆

Autodesk Product Design Suite Standard 系統統需求 典型使用用者和工作流程 Autodesk Product Design Suite Standard 版本為為負責建立非凡凡產品的設計師師和工程師, 提供基本概念設計計和製圖工具, 以取得令人驚驚嘆 Autodesk Product Design Suite Standard 20122 系統統需求 典型使用用者和工作流程 Autodesk Product Design Suite Standard 版本為為負責建立非凡凡產品的設計師師和工程師, 提供基本概念設計計和製圖工具, 以取得令人驚驚嘆的產品設計計 Autodesk Product Design Suite Standard 版本中中包括以下軟體體產品

More information

Microsoft Word - ACI chapter00-1ed.docx

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.

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

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++;

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; Memory & Pointer trio@seu.edu.cn 2.1 2.1.1 1 int *p int a 0x00C7 0x00C7 0x00C7 2.1.2 2 int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; 2.1.3 1. 2. 3. 3 int A,

More information

untitled

untitled MODBUS 1 MODBUS...1 1...4 1.1...4 1.2...4 1.3...4 1.4... 2...5 2.1...5 2.2...5 3...6 3.1 OPENSERIAL...6 3.2 CLOSESERIAL...8 3.3 RDMULTIBIT...8 3.4 RDMULTIWORD...9 3.5 WRTONEBIT...11 3.6 WRTONEWORD...12

More information

運算子多載 Operator Overloading

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

More information

2. S 輸入一個整數 n, 求出從 1 ~ n 所有可以被 3 整除及又可以被 7 整除所有 的數字的總和的程式 ( 請上傳 Sum_3_7.py 檔 ) Sum_3_7.py 程式樣版 n = int(input()

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,

More information

1

1 守大學電機系 電腦視覺 報告 單元一 數位影像 : 格式和操作 參考解答 MIAT( 機器智慧與自動化技術 ) 實驗室 中華民國 93 年 9 月 29 日 1. (a) 如果指紋影像 finger300x300 的取像面積是 14(mm)x14(mm), 請計算取像系統的 dpi (b) 如果 kaoshiung512x512 遙測影像的覆蓋面積是 5(Km)x5(Km), 請計算該影像的解析度

More information

高 职 计 算 机 类 优 秀 教 材 书 目 * 序 号 书 号 (ISBN) 书 名 作 者 定 价 出 版 / 印 刷 日 期 ** 配 套 资 源 页 码 计 算 机 基 础 课 1 978-7-111-30658-0 计 算 机 应 用 基 础 刘 升 贵 29.00 2012 年 8 月

高 职 计 算 机 类 优 秀 教 材 书 目 * 序 号 书 号 (ISBN) 书 名 作 者 定 价 出 版 / 印 刷 日 期 ** 配 套 资 源 页 码 计 算 机 基 础 课 1 978-7-111-30658-0 计 算 机 应 用 基 础 刘 升 贵 29.00 2012 年 8 月 高 职 计 算 机 类 优 秀 教 材 书 目 * 序 号 书 号 (ISBN) 书 名 作 者 定 价 出 版 / 印 刷 日 期 ** 配 套 资 源 页 码 计 算 机 基 础 课 1 978-7-111-30658-0 计 算 机 应 用 基 础 刘 升 贵 29.00 2012 年 8 月 电 子 教 案 P1 2 978-7-111-27081-2 计 算 机 应 用 基 础 ( 第 2

More information

Microsoft PowerPoint - Chapter3

Microsoft PowerPoint - Chapter3 第三章資料型別與運算 課程目標 1. 暸解 VBA 程式設計可用之資料型態 2. 定義變數 3. 運算子與優先順序 4. 變數與資料運算實務案例 - 業績獎金自訂函數範例與延伸 2 資料型別 在 VBA 巨集語言當中, 資料被分成十種基本型別, 再加上使用者自訂型別物件型別及附於 Variant 型別中的 Decimal 型別, 總共是十三種資料型態的表示法 3 數字資料型別 數字類資料型態的種類共可以分為

More information

<4D F736F F D D342DA57CA7DEA447B14D2DA475B57BBB50BADEB27AC3FEB14DA447B8D5C344>

<4D F736F F D D342DA57CA7DEA447B14D2DA475B57BBB50BADEB27AC3FEB14DA447B8D5C344> 1. 請 問 誰 提 出 積 體 電 路 (IC) 上 可 容 納 的 電 晶 體 數 目, 約 每 隔 24 個 月 (1975 年 更 改 為 18 個 月 ) 便 會 增 加 一 倍, 效 能 也 將 提 升 一 倍, 也 揭 示 了 資 訊 科 技 進 步 的 速 度? (A) 英 特 爾 (Intel) 公 司 創 始 人 戈 登. 摩 爾 (Gordon Moore) (B) 微 軟 (Microsoft)

More information

ACI pdf

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

More information

1 式子的運算 19 例 1 解 符號的簡記 ( 乘法 ) 1x 4x x 5 1xx 4x4x x 5 5 x 5 x 5x 除以一個不為 0 的數就是乘以該數的倒數 P5 1 1 x x 5 5 x 4 x 4 x 可視為 x 1x4 x 1 4 x4x x x 4 x x x

1 式子的運算 19 例 1 解 符號的簡記 ( 乘法 ) 1x 4x x 5 1xx 4x4x x 5 5 x 5 x 5x 除以一個不為 0 的數就是乘以該數的倒數 P5 1 1 x x 5 5 x 4 x 4 x 可視為 x 1x4 x 1 4 x4x x x 4 x x x 7 1 x y 基會試題 9 I 8 18 1 符號的簡記 x 第三章一元一次方程式 -1 xyz 1 4 x 4x x x 1500 x 1500x 4 y y x15 15x 15x x1.5 1.5x 1.5x x x x x 4 7 以符號代表數 式子的運算 1.. 4 7 x 4 7. x 4x 7 7-a-017-a-0 15x 15x 15x 1x 1x 1 1 x 簡記成 x (-1)

More information

n 123n2n1nn n P n k n P abc 123 x abcxx P C 5 3 oooxx C

n 123n2n1nn n P n k n P abc 123 x abcxx P C 5 3 oooxx C 2 1 2 1 2 3 n 123n2n1nn n P n k n P 5 3 5 53 5 2 60 abc 123 x abcxx 5 2 60 P 5 3 5 53 5 2 60 C 5 3 oooxx C 5 3 5 32 3 4 n 5 6 4 壹歷史與生活 2 2 2 4 3 10311095 1919 3 361 16481722 17681813 C n m nn1nm1 mm1 21

More information

PowerPoint 簡報

PowerPoint 簡報 本周未安排實作輔導 預定 : 下周六 迴圈 LOOP 應用 判斷質數 (Prime number) 求兩個整數的最大公因數 (greatest common divisor, GCD) 判斷迴文 (palindrome) 搶答!! Q1 : 印出結果? int s,x; s=0; for(x=1;x

More information

Learning Java

Learning Java Java Introduction to Java Programming (Third Edition) Prentice-Hall,Inc. Y.Daniel Liang 2001 Java 2002.2 Java2 2001.10 Java2 Philip Heller & Simon Roberts 1999.4 Java2 2001.3 Java2 21 2002.4 Java UML 2002.10

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