- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 陣列與字串 第六章 陣列與字串 陣列是一種非常重要的資料結構,它可以讓程式設計更精簡,甚至還可以配合硬體的設計提昇程式的效率。字串可以視為一種資料型態,但C語言實作字串時,則將字串實作為一種特殊的字元陣列,因此兩者的關係可以說是密不可分,本章將針對陣列的原理、應用及字串宣告、函式應用等等做深入且詳細的說明。 大綱 6.1 陣列 6.1.1 宣告陣列 6.1.2 一維陣列 6.1.3 氣泡排序法 (Bubble Sort)【補充】 6.1.4 二維陣列 6.2 字串 6.2.1 字元陣列與字串的宣告: 6.2.2 字串陣列的宣告 6.2.3 字串整合範例 大綱 6.3 字串相關函式 6.3.1 輸入與輸出-gets( )、fgets( )與puts( ) 6.3.2 計算字串長度-strlen( ) 6.3.3 複製字串-strcpy( )與strncpy( ) 6.3.4 字串連結-strcat( )與strncat( ) 6.3.5 字串比較-strcmp( )與strncmp( ) 6.3.6 句元分割-strtok( ) 6.4 本章回顧 6.1 陣列 陣列是一種非常重要的資料結構,幾乎各種高階程式語言都提供了陣列。什麼是陣列呢?簡單來說,陣列是一種儲存大量同性質資料的良好環境,由於不需要使用不同的變數名稱,以及陣列元素存取的方便性,使得大多數的程式設計中,都看得到陣列的影子。 『陣列』與數學的「矩陣」非常類似。也就是每一個陣列中的元素都有它的編號。更明確地說,『陣列』是一群資料型態相同的變數,並且在記憶體中會以連續空間來加以存放。舉例來說,假設我們想要記錄每月的營業額,您當然可以使用January、February、、、December等12個數值變數來加以儲存,但如果您使用的是陣列來加以儲存的話,則可以只使用同一個陣列變數名稱即可,例如:Month [12]。而當我們在C語言中宣告Month[12]陣列時,Month就是陣列名稱,在記憶體中則會保留12個連續位置來分別存放Month[0]~Month[11]等12個陣列元素。 6.1 陣列 陣列中每個元件(陣列元素)相當於一個變數,我們只要透過索引(index),就可以直接取得陣列的指定元素(C語言的陣列索引由0開始計算),例如:我們使用Month[0]~Month[11]來存放12個月份的營業額,當我們希望取出8月份的營業額時,則只要使用Month[7]當做變數名稱即可輕鬆取出該元素值。因此,使用陣列可以免除大量變數命名的問題,使得程式具有較高的可讀性。 事實上,在程式執行時,使用陣列有的時候還會加快運算速度,這與資料存放在連續記憶體有關,俗稱資料的區域性,大多數的硬體結構都已經考慮了此特性,而特別使用較快的快取記憶體(Cache)來存放這些具有區域特性的資料,由於牽扯甚廣,若讀者有興趣的話,可以於閱讀完本章之後,翻閱計算機結構相關書籍的階層式記憶體設計,獲得進一步的資訊。 6.1.1 宣告陣列 陣列依照編號排列方式、佔用的空間大小,可以分為一維陣列、二維陣列…等等,而在C語言中,陣列的使用與變數一樣,必須先經由宣告才可以使用,存取陣列的元素資料時,則採用索引值來指定要存取的陣列元素。 陣列的宣告必須指定陣列元素的資料型態,當陣列宣告完畢,我們就可以存取陣列中的元素資料了,以下是陣列宣告語法: 【語法說明】: 1. 資料型態:宣告陣列的資料型態所使用的關鍵字與宣告變數時使用的關鍵字相同,例如:int、float…。資料型態對於陣列而言,其重要性遠比變數的資料型態來得重要許多,因為當您宣告了陣列的資料型態之後,陣列中的每一個元素都將使用該資料型態,因此,假設您宣告了佔用記憶體空間過大的資料型態(例如:只需要Integer卻使用Long資料型態),而該陣列共有100個元素的話,就浪費了100單位的記憶體空間。因此,慎選陣列的資料型態是非常很重要的。 6.1.1 宣告陣列 2. 陣列名稱:陣列名稱的命名規定與變數命名規定相同,您應該盡量採用有意義的英文字或組合字來代表該陣列的用途。 3. 第n維度元素個數:決定了該陣列為1維陣列、2維陣列‥‥,也決定了每一維度的元素數目。1維陣列就使用1個[ ]來表示,2維陣列就使用2個[ ]來表示,依此類推。維度內的數字則決定了每一維度的元素數目,舉例如下: 【範例】:假設我們有12個月的營業額要記錄、而營業額為整數,此時您可以使用Month也可以使用Trade(交易)做為陣列名稱,如下宣告1維陣列: int Trade[12]; ↑ 月份則Trade[7]代表8月份的營業額。(因為C語言的陣列從索引0開始計算) 【範例】:假設我們有兩年的每月營業額要
您可能关注的文档
最近下载
- 甘肃省暴雨图集新版.pdf VIP
- 课题开题报告:学科素养导向的道德与法治“教-学-评”一体设计研究.docx VIP
- 马工程《民法学》(第二版)下册参考教学课件07-11民法学-第七编 侵权责任法 第十一章.pptx VIP
- 小学英语核心素养培养与跨学科融合教学策略研究教学研究课题报告.docx
- TZS 0678—2025《生物安全实验室工作人员本底血清样本管理规范》(水印版).pdf VIP
- 河南省信阳市2025年某中学小升初入学分班考试语文考试真题含答案.docx VIP
- 马工程《民法学》(第二版)下册参考教学课件07-10民法学-第七编 侵权责任法 第十章.pptx VIP
- (高清版)DB13(J)∕T 8453-2021 住宅工程常见质量问题控制标准.pdf VIP
- 2024年水浒传知识点及考点总结.docx VIP
- 大学校园内急救知识培训.pptx VIP
原创力文档


文档评论(0)