高級語言程序設計-從C到C++(第二版)課件:數(shù)組_第1頁
高級語言程序設計-從C到C++(第二版)課件:數(shù)組_第2頁
高級語言程序設計-從C到C++(第二版)課件:數(shù)組_第3頁
高級語言程序設計-從C到C++(第二版)課件:數(shù)組_第4頁
高級語言程序設計-從C到C++(第二版)課件:數(shù)組_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

5.1一維數(shù)組5.2二維數(shù)組5.3字符數(shù)組5.4字符串輸入、輸出函數(shù)5.1一維數(shù)組一維數(shù)組是最簡單的數(shù)組類型,數(shù)組中每個元素由相同的數(shù)組名和唯一的下標來確定并相互區(qū)別。5.1.1一維數(shù)組的定義一維數(shù)組定義的基本格式為其中,類型符用于指定數(shù)組的數(shù)據(jù)類型。數(shù)組是同一類型的有序數(shù)據(jù)的集合,因此數(shù)組的數(shù)據(jù)類型也是該數(shù)組中所有組成元素的數(shù)據(jù)類型。數(shù)組名是表示某個特定數(shù)組的標識符,其命名方法遵循標識符命名規(guī)則。[常量表達式]用來表示數(shù)組的長度,說明所包含元素的個數(shù)。C語言不允許對數(shù)組的大小作動態(tài)定義,即數(shù)組的大小不依賴于程序運行過程中變量的值,因此方括號中的“常量表達式”可以是整型常量或整型常量表達式,但不能是變量。5.1.2數(shù)組元素的引用C語言規(guī)定,必須先對數(shù)組進行定義,然后才能對數(shù)組元素進行逐個引用,也就是要遵循“先定義,后使用”的原則。需要注意的是,由基本數(shù)據(jù)類型所構造的數(shù)據(jù)類型,只能引用其組成成員,而不能引用其本身,即數(shù)組名不代表整個數(shù)組。數(shù)組中每個元素的類型由數(shù)組的類型決定,每個數(shù)組元素由統(tǒng)一的數(shù)組名和唯一的下標確定。下標可以是常量、變量或表達式,但必須有確定的整數(shù)值。數(shù)組元素的下標總是從“0”開始的。所有元素以各自的下標為順序,在內存中占用一段連續(xù)的存儲單元。數(shù)組常與循環(huán)結構結合在一起使用,通過數(shù)組的下標和循環(huán)結構的控制變量產生聯(lián)系,可以很方便地引用數(shù)組元素。5.1.3一維數(shù)組的初始化為使程序簡潔,常在定義數(shù)組的同時為各數(shù)組元素賦值,稱為數(shù)組的初始化。常見的初始化形式包括:(1)為全部元素賦值,按順序將數(shù)值依次賦給數(shù)組中各元素。(2)若省略數(shù)組長度,則可由初始化式中數(shù)值的個數(shù)確定其長度。(3)若初始化式中數(shù)值的個數(shù)小于數(shù)組的長度,則不足的部分默認初始值為0。(4)利用上一特性,可以方便地為全部元素賦初值0。需要注意的是,初始化式以花括號限定,數(shù)值間用逗號隔開,初始化式不允許完全為空,即花括號內至少要有一個數(shù)值。如果在定義的同時不對數(shù)組初始化,則各元素的初始值并不確定。5.1.4一維數(shù)組的存儲形式數(shù)組的所有元素在內存中是以連續(xù)字節(jié)的形式存放的,數(shù)組中各元素所占內存的大小由該數(shù)組的數(shù)據(jù)類型決定,整個數(shù)組所占內存的大小為一個元素所占內存的大小與元素的個數(shù)乘積。5.2二維數(shù)組維數(shù)超過一維的數(shù)組統(tǒng)稱為多維數(shù)組。多維數(shù)組也是同類型數(shù)據(jù)的有序集合,存儲形式與一維數(shù)組相同,即所有元素按順序占用一段連續(xù)的存儲單元。本節(jié)以多維數(shù)組中最常用的二維數(shù)組為例進行介紹。在表現(xiàn)形式上,一個二維數(shù)組常以行和列的排列形式(類似于數(shù)學中的矩陣)出現(xiàn),這樣有助于形象地表示二維數(shù)組的邏輯結構。5.2.1二維數(shù)組的定義二維數(shù)組定義的基本格式為其中,類型符用于指定數(shù)組的數(shù)據(jù)類型,兩個[常量表達式]分別指定了二維數(shù)組的行數(shù)和列數(shù),數(shù)組長度(即元素個數(shù))由行數(shù)?×?列數(shù)來確定。5.2.2二維數(shù)組元素的引用與一維數(shù)組的引用相似,對二維數(shù)組的引用也是通過其下標實現(xiàn)的。在上一節(jié)的例題中可以看到一維數(shù)組的引用常與循環(huán)結構配合使用。類似的,二維數(shù)組常與兩層嵌套的循環(huán)結構結合使用,通過外層循環(huán)控制行下標及內層循環(huán)控制列下標,可以很方便地實現(xiàn)對各個元素的訪問。5.2.3二維數(shù)組的初始化常用的二維數(shù)組的初始化包括以下形式:(1)在初始化式中,以花括號來限定數(shù)組中每一行的值。對于初學者來說,C語言的詞匯即關鍵字,接近于我們使用的自然語言(這里指英語),在某種程度上可以見名知義。下面就讓我們通過一個簡單的程序來認識和了解C語言?!纠?.1】在屏幕上輸出一行文字:歡迎使用C語言!對于上述代碼,我們需要進行編輯、保存、編譯和運行,從而在屏幕上輸出相應的文字。編輯代碼,必須有一個可以進行文字編輯的軟件。Windows操作系統(tǒng)中自帶的記事本或者MSWORD等軟件,均可以完成代碼的編輯與存儲功能。在C語言程序設計中,程序代碼編寫完成后保存在擴展名為“.c”的文件中,該文件即為源程序文件。我們將上述代碼保存在Lianxi_1_1.c源程序文件中。由于C語言是高級語言,因此需要將源程序翻譯成計算機可以識別的機器語言,也就是要對源程序進行編譯。程序在編譯成功以后,即可以運行,在屏幕上輸出相應的文字。對于初學者來說,C語言的詞匯即關鍵字,接近于我們使用的自然語言(這里指英語),在某種程度上可以見名知義。下面就讓我們通過一個簡單的程序來認識和了解C語言。【例1.1】在屏幕上輸出一行文字:歡迎使用C語言!對于上述代碼,我們需要進行編輯、保存、編譯和運行,從而在屏幕上輸出相應的文字。編輯代碼,必須有一個可以進行文字編輯的軟件。Windows操作系統(tǒng)中自帶的記事本或者MSWORD等軟件,均可以完成代碼的編輯與存儲功能。在C語言程序設計中,程序代碼編寫完成后保存在擴展名為“.c”的文件中,該文件即為源程序文件。我們將上述代碼保存在Lianxi_1_1.c源程序文件中。由于C語言是高級語言,因此需要將源程序翻譯成計算機可以識別的機器語言,也就是要對源程序進行編譯。程序在編譯成功以后,即可以運行,在屏幕上輸出相應的文字。(2)省略上式中的限定行的花括號,按元素在內存中的排列順序依次賦值。(3)當可以通過初值的個數(shù)確定數(shù)組的長度時,可以不指定行的長度,但列的長度不能省略。(4)若初值個數(shù)小于數(shù)組的長度,則初始化式中不足的部分默認為0。(5)按初始化式中花括號的限定依次為各行中的元素賦初值,不足的部分默認為0。(6)為某行賦初值0,限定行的花括號不能省略且至少包含一個初值0。(7)當行的個數(shù)可以通過初始化式確定時,可以不指定行的長度,但列的長度不能省略。5.3字符數(shù)組用來存放字符型數(shù)據(jù)的數(shù)組是字符數(shù)組,字符數(shù)組中的每個元素在內存中占用一個字節(jié)的存儲單元,用于存取一個字符。5.3.1字符數(shù)組的定義一維字符數(shù)組定義的基本格式為雖然也可以定義一個整型數(shù)組來存放字符型數(shù)據(jù),但會占用不必要的內存空間,因此不建議使用。二維字符數(shù)組定義的基本格式為5.3.2字符數(shù)組的初始化字符數(shù)組的初始化與前面講過的數(shù)值數(shù)組的初始化形式類似,常用形式包括以下幾種:(1)按元素在內存中的排列順序,將字符依次賦值給數(shù)組中各元素。如果花括號中提供的字符個數(shù)大于數(shù)組長度,則按語法錯誤處理。(2)在定義字符數(shù)組時,如果為全部元素賦初值,對于一維數(shù)組可省略數(shù)組長度。(3)如果初始化式中字符個數(shù)小于數(shù)組長度,則不足的部分默認為空,即字符“\0”。字符數(shù)組的初始化與數(shù)值數(shù)組的初始化形式基本相同,只是初始值為字符常量,由單引號限定。同理,二維字符數(shù)組的初始化也與前面介紹的二維數(shù)組的初始化形式相同。如果在定義時不對字符數(shù)組初始化,則各元素的初始值并不確定。5.3.3字符數(shù)組的引用字符數(shù)組的引用與前面所講數(shù)組的引用基本一致,唯一的區(qū)別是,對于字符數(shù)組常使用格式符“%c”來逐個引用數(shù)組元素。對于一維字符數(shù)組,程序通過一層循環(huán)結構完成對每一個數(shù)組元素的引用。對于二維字符數(shù)組,程序中定義了循環(huán)控制變量,通過兩層循環(huán)嵌套來引用二維字符數(shù)組的各元素。在循環(huán)結構中,通過判斷當前元素的值是否為空字符“\0”來判斷當前行中的有效字符是否已經全部輸出,并決定是否結束內嵌的循環(huán)結構。5.3.4使用字符數(shù)組處理字符串C語言中沒有字符串數(shù)據(jù)類型,而是通過字符數(shù)組來實現(xiàn)對字符串的處理。所以在C語言中字符串是字符數(shù)組,而C語言又規(guī)定以字符“\0”作為“字符串的結束標志”,從而將字符串區(qū)別于一般的字符數(shù)組。在使用字符初始化字符數(shù)組時,初始化式由花括號限定且每個初值由單引號限定,字符初值之間用逗號隔開。在使用字符串初始化字符數(shù)組時,初始化式的花括號可以省略,整個字符串由雙引號限定。同時系統(tǒng)會自動向數(shù)組的末端添加一個字符“\0”作為結束標志。因此,使用字符串定義的數(shù)組長度為字符串長度再加一個字節(jié)。5.3.5字符串的輸入/輸出在字符串的輸入/輸出中,經常使用格式符“%s”。相對于格式符“%c”只能夠對字符數(shù)組的元素進行逐一引用,格式符“%s”最大的特點是可以一次把整個字符串輸入/輸出。1.以“%s”的形式輸出字符數(shù)組在格式輸出函數(shù)printf中使用“%s”時,輸出列表的參數(shù)不是數(shù)組元素(變量),而是數(shù)組名(數(shù)組的首元素地址)。系統(tǒng)從字符數(shù)組的首元素地址開始,將存儲單元內的字符依次輸出,直到遇見(但不包括)第一個“\0”(空字符)為止。2.以“%s”的形式輸入字符數(shù)組在格式輸入函數(shù)scanf中使用“%s”時,輸入列表的參數(shù)不是變量的地址(或數(shù)組元素的地址),而是數(shù)組名(即數(shù)組的首元素地址)。系統(tǒng)從字符數(shù)組的首元素地址開始,將連續(xù)輸入的字符一次寫入存儲單元,遇到輸入的分隔符(制表符“Tab”、空格“Space”或回車“Enter”)時,在有效字符后自動添加一個“\0”,并結束輸入。習慣上,使用“Enter”結束輸入。3.以“%s”的形式一次輸入與輸出多個字符串利用“%s”的特點,可以一次輸入與輸出多個字符串。在輸入時,以空格鍵“Space”、制表符“Tab”或回車鍵“Enter”作為一個字符串的結束標志,習慣上,空格鍵“Space”更符合文本書寫的格式。在輸出時,需要人為添加字符串之間的分隔符號。5.4字符串輸入、輸出函數(shù)C語言本身沒有輸入/輸出語句,而是在C標準函數(shù)庫中以標準的輸入/輸出設備為對象,提供了一系列“標準輸入/輸出函數(shù)”,程序設計人員可以通過調用這些函數(shù)來實現(xiàn)特定的輸入/輸出功能?!皹藴瘦斎?輸出函數(shù)”被定義在頭文件“stdio.h”中,需要調用“標準輸入/輸出函數(shù)”的源程序文件必須在文件的開頭使用預編譯指令“#include<stdio.h>”將該頭文件包含到源程序文件中。5.4.1puts函數(shù)puts函數(shù)即字符串輸出函數(shù)。其作用是以第一個“\0”作為結束標志,將一個字符數(shù)組中的有效字符輸出到終端,并將“\0”轉換為“\n”輸出。調用puts函數(shù)的一般格式為需要注意的是,puts函數(shù)的參數(shù)只有一個,所以只能用于輸出一個字符數(shù)組;若需要輸出多個字符數(shù)組,則需要調用多個puts函數(shù)。5.4.2gets函數(shù)gets函數(shù)即字符串輸入函數(shù)。其作用是以回車鍵“Enter”作為結束標志,將一個字符串輸入到字符數(shù)組中,并將“Enter”轉換為“\0”輸入。調用gets函數(shù)的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論