Presentation is loading. Please wait.

Presentation is loading. Please wait.

C 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班.

Similar presentations


Presentation on theme: "C 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班."— Presentation transcript:

1 C 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班

2 本期課程大綱 C語言簡介 基本資料型態, 變數, 基本輸入輸出 控制敘述- 選擇控制與重複控制 陣列 函式 指標 字元與字串 結構 檔案處理

3 本次課程大綱 C語言的發展環境 C語言的基本架構 C語言的基本資料結構 C語言的基本輸入輸出

4 C程式發展環境 C語言的產生六階段 Edit Preprocess Compile Link Load Execute

5 cmp ax,10 jge large add ax,1 jmp done large: sub ax,1 done: mul ax,ax If (i>=10) i--; else i++; i=i^2;

6 編譯器(Compiler)介紹 Windows Turbo C Borland C Visual C… Unix Gcc

7 C 程式語言的架構 #include <stdio.h> // 前端處理程式 void fun() //函式 {
變數定義 (宣告) …………………. } void main() // 主程式 ………………… 指令敘述 fun(); 例子: 來個最簡單的程式範例

8 前端處理程式 #號所引領的指令叫前端處理程序 stdio.h是一種檔案名稱--標準輸出輸入檔 更多head檔…
#include <stdio.h> 告訴編譯器該去載入這個檔案 stdio.h是一種檔案名稱--標準輸出輸入檔 std代表standard(標準) io代表輸入輸出 h代表header檔 更多head檔… string.h math.h h代表header檔, 因此stdio.h叫標準輸出輸入檔, 在C裡,任何有輸出及輸入的程式都要把他加到程式的最前面.

9 註解(Comment) 註解是利用/* 和 */ 辨識的文字段落 註解的功用在於解釋你的程式 註解的例子: /* 這是一段把a跟b
加起來的程式 */ sum = a + b; // sum代表總和 , 方便別人可以了解你的程式及自己可以很快記得當初為何要這樣寫出這段程式.

10 函數(Function) int main() () 是用來暗示這是一個函數 int 表示這個程式會回傳一個整數值
C語言包含一個以上的函數,其中一個一定要是main () 是用來暗示這是一個函數 int 表示這個程式會回傳一個整數值 { } 表示一個程式區間 (block) 函數本身要做的事定義在{ }內

11 指令敘述(Statement) printf( "Hello NTU!\n" ); 委託電腦去執行一項工作 整行是一個指令敘述
特殊函數裡會需要傳入變數 整行是一個指令敘述 每一個指令敘述的最後必須加上 ; 好的習慣是讓每個指令陳述各自一行 斜線符號 (\) 暗示這個函數必須做出其他的事情 \n 是一個換行符號 \t, \a, \\, \”,練習,將\n改成在中間,可以換兩行

12 回傳值(Return) return 0; 跳出函數的方法 return 0表示程式正常結束 最後一個括號 } 表示這個函數已經執行完畢

13 C的基本資料型態(1) C 的基本資料型態 修飾詞 (qualifier) char (字元) int (整數) float (浮點)
double (倍準浮點) 修飾詞 (qualifier) short int i, j; unsigned int x, y; long double area;

14 C的基本資料型態(2) 資料 容量 數值範圍 輸入/出格式 型態 char 1 byte -128~127 %c
資料 容量 數值範圍 輸入/出格式 型態 char byte ~ %c int ~ %d long ~ %ld float E-38~3.4E+38(7位有效) %f double E-308~1.7E+308(15位) %lf Note: 基本上我們會用sizeof()來取得不同資料型態所佔的位元容量

15 常數(1) 常數就是給定的值, 把定值指定給變數就可以 C 的常數 字元常數 字串常數 整數常數 浮點常數

16 常數(2) 字元常數 char c=‘a’; printf ("%c", c); 其輸出為: a

