Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to the C Programming Language

Similar presentations


Presentation on theme: "Introduction to the C Programming Language"— Presentation transcript:

1 Introduction to the C Programming Language

2 程式碼的編譯 一般來說,程式碼編輯完成後,必須轉換成機器所能理解的語言(即機器碼,machine code)後,才能正確的執行。
所有的程式語言中,都附有這種轉換的程式,而轉換程式可概分成兩種,即直譯器(interpreter)與編譯器(compiler)。 C語言是屬於編譯器的一種。

3 C語言的編譯及連結過程 撰寫程式 編譯器 (Compiler) 連結程式 (Linker) 原始程式 (xxx.c) 函數庫
(Library) 連結程式 (Linker) 目的檔 (xxx.obj) [ 參閱 : C語言教學手冊 1-15 ~ 1-17 , 洪維恩著 ] 利用文字編輯程式(text editor) 撰寫一原始檔案(.c), 所有的原始檔都要有.c的擴充檔名,否則將不會正確 地被編譯程式認出來. 此原始檔案經由編譯程式(complier)產生目的檔(.obj), 1. 編譯程式除了要檢查原始程式的語法,定義的變數名稱 等等是否正確之外,還要將標頭檔讀進來,根據這個標頭檔 的內容所記載之函數的定義,檢查程式中所使用的函數用法 是否合乎規則. ] 2. 目的檔即代表一個已經編譯過且沒有錯誤的程式. 可是雖然 目的檔的內容是正確的,但它不代表執行結果會完全正確, 因為它無法替您檢查出邏輯上的錯誤. 連結程式(linker)會將其他的目的檔及所呼叫的函數庫(library) 連結在一起後,產生一可執行檔(.exe). 函數庫 : C語言已經將許多常用的函數寫好,並將這些函數分門別類 (如數學函數,標準輸出輸入函數等),當你想要使用這些函數時, 只要在程式中載入它所屬的標頭檔就可以使用它們.這些不同 的函數集合在一起,就把他們統稱為函數庫. 執行檔 (xxx.exe)

4 簡 單 的 C 程 式 範 例 #include<stdio.h> #include<stdlib.h>
/* prog1_1 , 第一個C程式碼 */ #include<stdio.h> #include<stdlib.h> void main(void) { printf("First C program!\n"); /*在螢幕上印出 ””內的字串*/ printf("享受C的樂趣\n!"); system("pause"); /*暫停程式的執行*/ } 原始的程式碼 說明: 1. #include<stdio.h> : 將stdio.h這個檔案含括進來,並置於#include這行敘述的地方. 2. main() : 程式執行的起點,所執行的是{ }內的內容. 3. 空格,跳格,換行,對編譯程式來說是看不到的,故可利用“縮排” 來增加 “可讀性”

5 程式碼的編輯、撰寫 下面視窗為鍵入程式碼之後的情形: 說明:
1. #include<stdio.h> : 將stdio.h這個檔案含括進來,並置於#include這行敘述的地方. 2. main() : 程式執行的起點,所執行的是{ }內的內容. 3. 空格,跳格,換行,對編譯程式來說是看不到的,故可利用“縮排” 來增加 “可讀性”

6 程式碼的編輯、撰寫 選擇『檔案』功能表裡的『儲存』即可儲存檔案。 存檔類型需存成 .c 檔 說明:
1. #include<stdio.h> : 將stdio.h這個檔案含括進來,並置於#include這行敘述的地方. 2. main() : 程式執行的起點,所執行的是{ }內的內容. 3. 空格,跳格,換行,對編譯程式來說是看不到的,故可利用“縮排” 來增加 “可讀性”

7 基本資料型態 C語言常用的四種資料型態: 例如: char name; /*宣告一個變數name為字元資料型態*/
char(字元) character int(整數) integer float(浮點數) single-precision floating point double(倍精度浮點數) double-precision floating point 例如: char name; /*宣告一個變數name為字元資料型態*/ int num; /*宣告一個變數num為整數資料型態*/ float grade; /*宣告一個變數grade為浮點資料型態*/

8 輸入與輸出 C常用的資料型態: 輸出:printf 輸入:scanf
int (%d), char(%c), float(%f), double(%lf) 輸出:printf 例:printf(“X的值為%d”, x); 輸入:scanf 例:scanf(“%d”, &x);

9 C程式練習 #include<stdio.h> int main(void) {
int num=5; /* 宣告一個名為num的整數型態變數 */ printf(“Hello C Program\n"); printf(“num的值為:%d",num); system("pause"); return 0; }

10 解 析 C 語 言 include指令與標頭檔: main()函數: 大括號、本體 在C語言裡,性質相近的格式定義會放在同一個標頭檔裡。
每ㄧ個C程式都必有一個main()函數,而且只能有一個。 所有C程式都是由main()函數開始執行,所執行的是{ }內的內容。 大括號、本體 以main()函數而言,左大括號({)與右大括號(})之間的程式碼就是main()函數的本體(body)。 本體內的每個指令敘述需以分號『;』做結尾。 1.stdio.h 與 stdlib.h 都稱為標頭檔(header file)。 2.例如:stdio.h 提供了輸入/輸出的函數 math.h提供了數學函數(如平方、立方、開根號)。

11 簡 單 的 C 程 式 範 例 讀取輸入值並設定給num變數 #include<stdio.h>
#include<stdlib.h> int main(void) { int num; /* 宣告一個名為num的整數型態變數 */ printf(“How old are you?"); /* 呼叫printf()函數 */ scanf("%d",&num); printf("You are %d years old\n",num); system("pause"); return 0; } /* 將stdio.h這個檔案含括(include)進來*/ /*將stdlib.h這個檔案含括(include)進來*/ 定義了main函數,{}內為main的主體 C語言的註解。 C是以 " /* "及 " */ “ 記號來包圍註解文字. 讀取輸入值並設定給num變數 說明: 1.stdio是standard input/output(標準輸入/輸出)的縮寫。C語言裡只要有關輸入與輸出的格式均是 定義在這個檔案裡。 2.因為system()函數是定義在stdlib.h裡,所以要include進來。 2. main() : 所有的C程式都是由main()開始執行,所執行的是{ }內的內容. 3. { }: 代表程式的開始與結束 4. /* */ : C程式的註解,以“/*”及“*/”記號來包圍註解的文字. 5. 分號(;) : 代表敘述(statement)的結束符號. printf函數會先把『%d』這個符號以num的值來取代。 再將雙引號內的文字輸出到螢幕上。

12 跳脫字元(Escape Sequences)
\a alert (bell) character \\ backslash \b backspace \? question mark \f formfeed \' single quote \n newline \" double quote \r carriage return \000 octal number \t horizontal tab \xhh hexadecimal number \0 null character 倒斜線(\),代表“脫離”字元(或稱首前導標識),使得在解譯字串時脫離正常的方式,而使下一個字元具特殊意義 \b:到退一格 \f:跳頁 \n:換行 \r:倒回同列的開始處 \t:跳8個字元


Download ppt "Introduction to the C Programming Language"

Similar presentations


Ads by Google