Presentation is loading. Please wait.

Presentation is loading. Please wait.

台大資訊工程學系 資訊系統訓練班 第119期 吳晉賢

Similar presentations


Presentation on theme: "台大資訊工程學系 資訊系統訓練班 第119期 吳晉賢"— Presentation transcript:

1 台大資訊工程學系 資訊系統訓練班 第119期 吳晉賢
C 程式設計 台大資訊工程學系 資訊系統訓練班 第119期 吳晉賢

2 補充:資料型態的轉換 看講義.

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

4 結構 (structure) 結構能夠結合數個彼此相關的變數在一個名稱之下, 並可包含許多不同資料型態的變數. 和結構相比, 陣列也只能包含相同資料型態的元素. struct 結構型態 { 資料型態 變數1; 資料型態 變數2; ………………….. 資料型態 變數3; };

5 結構 (structure) struct student { char name[20]; int number; } kant;
struct開始了一個結構的定義, student稱為該結構的標籤(struct tag), struct student可以用來定義此結構型態的變數, 每一個結構定義必須以分號作為結束.

6 成員的引用 結構中的成員可以透過點運算符號 . 進行存取. 例子1: 建立一個存放學生資料的結構. 例子2: 一開始就給結構初始值.
例子3: 輸入某學生的出生日期, 姓名及學號.

7 結構陣列 利用結構可以存放個人的許多資料, 若宣告成陣列的話,則可以存放一群人的資料. struct { char name[20];
int num; } class[40]; class[0].name : 第一個成員的name元素 class[0].num : 第一個成員的num元素 …..以此類推

8 例子: 輸入三個學生的學號,姓名及成績並列印出來.

9 巢狀結構 當必須要用到結構中的成員也是結構時, 可以用巢狀結構來處理. 例子:

10 結構與函數 當函數的參數的型式為結構時,將結構型態傳給函數的方式將和一般的資料型態相同. 例子1: 個別傳送結構成員 例子2: 整個結構傳送
例子3: 輸入5個學生的資料,並輸出

11 結構與指標 同時使用指標與結構, 可以享受到指標帶來的便利.這裡會談到指標指向結構變數的指標. struct student {
char name[20]; int num; }; struct student *stud;

12 結構與指標 若要存取結構指標變數的成員, 必須使用下列的方法: student->name; (*student).name;

13 例子: 輸入一個學生的資料, 並且將他輸出.

14 聯合 (union) 聯合與結構相當類似,兩者之間的差異在於結構中的資料型態必須佔用不同的記憶體空間,而聯合可以使不同的資料型態佔用相同的記憶體空間. 聯合變數的長度是其中的最大值. union { int one; float two; } num;

15 例子: 利用sizeof()比較結構和聯合在記憶體中所佔空間的差異. 輸入一個員工的加班時數及正常上班時數,並計算出該員工薪資.

16 練習 建立一個員工結構, 裡面有 name, age, address, salary, phone的資料結構. 由使用者輸入5個員工資料.


Download ppt "台大資訊工程學系 資訊系統訓練班 第119期 吳晉賢"

Similar presentations


Ads by Google