17 常數(3) 字串常數 字串 是 由 連續的 多個 字元 並 前後 各加上 一個 雙引號 (") 所構成, 如:
"This is a string!", "這是一字串", "0123\n0123\t\x61\n"。

18 常數(4) 整數常數 int i=10; printf(“%d”,i); 輸出: 10

19 變數(Variables) 變數是一個記憶體空間, 主要用途是讓程式設計者, 暫時存放一個數值, C語言中變數一定要宣告後才可以用始用.
變數宣告語法: 資料型態 變數名稱[, 變數名稱]; 變數宣告處: 在 一個檔案任何函數 (包括 main) 之前 在任一 括號 { ... } 內的起頭 例如: char c ='0', C ='c', ch; int i, j, k;

20 變數宣告原則 變數名稱 第一個字元必需是英文字母或底線 “_” 不可以和關鍵字相同 在C語言中, 大小寫英文字母是不相同的,
變數名稱最好跟所要代表的意義一樣比較好, 如answer代表答案變數名.

21 關鍵字(Key Words)

22 基本算術運算子 算術運算子有下列六種, 按其運算優先順序說明如下: 優先順序 算術運算子 說明 1 - 負號 2 * 乘 2 / 除
優先順序 算術運算子 說明 負號 * 乘 / 除 % 餘數

23 基本輸入/輸出(1) printf() printf( ); 指令會將括號內兩個引號 " " 中的字串列印在螢幕
main() { printf("嗨! 我是小明, 您好!\n"); printf("請問大名?\n"); } 執行此程式的結果將會在螢幕上顯示出: 嗨! 我是小明, 您好! 請問大名? printf( ); 指令會將括號內兩個引號 " " 中的字串列印在螢幕 \n 是換行符號, 有列印動作, 但沒有符號 顯現出來。 \t, \a, \\, \”,練習,將\n改成在中間,可以換兩行

24 基本輸入/輸出(2) printf()函式 int num=123; 可用來印出變數內容 用法是在格式字串以%符號跟隨資料型態的對應字元
printf(“The variable num is %d”,num); printf(“num is %d and num+3 is %d”,num,num+3);

25 基本輸入/輸出(3) 在列印資料時, 換行字元(\n) 相當常用 如果要印特殊符號,像”與倒斜線\時,需要在前面多加一個倒斜線. 格式化輸出
e.g. Printf(“print two special symbols \“ and \\”); 格式化輸出 %[-][width][.precision] format indicator - : 表示向左靠齊 (預設向右) width: 表示要保留幾個字的大小 .precision: 表示小數點後要印出幾位數字 (預設6位) 如果width<需要的 會自動補齊 Meaning varies depending on data type Integers (default 1) Minimum number of digits to print If data too small, prefixed with zeros Floating point Number of digits to appear after decimal (e and f) For g – maximum number of significant digits Strings Maximum number of characters to be written from string Format Use a dot (.) then precision number after % %.3f

26 fig09_09.c Copyright by Deitel & Associates, Inc. and Pearson Edition Inc. All right Reserved.

27 Using precision for integers
0873 Using precision for floating-point numbers 1.239e+002 124 Using precision for strings Happy Birth Program Output Copyright by Deitel & Associates, Inc. and Pearson Edition Inc. All right Reserved.

28 基本輸入/輸出(4) scanf()函式的引數和printf()函式相似. 格式字串定出輸入的格式,後面跟隨準備接受資料的變數.
scanf()和printf()不同的是,前者傳遞變數的位址,而後者通常是變數的數值,在C中要取得變數的數值,我們使用取址運算子(&). 以scanf()來取得資料時, 在輸入資料時,要以Enter做為結尾,每一個資料項之間要以空白(space),跳位字元(tab)或Enter隔開.

29 舉例 簡單的四則運算.

30 字元輸入輸出函數 getch(); getche(); getchar();
代表由鍵盤輸入一個字元. getche()代表輸入字元時會印在螢幕上, getch()則不會. 例子 getchar()則是要按Enter鍵才代表資料輸入完成,並且輸入的字元會顯示在螢幕上

31 字元輸出函數 putch() 和 putchar(). 例子:

32 今天學到的… 如何使用C語言的發展環境 什麼是C語言的基本資料結構 什麼是C語言的基本架構 如何使用C語言的基本輸入輸出


Download ppt "C 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班."

Similar presentations


Ads by Google