Upload
milt
View
67
Download
0
Embed Size (px)
DESCRIPTION
EL 1009 計算機概論 ( 電子一 B). Introduction to Computer Science. Instructor : Po-Yu Kuo 教師 : 郭柏佑. Ch. 1 認識 C 語言. 學習程式 語言的動機. 學習程式語言的動機. 為何想要學習程式語言 ? 研究或工作上需要 ; 興趣 ; 或者是喜歡打電動。 對電腦有興趣 平時喜歡使用電腦 ; 打電動 ; 線上遊戲。. * https://www.youtube.com/watch?v=7cNTUNSUvYw. 學習程式語言的動機. - PowerPoint PPT Presentation
Citation preview
EL 1009 計算機概論 ( 電子一 A)
Instructor : Po-Yu Kuo
教師:郭柏佑
Introduction to Computer Science
Ch. 1 認識 C 語言
2
學習程式 語言的動機
3
學習程式語言的動機 為何想要學習程式語言 ?
研究或工作上需要 ; 興趣 ; 或者是喜歡打電動。
對電腦有興趣 平時喜歡使用電腦 ; 打電動 ; 線上遊戲。
* https://www.youtube.com/watch?v=7cNTUNSUvYw
4
學習程式語言的動機 電腦遊戲隨著時間的改變 , 電腦設備 ( 顯示卡 ) 功
能的增進 , 遊戲畫面越來越細致。 然而 , 遊戲的基本指令 , 還是要由程式語言來控
制 : 使用者輸入指令 : 招式或大絕招。 製作者利用程式語言 , 設置不同指令對應到不
同招式。
*http://ruliweb.daum.net/*https://www.youtube.com/watch?v=hEW0DNbPGCo
*https://www.youtube.com/watch?v=5il9JYkLYQg
5
C 語言的由來
6
C 語言簡介 C 語言是最被廣泛使用的一種高階語言。 C 語言是 1972 年在 AT&T 貝爾實驗室 (Bell
Laboratory) 中發展出來的。 Dennis M. Ritchie 和 Ken Thompson 要發展
UNIX 作業系統 , 而發展出來的一套程式語言。 1980 年代中期 , 為避免各開發廠商所用的 C 語
言語法產生差異 , 由美國國家標準局 (American National Standard Institution) 為 C 語言訂定一套完整的國際標準語法 , 稱為 ANSI C, 做為 C 語言的標準。
7
C 語言簡介 由於 C 語言所具備的效率、彈性、可攜性等各
項優點 , 逐漸成為一種廣受歡迎的程式語言。
C 語言的優點包括 : 1. 程式碼精簡 , 產生的程式執行效率佳。 2. 具有很高的可攜性。 3. 完全支援模組化的程式設計。 4. 彈性大而擴充性強。
8
如何讓 C 語言程式 變成可以執行 C 程式稱為原始程式 , 原始程式必須翻譯成電腦
認識的機器語言 , 才能由電腦執行。
將高階程式語言所寫的原始程式 , 翻譯成機器語言的方式有編譯與直譯兩種。
C 語言採用的是編譯的方式 ( 因此可稱之為編譯式語言 ) 。將 C 原始程式編譯為可執行檔 , 需經過編譯和連結兩個動作。
9
編譯與連結的動作
10
編譯 使用編譯器 (Compiler) 將人類看得懂的原始程
式 , 翻譯成電腦看得懂的目的檔。
編譯器在編譯過程中 , 會檢查原始程式中的語法是否有錯誤。
如果有錯誤 , 原始程式將無法進行連結的動作。
程式設計者必須修正原始程式中的語法錯誤 , 再重新編譯。
11
連結 編譯完成後 , 便可以進行連結的動作。
連結器 (linker) 的用處是將目的檔 , 與程式中所使用到的函式庫做連結 , 而產生完整的執行檔。
如果開發的程式比較大 , 或參與開發的人比較多 : 此時會將程式分成多個原始程式。 每個原始程式都可個別編譯成目的檔 , 然後於
連結時。 再將所有的目的檔與函式庫連結成一個完整的
執行檔。
12
編譯式程式語言列表
13
直譯式語言 直譯如同是現場口譯 , 當程式需要執行時才開始
翻譯。 直譯式的語言是利用直譯器 (Interpreter) 對原始
程式碼一邊讀解,一邊執行。 翻譯程式的過程中,不需要產生目的檔。 直譯器會將程式一行一行的讀入,並且逐行翻譯,
並送交由電腦執行。 像 JavaScript 、 VBScript 、 Perl 等都算是直譯
式語言。
14
接觸 C 語言
15
第一個 C 程式
第一行 int main (void) 稱之為 main () 函式。 main () 前面的 int 是整數的意思 , 表示這個 C
程式在執行結束時 , 會傳回一個整數值到作業系統。
main () 函式main () 函式的內容 寫在{ } 中
16
第一個 C 程式 第三行 /*……*/ 裡面的字 , 稱之為註解。 當編譯器遇到註解時會跳過註解文字不做任何編譯。
編寫程式時 , 程式設計者以口語的方式加註解釋 , 以方便日後查看。
單行註解 : 多行註解 :
// 註解內容 /* 註解內容 */
17
第一個 C 程式 第三行中 “ return 0; ” 的敘述 (statement),就是
將數值 0 傳回給作業系統。
通常在撰寫應用程式時 , 會將程式執行的狀況以 “傳回值” 反應給作業系統。
習慣上會用數值 0 表示程式執行順利 , 無任何錯誤的意思。
18
輸出一行文字的程式
前置處理指令
19
輸出一行文字的程式 第一行 #include <stdio.h> 稱之為前置處理指令
(preprocessing directive) 。
前置處理指令的功用 , 就是把 stdio.h 這個檔案的內容放在原始程式的最開頭。 檔案 stdio.h 會附於安裝編譯器的子資料夾下。
第 4~7 行用 { } 括住的部分 , 就是 main (void) 函式的內容。
20
輸出一行文字的程式 第 5 行的 printf () 是 C 語言裡最基本的輸出函
式 : 將括號 () 中 , 用引號 “…” 包住的程式輸出到
標準輸出裝置。 預設的標準輸出裝置就是螢幕。 所以這行程式的功用 , 就是將 “ C 語言的世
界 , 你好啊 !!” 這段訊息 , 輸出到螢幕上
同樣的 , 在第六行 , 每個程式都需要加上 “ return 0;”, 傳回程式執行無誤的訊息。
21
C 語言的基本語法
22
main (void) 是什麼意思 main (void) 是每個 C 程式都一定要有的函式。
函式 (function) 簡單的說 , 就是一段程式的集合 , 並能產生某項特定的功能。
main (void) 函式中的 void 的意思是空白 , 也就是說 main () 函式不接受任何參數的傳入。
main () 函式比較特別 , 它不像函式庫中的函式 , 都有事先設計好的功用。
23
main (void) 是什麼意思 main () 函式的內容 , 完全由寫程式的人自行決定。
如果我們希望程式能完成某項工作 , 就要將完成該工作的 C 語言敘述放在 main () 函式中。
24
解 x=123 代入 2x+99 的結果
註解
25
解 x=123 代入 2x+99 的結果 第 5 行為宣告變數 x 與 y 都是整數 (int) 。
第 6 行是將 x 值設定為 123 。
第 7 行是用 y 來接受 2x+99 的運算結果 , 在 C 語言中所有的算式都要寫成像本行的模式 : 等號的左邊只能有一個變數。 右邊則是算式。
26
解 x=123 代入 2x+99 的結果 第 8 行是印出 y 的值 , 也就是印出 2x+99 的
結果。 觀察本行內容 , printf () 輸出的是 "答案 =
%d 。 執行結果則是輸出 "答案 = 345“ 。 printf () 函式自動將 %d 的部分代換成 y 的
值 345 。
其中 %d 稱為 printf () 的輸出格式控制符號 ; 將逗號後的變數 y 的值 , 以十進位的格式輸
出在 %d 的位置。
27
解 x=123 代入 2x+99 的結果
關於 printf () 函式其它的輸出格式控制符號 , 在Ch. 2 和 Ch. 3 會做詳細介紹。
28
含括檔 #include <...> 淺說 #include, 稱為前置處理指令 (preprocessing
directive) 。
編譯器在編譯 C 程式前 , 會先由前置處理器 (preprocessor) 來處理程式中的前置處理指令。
在原始程式第 1 行加上 #include<stdio.h>, 會把 stdio.h 這個檔案的內容放在原始程式的最開頭。 此動作稱為含括 (include), 而被含括到程式中
的 stdio.h 則稱為含括檔 , 其特色為副檔名為 .h 。
29
含括檔 #include <...> 淺說 使用函式前 , 必須先宣告 (declare) 函式。
C 語言已經預先將標準函式庫中的函式宣告 , 分門別類放在各個含括檔中。
例如程式中用到了 printf () 函式 , 而其宣告就存放 stdio.h 中。 因此必需在程式開頭加上 #include<stdio.h> 這
一行。 程式的連結階段才不會出現錯誤訊息。
30
含括檔 #include <...> 淺說 在程式一開始先以 #include 的方式 , 將程式中要
使用的函式宣告含括進來。
單一程式中所能含括的檔案數並無限制。
31
程式的分段:使用 {} 與 ; C 語言對其程式寫作格式中有許多嚴謹的規定 , 這
是為了避免編譯器在編譯時無法解讀程式的含意而發生編譯錯誤。
C 語言使用以下兩種符號來標示段落: 大括號 { } 分號 ;
32
大括號 {} 的使用
{ } 中間的程式表示是一小段函式的結束 , 或是一小段的敘述結束 , 我們稱之為程式區塊 (block) 。
Block
33
分號表示敘述的結尾
每一句完整的程式後要加上分號 , 表示該敘述結束:
34
分號表示敘述的結尾 每個由分號結尾的一個程式片段 , 可稱為一段敘述 (Statement) 。
在 C 語言中 , 並未規定每個敘述都必須獨立成一行 , 也沒規定同一敘述都要放在同一行。
只有少數幾個敘述不必在結尾加上分號 (if 、 else 、 while 等流程控制敘述 ), 其它的敘述都一定要用分號做結尾
35
養成良好的寫程式習慣
36
適時的分行 要寫好程式 , 一定要養成良好的觀念。
不要將程式碼排的亂七八糟。 要工整 , 有一定的格式。
就如同寫一篇文章 , 如果沒有分段 , 沒有標點符號 , 閱讀者不知道哪裡該停頓 , 哪裡段落結束。
適時的分行 , 將使程式便於整篇的閱讀。
37
適時的分行 以下哪種程式較容易閱讀 ?
int main (void)
{int x; int y; int z; x=10; y=5; z=20;…}
程式A
程式B
int main (void)
{
int x;
int y;
int z;
x = 10;
y = 5;
z = 20;
…
}
38
適時的分行 當一行敘述太長時 , 只要是變數和運算符號 ( 簡
稱算符 ) 、逗號、括號之間 , 都可依需要斷行。 在換行處不需要加任何符號 , 只需在運算式結
束處加分號即可。
a = b + c + d + e + f + g + h + i + j + k + l + m;
a = b + c + d + e +
f + g + h + i +
j + k + l + m;
可在任一位置換行
39
適時的分行 斷行時不可將原本完整的
變數名稱分斷。 函式名稱分斷。 關鍵字分斷。 這都將造成編譯器解讀錯誤。
40
程式碼的內縮:表現出層次感
需善用內縮的技巧 ,
將使的程式有層次感 ,
段落明顯 , 章節分明 。
內縮
41
善用註解 寫程式要注意多加註解。
幫助閱讀程式的人能清楚了解 每一行的功能 ; 每一段的功能 ; 進而了解到整個程式的功能以及流程。
42
Dev-C++ 操作簡介
43
執行第一個練習 : 開啟 Dev-C++
1. 開啟 Dev C++ 。
44
執行第一個練習2. 選取 檔案 → 開新檔案 → 專案。
45
執行第一個練習3. 選取 Console Application → C 專案 → 確定。
46
執行第一個練習4. 選取 你的資料夾 → Q1 → 開啟。
47
執行第一個練習5. 選取完資料夾 後按存檔。
48
執行第一個練習6. 此時會跳出以下的畫面 , 即可開始撰寫程式。
49
編譯並執行程式7. 選取 執行→ 編譯並執行 或按 F9 。
50
編譯並執行程式8. 執行結果 , 可查看語法是否有錯誤。
51
Microsoft Visual C++ 6.0 操作簡介
52
執行第一個練習 : 開啟 Visual C++6.0
53
執行第一個練習 開啟新的 Project, 選取 File → New 。
54
執行第一個練習 選取Win32 Console Application 。
55
執行第一個練習 輸入 Project 名稱後 , 點選 “ OK” 。
56
執行第一個練習 勾選 “ An empty project” 後 , 點選 “ Finish” 。
57
執行第一個練習 出現 New Project Information視窗後 , 點選
“ OK” 。
58
執行第一個練習 完成建立新的 Project 。 必須在新的 Project 中加入新的程式檔。
59
執行第一個練習 選取 File → New 。
60
執行第一個練習 選取 C++ Source File 。
61
執行第一個練習 輸入 File名稱後 , 點選 “ OK” 。
62
執行第一個練習 在右邊空白處撰寫程式碼。
此處撰寫程式
63
執行第一個練習 撰寫完成後 , 記得儲存檔案。然後選取 Build →
Compile hello.cpp 完成編譯的動作 ; 也可按 Ctrl+F7 。
儲存檔案
64
執行第一個練習 如果程式語法沒有錯誤 , 在視窗下方會出現以下的訊息。
0 error(s), 0 warning(s)
65
執行第一個練習 然後選取 Build → Build hello.exe 完成連結的動
作 ; 也可按 F7 。
66
執行第一個練習 如果連結過程沒有錯誤 , 在視窗下方會出現以下的訊息。
0 error(s), 0 warning(s)
67
執行第一個練習 最後選取 Build → Eexcute hello.exe 執行程式 ; 也可按 Ctrl + F5 。
68
執行第一個練習 執行結果會出現在 DOS 視窗。
69
課後練習請同學練習寫一個程式印出以下的文字 , 並為程式加上註解。This is my first program!!