




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、本章學(xué)習(xí)目標(biāo)本章學(xué)習(xí)目標(biāo)q重點(diǎn)掌握一維數(shù)組的定義和引用重點(diǎn)掌握一維數(shù)組的定義和引用q基本掌握二維數(shù)組的定義和引用基本掌握二維數(shù)組的定義和引用q熟練掌握字符型數(shù)組的定義和使用熟練掌握字符型數(shù)組的定義和使用q能正確使用字符串處理函數(shù)能正確使用字符串處理函數(shù)q學(xué)會(huì)使用數(shù)組解決實(shí)際問(wèn)題學(xué)會(huì)使用數(shù)組解決實(shí)際問(wèn)題6.1 一維數(shù)組的定義和引用一維數(shù)組的定義和引用6.2 二維數(shù)組的定義和引用二維數(shù)組的定義和引用6.3 字符數(shù)組與字符串字符數(shù)組與字符串6.4 常用的字符串處理函數(shù)常用的字符串處理函數(shù)Return 在數(shù)值計(jì)算與數(shù)據(jù)處理中,數(shù)組常用于處理具有相同類型的、批量有序的數(shù)據(jù)。 一維數(shù)組的定義一維數(shù)組的定義
2、數(shù)組同變量一樣,也必須先定義、后使用。一維數(shù)組是只有1個(gè)下標(biāo)的數(shù)組,定義形式如下:類型說(shuō)明符 數(shù)組名 常量表達(dá)式;Returnint s5;int s5; /* 表示數(shù)組名為s,此數(shù)組有5個(gè)元素 */(1)數(shù)組元素的下標(biāo),是元素相對(duì)于數(shù)組起始地址的偏移量,所以從0開(kāi)始順序編號(hào)。如指定“int s5;”,表示數(shù)組 s有5個(gè)元素,這5個(gè)元素分別為s0,s1,s2,s3,s4,注意這里不存在數(shù)組元素s5。(2)數(shù)組名中存放的是一個(gè)地址常量,它代表整個(gè)數(shù)組的首地址。同一數(shù)組中的所有元素,按其下標(biāo)的順序占用一段連續(xù)的存儲(chǔ)單元。(3)在C語(yǔ)言中不允許用變量對(duì)數(shù)組的大小進(jìn)行定義。u數(shù)組元素是數(shù)組的基本單元,
3、它是一種變量,其標(biāo)識(shí)方法為數(shù)組名后跟一個(gè)下標(biāo)。u下標(biāo)指定元素在數(shù)組中的順序號(hào)。數(shù)組與基本類型變量不同,只能引用數(shù)組中的某一個(gè)元素。uC語(yǔ)言規(guī)定,只能逐個(gè)地使用下標(biāo)變量,而不能一次引用整個(gè)數(shù)組。在表達(dá)式中,數(shù)組只能以數(shù)組元素的形式存在。其中的下標(biāo)只能為整型常量或整型表達(dá)式。 例如:x8,y5*3等。要特別注意定義數(shù)組時(shí)用到的“數(shù)組名常量表達(dá)式”和引用數(shù)組元素時(shí)用到的“數(shù)組名下標(biāo)”是兩個(gè)不同的概念。 int s15; /* 定義數(shù)組s,長(zhǎng)度為15 */ d=s10; /* 引用數(shù)組s中序號(hào)為10的元素 */【例6-1】數(shù)組元素的引用。/*exam6_1*/main() int i,s5; for
4、(i=0; i=0; i-) printf(%dn,si);程序運(yùn)行結(jié)果:1710521演示 在對(duì)數(shù)組進(jìn)行聲明的同時(shí)就給數(shù)組中各個(gè)元素一個(gè)值的方法叫做“數(shù)組初始化”。 初始化的一般形式為: 類型說(shuō)明符 數(shù)組名n=值1,值2,.,值n;(1) 定義數(shù)組時(shí)對(duì)數(shù)組元素賦以初值。(2) 可以只給部分元素賦初值。(3) 如果想使一個(gè)數(shù)組中全部元素值為0,可以寫成int a10=0,0,0,0,0,0,0,0,0,0;或int a10=0;(4) 對(duì)全部數(shù)組元素賦初值時(shí),可以不指定數(shù)組長(zhǎng)度,編譯器會(huì)根據(jù)給出的初值的個(gè)數(shù)來(lái)決定數(shù)組的大小。Return1. 二維數(shù)組的定義二維數(shù)組定義的一般形式:類型說(shuō)明符 數(shù)
5、組名常量表達(dá)式常量表達(dá)式;Return 定義了一個(gè)二行三列的數(shù)組,數(shù)組名為a,其下標(biāo)變量的類型為整型。該數(shù)組的下標(biāo)變量共有23個(gè),即: a00,a01,a02 a10,a11,a12 二維數(shù)組的元素也稱為雙下標(biāo)變量 其表示的形式為: 數(shù)組名行下標(biāo)表達(dá)式 列下標(biāo)表達(dá)式 說(shuō)明:(1) “行下標(biāo)表達(dá)式”和“列下標(biāo)表達(dá)式”都應(yīng)是整型表達(dá)式或符號(hào)常量。(2) “行下標(biāo)表達(dá)式”和“列下標(biāo)表達(dá)式”的值,都應(yīng)在已定義數(shù)組大小的范圍內(nèi)。例如:int a45;則第一維下標(biāo)最小值為0,最大值為3,第二維下標(biāo)最小值為0,最大值為5。 (3)對(duì)基本數(shù)據(jù)類型的變量所能進(jìn)行的操作,也都適合于相同數(shù)據(jù)類型的2維數(shù)組元素。 二
6、維數(shù)組也與一維數(shù)組一樣可以在說(shuō)明時(shí)進(jìn)行初始化。二維數(shù)組的初始化要特別注意各個(gè)常量數(shù)據(jù)的排列順序,這個(gè)排列順序與數(shù)組各元素在內(nèi)存中的存儲(chǔ)順序完全一致。 (1)按行賦初值。 (2)將所有數(shù)據(jù)寫在一個(gè)花括弧內(nèi),按數(shù) 組排列的順序?qū)Ω髟刭x初值。 (3)可以對(duì)部分元素賦初值。 int a34=1,5,9; int b34=1,0,6,0,0,11;【例6-12】給矩陣a賦值,并輸出該矩陣的值。/*exam6_12*/main( )int a33= 1,2,3,4,5,6,7,8,9, i, j ;for(i=0; i3; i+)for(j=0; j3; j+) printf(%5d,aij);prin
7、tf(n); 程序運(yùn)行結(jié)果:1 2 3 4 5 6 7 8 9演示 用來(lái)存放字符數(shù)據(jù)的數(shù)組是字符數(shù)組,每一個(gè)元素存放一個(gè)字符。 1.字符數(shù)組的定義 其定義格式為: char 數(shù)組名下標(biāo)總數(shù); 字符數(shù)組也可以是二維(或多維)數(shù)組。 其定義格式為: char 數(shù)組名下標(biāo)1總數(shù)下標(biāo)2總數(shù); Return 在C語(yǔ)言中,字符型數(shù)組在數(shù)組說(shuō)明時(shí)進(jìn)行初始化,可以按照一般數(shù)組初始化的方法用“ ”包含初值數(shù)據(jù)。(1)定義時(shí)逐個(gè)字符賦給數(shù)組中各元素。(2)可省略數(shù)組長(zhǎng)度。(3)若初值個(gè)數(shù)小于數(shù)組長(zhǎng)度,則只將這些字符賦給數(shù)組中前面那些元素,其余元素自動(dòng)定為0??梢砸米址麛?shù)組中的一個(gè)元素,得到一個(gè)字符。【例6-15
8、】輸出一個(gè)字符串。/ /* *exam6_15exam6_15* */ /main ( )main ( ) char c12=h, e, l, l, char c12=h, e, l, l, o, , w, o, r, l, o, , w, o, r, l, d, ! ;d, ! ;int i ;int i ;for(i=0; i12; i+)for(i=0; i12; i+)printf(“%c”, ci);printf(“%c”, ci);printf(“n”);printf(“n”); 程序運(yùn)行結(jié)果:hello world!hello world!演示 所謂字符串,是指若干有效字符的序列
9、,用雙撇號(hào)將若干字符括起來(lái)。C語(yǔ)言中的字符串,可以包括字母、數(shù)字、專用字符、轉(zhuǎn)義字符等。 如:“I am a girl” “x” “78+5” 字符數(shù)組的輸入輸出與數(shù)值型數(shù)組的輸入輸出不同。數(shù)值型數(shù)組只能逐個(gè)元素輸入輸出,而字符數(shù)組的輸入輸出可以有以下兩種方法:(1)逐個(gè)字符輸入輸出。用“%c”格式符。(2)將整個(gè)字符串一次輸入或輸出。用“%s”格式符。采用字符串方式后,字符數(shù)組的輸入、輸出和初始化將變得比較簡(jiǎn)單。Return C語(yǔ)言提供了豐富的字符串處理函數(shù),大致可分為字符串的輸入、輸出、合并、修改、比較、轉(zhuǎn)換、復(fù)制、搜索幾類。使用這些函數(shù)可以大大減輕編程的工作量。 需要注意的是要使用輸入輸
10、出的字符串函數(shù),必須在使用前包含頭文件stdio.hstdio.h ;使用其它字符串函數(shù)則應(yīng)包含頭文件string.hstring.h。下面介紹幾種最常用的字符串函數(shù)。Returnputs函數(shù)的一般格式:puts (字符數(shù)組名) 功能:把字符數(shù)組即字符串中的字符,逐個(gè)輸出到顯示器,遇到第一個(gè)0結(jié)束輸出,并自動(dòng)輸出一個(gè)換行符。該函數(shù)一次只能輸出一個(gè)字符串,而printf()函數(shù)也能用來(lái)輸出字符串,且一次能輸出多個(gè)。功能:是從終端輸入一個(gè)字符串到字符數(shù)組,并得到一個(gè)函數(shù)值,該函數(shù)值是字符數(shù)組的起始地址。該函數(shù)函數(shù)一次只能輸出一個(gè)字符串,輸入的字符串中允許包含空格,而scanf()函數(shù)不允許。本函數(shù)
11、包含在頭文件stdio.h中。功能:將字符數(shù)組2中的字符串,連接到字符數(shù)組1中字符串的后面,連接前兩個(gè)字符串都有結(jié)束標(biāo)志0,連接后“字符數(shù)組”中存儲(chǔ)的字符串的結(jié)束標(biāo)志0被舍棄,只在目標(biāo)串的最后保留一個(gè)0。這里是將字符串2追加到字符串1后,不會(huì)覆蓋字符串1。本函數(shù)返回值是字符數(shù)組1的首地址。例如: char str120=“Beijing ”; char str2=”Shanghai”; printf(“%s”,strcat(str1,str2); 輸出:Beijing Shanghaistrcpy的一般格式:strcpy(字符數(shù)組名1,字符數(shù)組名2) 功能:把字符數(shù)組2中的字符串,復(fù)制到字符數(shù)
12、組1中,字符串結(jié)束標(biāo)志0也一同復(fù)制。字符數(shù)組1的長(zhǎng)度必須不小于字符數(shù)組2的長(zhǎng)度。注意,它將覆蓋字符數(shù)組1,這一點(diǎn)與strcat完全不同。不能用賦值運(yùn)算符“”將一個(gè)字符串直接賦值給一個(gè)字符數(shù)組,只能用strcpy()函數(shù)來(lái)處理。 例如: char str110,str2 =”China”; strcpy(str1,str2); puts(str1); 輸出:Chinastrcmp的一般格式:strcmp(字符數(shù)組名1,字符數(shù)組名2)功能:按照ASCII碼值比較兩個(gè)字符數(shù)組中的字符串,并由函數(shù)返回值返回比較結(jié)果。本函數(shù)包含在頭文件string.h中。strlen函數(shù)的一般格式: strlen(字符
13、數(shù)組名) 功能:測(cè)出字符串的實(shí)際長(zhǎng)度(不含字符串結(jié)束標(biāo)志0),并作為函數(shù)返回值返回。本函數(shù)包含在頭文件string.h中。 char str10=”China”; printf(“%d”,strlen(str); 輸出:5 而字符數(shù)組str的長(zhǎng)度為10。strlwr函數(shù)的一般格式:strlwr(字符串)功能:將字符串中的大寫字母轉(zhuǎn)換成小寫,其它字符(包括小寫字母和非字母字符)不轉(zhuǎn)換。lwr是lowercase(小寫)的縮寫。例如:strlwr(“ABC”)的值為“abc”。strupr函數(shù)的一般格式:strupr(字符串)功能:將字符串中小寫字母轉(zhuǎn)換成大寫,其它字符(包括大寫字母和非字母字符)不轉(zhuǎn)換。upr是upperc
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人制作肥料合同范本
- 公司和運(yùn)營(yíng)合同范例
- 2025天津市安全員考試題庫(kù)及答案
- 買賣冷凍食品合同范本
- 2025年福建省安全員-A證考試題庫(kù)附答案
- 占用房屋合同范本
- 神經(jīng)調(diào)控睡眠改善系統(tǒng)合同
- 債務(wù)贈(zèng)與房產(chǎn)合同范本
- 供水公司合同范本
- 出租小型家具合同范本
- 幸福心理學(xué)智慧樹(shù)知到答案2024年浙江大學(xué)
- 人教版一年級(jí)數(shù)學(xué)下冊(cè)教案全冊(cè)(完整版下載打印)
- 2024至2030年全球及中國(guó)消費(fèi)電子磁阻隨機(jī)存取存儲(chǔ)器(MRAM)行業(yè)深度研究報(bào)告
- 聯(lián)合體施工雙方安全生產(chǎn)協(xié)議書(shū)范本
- 云南省2023年秋季學(xué)期期末普通高中學(xué)業(yè)水平考試信息技術(shù)(含答案解析)
- 氣血津液(中醫(yī)理論)
- 2024年2型糖尿病中醫(yī)防治指南解讀課件
- 2024-2030年中國(guó)螺旋藻行業(yè)市場(chǎng)發(fā)展分析及發(fā)展趨勢(shì)與投資研究報(bào)告
- MOOC 中外鐵路文化之旅-華東交通大學(xué) 中國(guó)大學(xué)慕課答案
- CJJ 82-2012 園林綠化工程施工及驗(yàn)收規(guī)范
- 數(shù)據(jù)庫(kù)原理及應(yīng)用(第3版)
評(píng)論
0/150
提交評(píng)論