第七章陣列、結構.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章陣列、結構

第七章 陣列、結構 7-1 一維陣列 7-2 多維陣列 7-3 結構 7-4 綜合範例 第七章 陣列、結構 本章針對進階的資料型別予以介紹,如陣列(Array)和結構(Struct)。 陣列 處理少量的資料,可以為每一筆資料設定一個變數,但如果資 料量非常龐大,譬如一個班級的50位同學成績,分別設定A1、 A2...A50等50個變數,是一件相當麻煩的事。 為了解決大批的資料處理,遂有陣列(Array)的使用。要儲存一個班級 的數學成績可以宣告一個一維陣列,例如int A[50]代表50個人的數學 成績,則A[0]可以用來表示1號同學的數學成績(註:C陣列索引由0開 始)。 若要表達每班每人的國、英、數三科成績時,可以宣告一個二維陣int A[50][3]來表示。其中A[0][0]表示1號國文成績、A[0][1]表示1號英文 成績、A[0][2]表示1號數學成績,依此類推。 同理,如果一年級有12班,則可以宣告個三維陣列 int A[12][50][3]來儲存,其中A[6][41][1]代表7班42號英文成 績,以此類推。 如果一個學校有三個年級則可宣告一個四維陣列 int A[3][12][50][3]來儲存,其中A[1][7][23][2]表示二年級八班 24號數學成績。 C語言使用陣列的方法,說明如下: 7-1 一維陣列 陣列型別宣告 當我們使用一般變數時,必須先宣告它的型別,同樣地陣列變數也是如此, 其宣告方式如下: 資料型別 陣列變數名稱[陣列的大小]; 例如,以下敘述會建立一個大小為5,名稱為Arr的整數型別的陣列變數。 int Arr[5]; 在3-4節中我們曾經提到,當你宣告了一個整數(int)型別的變數時,電腦會為 這個變數預留2個bytes的空間,所以當C編譯器遇到上述陣列宣告時,會為 這個陣列變數在記憶體中配置5個連續的空間,而每一空間的大小為2 bytes ,用來儲存5個整數型別的資料。以此類推,其它型別的陣列變數也是 同樣的道理。 陣列變數的存取 陣列可以在同一變數中儲存多個元素,所以當你在存取陣列 中的某個元素時,必須指定一個索引值(index)來指向你所相 要的元素;其中索引值可以是整數常數,但也可以是整數變 數;在C的陣列中,第一個元素的索引值為0,而最後一個元 素的索引值則是該陣列的大小減1。所以,以下的敘述可以 將第一個陣列元素的值設定為1。 Arr[0]=1; 以下的敘述可以將陣列第一個元素的值指定給變數A。 A = Arr[0]; 切記!陣列的索引值是從0開始,所以陣列大小為N時,存取 索引值的範圍為Arr[0]、Arr[1]、Arr[2]...Arr[N-1] 。 陣列變數數值的初始化 C語言允許你在宣告陣列時,同時給定初始值,其設定方法 如下: int Arr[5] = {88, 77, 33, 99, 55}; 初始值是由左至右放入陣列中,所以上述陣列中每個元素的 初始值如下: Arr[0]=88; Arr[1]=77; Arr[2]=33; Arr[3]=99; Arr[4] =55; 當陣列的大小比初值個數多時,沒有初值的元素,C編譯器 會指定該型別的預設值給它。例如, int Arr[5] = {1, 2, 3}; 並沒有指定初始值給Arr[3]和Arr[4]這兩個元素,編譯器會將 這兩個元素指定為整數型別的預設值0。 但是要注意的是,陣列的大小不可以小於初始值個數,否則 會產生錯誤訊息。例如,你不可作以下的設定: int Arr[5] = {1, 2, 3, 4, 5, 6}; /* 錯誤的初始值設定 */ 事實上,你不用在初始化陣列的同時設定陣列的大小,因為 編譯器會自動幫我們配置足夠的空間來存放初始值的個數, 例如,下面的宣告會產生一個5個元素的陣列。 int Arr[ ] = {1, 2, 3, 4, 5}; 範例7-1a 假如有資料如下 1, 2, 3, 4, 5, 6, 7, 8 (1)請用陣列儲存以上資料。 (2)請將以上資料乘以2。 (3)計算以上資料的總和。 範例7-1b 請用陣列讀入5位學生的國文成績,並可由使用者輸入座號 來查詢成績。 範例7-1c 設有資料如下 77, 66, 99, 44, 55 請寫一個程式,以陣列儲存以上資料,並計算平均、最高分 及最低分。 7-2 多維陣列 含有兩個或兩個以上索引值的陣列稱為多維陣列,一般最常應用的是二 維陣列,下面我們就以二維陣列為例,來介紹如何使用多維陣列。 多維陣列變數宣告 資料型別 陣列變數名稱[陣列的大小] [陣列的大小]...; 以下敘述宣告一個二維的整數型別

文档评论(0)

daoqqzhuan3 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档