




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第1頁/共28頁第一頁,共28頁。數組數組 數組是有序數據的集合。數組中的每一個元素都屬于同一個數據類型。用一個統(tǒng)一的數組名和下標來惟一地確定數組中的元素。 定義方式為:類型說明符 數組名常量(chngling)表達式;例如:int a10;第2頁/共28頁第二頁,共28頁。說明說明(shumng)(1)數組名的命名規(guī)則和變量名相同,遵循標識符命名規(guī)則。(2)在定義數組時,需要指定數組中元素的個數,方括號中的常量表達式用來表示元素的個數,即數組長度。(3)常量表達式中可以(ky)包括常量和符號常量,不能包含變量。C語言不允許對數組的大小作動態(tài)定義,即數組的大小不依賴于程序運行過程中變量的值。第
2、3頁/共28頁第三頁,共28頁。數組定義數組定義(dngy)是否合法?是否合法?int a;int i = 3; int ai;int 3d10;int _c3;int b2+1int i = 3; int bi+3;第4頁/共28頁第四頁,共28頁。數組的初始化數組的初始化對數組元素的初始化可以用以下方式(fngsh)實現(1)在定義數組時對數組元素賦予初值。(2)可以只給一部分元素賦值。第5頁/共28頁第五頁,共28頁。數組的引用數組的引用(ynyng)數組必須先定義,然后使用。數組元素的表示形式(xngsh)為數組名下標下標可以是整型常量或整型表達式。第6頁/共28頁第六頁,共28頁。例
3、:數組元素(yun s)的引用int main (int argc, const char * argv) NSAutoreleasePool * pool = NSAutoreleasePool alloc init;/-int a10;for(int i=0;i=0;i-)NSLog(%d,ai);/- pool drain; return 0;第7頁/共28頁第七頁,共28頁。例:程序結果(ji gu)是什么?int main (int argc, const char * argv) NSAutoreleasePool * pool = NSAutoreleasePool alloc
4、init;/-int f20 = 1,1;for(int i=2;i20;i+)fi = fi-2+fi-1;for(int j=0;j20;j+)NSLog(%d,fj);/- pool drain; return 0;第8頁/共28頁第八頁,共28頁。例:程序結果(ji gu)是什么?int main (int argc, const char * argv) NSAutoreleasePool * pool = NSAutoreleasePool alloc init;/-int a2=1,2,3;for(int i=0;i3;i+)NSLog(%i,ai);/- pool drain;
5、 return 0;第9頁/共28頁第九頁,共28頁。二維數組二維數組二維數組定義的形式為類型說明符 數組名常量表達式常量表達式;例如(lr):float a34, b510;二維數組可被看作是一種特殊的一維數組:它的元素又是一個一維數組。二維數組中元素排列的順序是按行存放的。即在內存中先順序存放第一行的元素,再存放第二行的元素。第10頁/共28頁第十頁,共28頁。二維數組的初始化二維數組的初始化可以(ky)用下面的方法對二維數組初始化(1)可以(ky)將所有數據寫在一個花括號內,按數組排列的順序對各元素賦初值。(2)可以(ky)對部分元素賦初值。第11頁/共28頁第十一頁,共28頁。二維數組
6、的引用二維數組的引用(ynyng)二維數組元素的表示形式為數組名下標下標例如a23。下標可以是整型表達式,如a2-12*2-1。數組元素可以出現(chxin)在表達式中,也可以被賦值。例如:b12=a23/2下標值應在已定義的數組大小的范圍內。常出現(chxin)的錯誤是:int a34;a34=3;第12頁/共28頁第十二頁,共28頁。結構結構(jigu)體體 我們已介紹了基本類型(或稱簡單類型)的變量(如整型、實型、字符型變量等),也介紹了一種構造類型數據-數組,數組中的各元素是屬于同一個類型的。但是只有這些數據類型是不夠的。有時需要將不同類型的數據組合成一個有機的整體,以便于引用。這些組
7、合在一個整體中的數據是相互聯系(linx)的。應當把它們組織成一個組合項,在一個組合項中包含若干個類型不同的數據項(當然也可以相同)。C語言允許用戶自己指定這樣一種數據結構,它稱為結構體。第13頁/共28頁第十三頁,共28頁。結構結構(jigu)體定義體定義聲明一個結構體類型的一般(ybn)形式為struct 結構體名成員列表;“結構體名”用作結構體類型的標志。大括弧內是該結構體中的各個成員,由它們組成一個結構體。對各成員都應進行類型聲明,即類型名 成員名;成員名定名規(guī)則與變量名相同。第14頁/共28頁第十四頁,共28頁。結構(jigu)體定義numnamesexagescoreaddress
8、10010LILYM1887.5Beijingstruct student int num;NSString *name;char sex;int age;float score;NSString *address;第15頁/共28頁第十五頁,共28頁。定義結構定義結構(jigu)體類型變量的方法體類型變量的方法 前面只是指定了一個結構體類型,它相當于一個模型,但其中并無具體數據,系統(tǒng)對之也不分配實際內存單元。為了能在程序中使用結構體類型的數據,應當定義結構體類型的變量,并在其中存放具體的數據。可以采取以下三種方法定義結構體類型變量。1、先聲明(shngmng)結構體類型再定義變量名2、在聲明
9、(shngmng)類型的同時定義變量3、直接定義結構體類型變量第16頁/共28頁第十六頁,共28頁。說明說明(shumng)(1)類型與變量是不同的概念,不要混同。只能對變量賦值、存取或運算,而不能對一個類型賦值、存取或運算。(2)對結構體中的成員可以單獨使用,它的作用與地位(dwi)相當于普通變量。(3)成員也可以是一個結構體變量。(4)成員名可以與程序中的變量名相同,二者不代表同一對象。第17頁/共28頁第十七頁,共28頁。結構結構(jigu)體變量的引用體變量的引用在定義了結構體變量以后,當然可以引用這個變量。但應遵守以下規(guī)則:(1)不能將一個結構體變量作為(zuwi)一個整體進行輸入和
10、輸出。(2)如果成員本身又屬一個結構體類型,則要用若干個成員運算符,一級一級地找到最低的一級的成員。只能對最低級的成員進行賦值或存取以及運算。(3)對結構體變量的成員可以像普通變量一樣進行各種運算(根據其類型決定可以進行的運算)。(4)可以引用結構體變量成員的地址,也可以引用結構體變量的地址。第18頁/共28頁第十八頁,共28頁。結構結構(jigu)體變量的初始化體變量的初始化 和其他類型變量一樣,對結構(jigu)體變量可以在定義時指定初始值。第19頁/共28頁第十九頁,共28頁。共同體共同體有時需要使幾種不同類型的變量存放到同一段內存單元中。例如,可把一個整型變量、一個字符型變量、一個實型
11、變量放在同一地址開始的內存單元中。以上3個變量在內存中占的字節(jié)數不同,但都從同一地址開始。也就是使用(shyng)覆蓋技術,幾個變量互相覆蓋。這種使幾個不同的變量共占同一段內存的結構,稱為“共用體”類型的結構。定義共用體類型變量的一般形式為union 共用體名 成員表列 變量表列;第20頁/共28頁第二十頁,共28頁。共同體的引用共同體的引用(ynyng)方式方式 只有先定義了共用體變量才能引用(ynyng)它。而且不能引用(ynyng)共用體變量,而只能引用(ynyng)共用體變量中的成員。第21頁/共28頁第二十一頁,共28頁。共同體類型數據共同體類型數據(shj)的特點的特點(1)同一個
12、內存段可以用來存放幾種不同類型的成員,但在每一瞬時只能存放其中一種,而不是同時存放幾種。也就是說,每一瞬時只有一個成員起作用,其他成員不起作用,即不是同時都存在和起作用。(2)共用體變量中起作用的成員是最后一次存放的成員,在存入一個新的成員后原有的成員就失去作用。(3)共用體變量的地址(dzh)和它的各成員的地址(dzh)都是同一地址(dzh)。第22頁/共28頁第二十二頁,共28頁。共同體類型共同體類型(lixng)數據的特點數據的特點 (4)不能對共用體變量名賦值,也不能企圖引用變量名來得到一個值,又不能在定義共用體變量時對它初始化。(5)不能把共用體變量作為函數參數,也不能使函數帶回共用
13、體變量,但可以使用指向(zh xin)共用體變量的指針。(6)共用體類型可以出現在結構體類型定義中,也可以定義共用體數組。反之,結構體也可以出現在共用體類型定義中,數組也可以作為共用體的成員。第23頁/共28頁第二十三頁,共28頁。枚舉枚舉(mi j)類型類型如果一個變量只有幾種可能的值,可以定義為枚舉(mi j)類型。所謂“枚舉(mi j)”是指將變量的值一一列舉出來,變量的值只限于列舉出來的值的范圍內。第24頁/共28頁第二十四頁,共28頁。說明說明(shumng)(1)在C編譯中,對枚舉元素(yun s)按常量處理,故稱枚舉常量。它們不是變量,不能對它們賦值。(2)枚舉元素(yun s)
14、作為常量,它們是有值的,C語言編譯按定義時的順序使它們的值為0,1,2,。(3)枚舉值可以用來做判斷比較。(4)一個整數不能直接賦給一個枚舉變量。 例11.14口袋中有紅、黃、藍、白、黑5種顏色的球各一個。每次從口袋中先后取出3個球,問得到3種不同色的球的可能取法,輸出每種排列的情況第25頁/共28頁第二十五頁,共28頁。用用typedef定義定義(dngy)類型類型除了可以直接使用C提供的標準類型名(如int、char、float、double、long等)和自己聲明的結構體、共用體、指針、枚舉(mi j)類型外,還可以用typedef聲明新的類型名來代替已有的類型名。第26頁/共28頁第二十六頁,共28頁。說明說明(shumng)(1)用typedef可以聲明各種類型名,但不能用來定義變量。用typedef可以聲明數組類型、字符串類型,使用比較方便。(2)用ty
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國表面式中子水份儀市場調查研究報告
- 2025年中國蔬菜肉松市場調查研究報告
- 2025年中國花崗石Ⅴ形塊市場調查研究報告
- 2025工廠員工安全培訓考試試題有答案解析
- 2025年承包商入廠安全培訓考試試題及參考答案(新)
- 2025年公司、項目部、各個班組三級安全培訓考試試題及答案(奪冠)
- 車間生產操作培訓
- 涂裝電器安全培訓課件
- 《平均分》 (教學設計)-2023-2024學年二年級下冊數學人教版
- 《法理學(第二版)》課件-法理學
- 免疫治療中假性進展的機制與評估標準
- 公路水運工程施工企業(yè)主要負責人和安全生產管理人員考核大綱和模擬試題庫1
- 互動硬件體感交互設備
- 四川省成都市2022-2023學年五年級下學期數學期末試卷(含答案)
- 國開(河北)2024年《社會學概論》形考作業(yè)1-4答案
- 法學概論(第七版) 課件全套 谷春德 第1-7章 我國社會主義法的基本理論 - 國際法
- 4月25日全國兒童預防接種宣傳日積極接種疫苗保護兒童健康課件
- 對電梯維保工作總結
- 民營醫(yī)院的發(fā)展策劃書
- 北師大版三年級下冊6-2《分一分(二)》分層作業(yè)
- 就業(yè)引航揚帆未來
評論
0/150
提交評論