1、C 程式設計 結構台大資訊工程學系資訊系統訓練班課程大綱n C語言簡介n 基本資料型態 , 變數 , 基本輸入輸出n 控制敘述 - 選擇控制與重覆控制 n 陣列 n 函式 n 指標 n 字元與字串 n 結構 n 檔案處理 本次課程大綱n 資料型態別名 (typedef)n 結構 (Structure)n 結構陣列n 結構與函式n 聯合 (Union)n 列舉資料型態 (enum)typedef型態定義 (1)n typedef資料型態 識別字(別名);n 資料型態是識別字所對應的真實資料型態,它可以是 C語言的基本資料型態,或其他已經定義過的自訂資料型態,或已經使用 typedef定義過的別名
2、。n 識別字(別名),一旦經由 typedef定義之後,在程式中就可以使用該別名來宣告變數,而實際上,該別名將會被編譯器代替為原來的資料型態。typedef型態定義 (2)n 範例:typedef int score; /* 定義資料型態的別名 */score student01,student02;n 範例:typedef char * STRING; /* 定義資料型態的別名 */STRING str1=“Book“;n 例子結構 (structure) (1)n 由於每一種資料可能擁有不同的資料型態,因此,我們有的時候無法單純使用多維陣列來加以存放資料,例如:我們要記錄全班同學的成績,每
3、一位同學的資料為學號(字串資料型態)、計概成績(整數資料型態)、數學成績(整數資料型態)、英文成績(整數資料型態)、平均成績(浮點數資料型態),如下圖。結構 (structure) (3)n 結構能夠結合數個彼此相關的變數在一個名稱之下 , 並可包含許多不同資料型態的變數 .n 和結構相比 , 陣列也只能包含相同資料型態的元素 .struct 結構型態資料型態 變數 1;資料型態 變數 2;.資料型態 變數 3;結構 (structure)定義n struct開始定義一個結構n student稱為該結構的標籤 (struct tag)n struct student可以用來定義此結構型態的變數 , 每一個結構定義必須以分號作為結束 .struct studentchar stu_id12; /* 學號 */int ScoreComputer; /* 計概 */int ScoreMath; /* 數學 */int ScoreEng; /* 英文 */float ScoreAvg; /* 平均成績 */; 結構的記憶體內容結構宣告n struct 結構名稱 變數或陣列名稱struct student John;struct student IM50; n struct 結構資料型態名稱結構主體結構變數名稱 ; struct XY;