版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語(yǔ)言程序設(shè)計(jì) 項(xiàng)目四 數(shù)組,項(xiàng)目目標(biāo),任務(wù)分解,任務(wù)一 項(xiàng)目要求,歌曲比賽評(píng)分統(tǒng)計(jì)規(guī)則如下:青年歌手參加歌曲比賽,有10個(gè)評(píng)委對(duì)她進(jìn)行評(píng)分,這個(gè)歌手的最后得分為去掉一個(gè)最高分和一個(gè)最低分,其余數(shù)據(jù)求平均值。,任務(wù)二 一維數(shù)組,1.什么時(shí)候要用到數(shù)組? 2.什么是數(shù)組?,在科學(xué)研究、工程技術(shù)及日常生活中,常常需要處理這樣的數(shù)據(jù),如 學(xué)生各個(gè)科目的成績(jī) 商業(yè)部門(mén)要記錄每個(gè)月份的銷(xiāo)售額 氣象部門(mén)要記錄每天的降雨量,數(shù)組是一種構(gòu)造類(lèi)型,用于在程序中存放一組類(lèi)型相同的、相關(guān)的數(shù)據(jù),以便用循環(huán)的方式對(duì)這些數(shù)據(jù)進(jìn)行處理。,例如: int a10; float score5; “數(shù)據(jù)類(lèi)型”: 是數(shù)組元素的數(shù)
2、據(jù)類(lèi)型。 “數(shù)組名”: 遵循C語(yǔ)言標(biāo)識(shí)符規(guī)則。 “常量表達(dá)式”:表示數(shù)組中有多少個(gè)元素,即數(shù)組的長(zhǎng)度。它可以是整型常量、整型常量表達(dá)式或符號(hào)常量。,數(shù)據(jù)類(lèi)型 數(shù)組名常量表達(dá)式;,3.一維數(shù)組的定義,分別定義數(shù)組(設(shè)數(shù)組名都是a),以保存下列數(shù)據(jù)系列: 系列一: 10 9 -3 100 25 系列二: 1.2 3.5 2.7 0.9 系列三: a b c ! d *,思考:,int a5;,float a4;,char a6;,以下數(shù)組定義是正確的: #define N 10 float score1N, score2N; int num10+N; char c26;,以下數(shù)組定義是不正確的:
3、int array(10); int n; float scoren; double ba. d; char str ;,定義時(shí)應(yīng)注意:,1、常量表達(dá)式用方括符括起來(lái),不能用圓括符。 int x(5) ,2、常量表達(dá)式中不能包含變量。int n;int namen,3、數(shù)組名不能和其他變量名同名。int n;int n5,4、允許在同一個(gè)類(lèi)型聲明中,聲明多個(gè)數(shù)組和多個(gè)變量。 int a,b,c,x10,y12; ,5、數(shù)組元素的下標(biāo),是元素相對(duì)于數(shù)組起始地址的偏移量,所以從0開(kāi)始順序編號(hào)。 例如:x5代表數(shù)組中有5個(gè)元素,這5個(gè)元素是:x0, x1, x2, x3, x4,數(shù)組在內(nèi)存的存放,數(shù)
4、組下標(biāo)從0開(kāi)始。 一維數(shù)組的數(shù)組元素在內(nèi)存里按順序存放。 數(shù)組名代表數(shù)組的首地址,即score的值與score0 的地址值相同。,int score5;有一個(gè)數(shù)組score,具有五個(gè)整型數(shù)據(jù),4 數(shù)組元素的引用,格式:,數(shù)組名下標(biāo)表達(dá)式,下標(biāo)表達(dá)式可以是任何非負(fù)整型數(shù)據(jù),取值范圍是0(元素個(gè)數(shù)-1)。,一個(gè)數(shù)組元素,實(shí)質(zhì)上就是一個(gè)變量,它具有和相同類(lèi)型單個(gè)變量一樣的屬性,可以對(duì)它進(jìn)行賦值和參與各種運(yùn)算。,舉例 int a10=1,2,3,4,5,6,7; 引用數(shù)組a的第一個(gè)元素 引用數(shù)組a的最后一個(gè)元素 求數(shù)組a中第1、2個(gè)元素的和,保存在s中 比較數(shù)組第5、6個(gè)元素的大小,將其中較大的那一個(gè)
5、賦給max,a0,a9,s=a0+a1;,if(a4a5) max=a4; else max=a5;,說(shuō)明: 下標(biāo)從0開(kāi)始(下界為0),數(shù)組的最大下標(biāo)(上界)是數(shù)組長(zhǎng)度減1。 例如: int a10; scanf (%d, /* 下標(biāo)越界 */,C編譯系統(tǒng)不做越界檢查,如果引用的數(shù)組元素 超出數(shù)組范圍會(huì)破壞其他變量的值。,一般形式: 數(shù)據(jù)類(lèi)型 數(shù)組名常量表達(dá)式=初值表,5 一維數(shù)組的初始化,初始化說(shuō)明: 1.在定義數(shù)組時(shí)對(duì)所有元素賦初值。例如: int a5=1,2,4,6,9; 等價(jià)于: int a5; a0=1; a1=2; a2=4; a3=6; a4=9;,2在定義數(shù)組時(shí),對(duì)全部數(shù)組元
6、素賦初值 例如:int a5=0,1,2,3,4; 此時(shí)可以省略數(shù)組長(zhǎng)度,例如:int a =0,1,2,3,4; 3在定義數(shù)組時(shí),對(duì)部分?jǐn)?shù)組元素賦初值 例如:int a5=1,2,3;系統(tǒng)為其余元素賦 0 。 4當(dāng)初值的個(gè)數(shù)多于數(shù)組元素的個(gè)數(shù)時(shí),編譯出錯(cuò) 例如: int a5=0,1,2,3,4,5;,6 一維數(shù)組的簡(jiǎn)單應(yīng)用 從鍵盤(pán)輸入10個(gè)評(píng)委的評(píng)分到數(shù)組score。 對(duì)10個(gè)評(píng)委的評(píng)分求總分。 順序輸出10個(gè)評(píng)委的評(píng)分。 逆序輸出10個(gè)評(píng)委的評(píng)分。 計(jì)算10個(gè)評(píng)分中的最高分。 對(duì)這10個(gè)評(píng)委的評(píng)分按從小到大的順序重新排列。,任務(wù)三 項(xiàng)目流程圖,任務(wù)四 項(xiàng)目實(shí)現(xiàn),查看源碼1,查看源碼2,任
7、務(wù)五 項(xiàng)目拓展之二維數(shù)組,引入: 前面我們只考慮了一個(gè)選手的得分情況,如果有50個(gè)選手來(lái)參加比賽,要求把50個(gè)選手的得分全部記錄下來(lái),就需要用到二維數(shù)組了。,1.了解二維數(shù)組 前面介紹的數(shù)組只有一個(gè)下標(biāo),稱(chēng)為一維數(shù)組。 在實(shí)際問(wèn)題中有很多是二維的或多維的,多維數(shù)組元素有多個(gè)下標(biāo),以標(biāo)識(shí)它在數(shù)組中的位置。,2.二維數(shù)組的定義 類(lèi)型說(shuō)明符 數(shù)組名常量表達(dá)式1常量表達(dá)式2 int a34; 常量表達(dá)式1:表示第一維下標(biāo)的長(zhǎng)度 常量表達(dá)式2: 表示第二維下標(biāo)的長(zhǎng)度。,3.二維數(shù)組元素的引用,a34=3; /* 下標(biāo)越界 */ a1,2=1; /* 應(yīng)寫(xiě)成 a12=1; */,例:int a34; a0
8、0=3; a01=a00+10;,數(shù)組名行下標(biāo)表達(dá)式列下標(biāo)表達(dá)式,4二維數(shù)組的初始化,例:int a23=1,2,3,4,5,6;,1)按行賦初值,例:int a23=1,2,3,4,5,6; 初始化后結(jié)果: 1 2 3 4 5 6,2)按數(shù)組元素在內(nèi)存中排列的順序?qū)Ω髟刭x初值,3)給部分元素賦初值,例:int a23=1,4; 初始化后結(jié)果: 1 0 0 4 0 0,4)數(shù)組初始化時(shí),行長(zhǎng)度可省,列長(zhǎng)度不能省 例如:int a3=1,2,3,4,5,6,7; int b4=1,4,5; 初始化結(jié)果:,a 結(jié)果: a0: 1 2 3 a1: 4 5 6 a2: 7 0 0,b 結(jié)果: b0:
9、 1 0 0 0 b1: 4 5 0 0,下面對(duì)二維數(shù)組的定義都是錯(cuò)誤的:,float x3 =1.0,2.0,3.0,4.0,5.0,6.0;,int a ,b 2,c3 ;,int m24=1,2,3,4,5,6,7,8,9; /* 編譯出錯(cuò),初值個(gè)數(shù)多于數(shù)組元素的個(gè)數(shù) */,5拓展后項(xiàng)目的實(shí)現(xiàn),查看源碼1,6二維數(shù)組經(jīng)典案例 求楊輝三角的前10行并輸出,楊輝三角前5行如下: 1 11 121 1331 14641,任務(wù)六 項(xiàng)目拓展之字符數(shù)組,1字符數(shù)組的定義 2字符數(shù)組的初始化,char c10; 即有10個(gè)字符數(shù)據(jù),分別為 c0,c1,c2c9,char c10 = I, , a ,
10、m; 多余元素的值自動(dòng)為“空”(0),3字符數(shù)組的輸入輸出 1)采用格式控制符%c實(shí)現(xiàn)輸入輸出。 for(i=0;i10;i+) printf(%c,ci); 2)采用格式控制符%s實(shí)現(xiàn)輸入輸出 scanf(%s,c); printf(%s,c); 3)采用字符串函數(shù)實(shí)現(xiàn)輸入輸出,4字符串處理函數(shù),1)回顧:什么是字符串? 2)在C語(yǔ)言中怎樣處理字符串? 3)常用的字符串處理函數(shù),雙引號(hào)括起來(lái)的一系列字符,如: “abc” “012” “#%” “ ” “啊23”,在C語(yǔ)言中,字符串作為字符數(shù)組處理。字符數(shù)組可以用字符串來(lái)初始化。如: char c = “I am happy!” ; char
11、 c = “I am happy!”;,在C的庫(kù)函數(shù)中,提供了一些字符串處理函數(shù)。 1)puts()函數(shù):輸出字符串 2)gets()函數(shù):輸入字符串 3)strcat()函數(shù):連接字符串 4)strcpy()函數(shù):字符串復(fù)制 5)strcmp()函數(shù):字符串比較 6)strlwr()函數(shù):將大寫(xiě)字母轉(zhuǎn)換為小寫(xiě) 7)strupr()函數(shù):將小寫(xiě)字母轉(zhuǎn)換為大寫(xiě),字符串函數(shù)應(yīng)用舉例,main() char str120,str220; scanf(%s%s,str1,str2); printf(str1=%s,str2=%sn,str1,str2); getch(); ,用%s輸入多個(gè)字符串時(shí),可以用空格或換行符來(lái)分隔字符串。,#include string.h main() char str120,str220; gets(str1); gets(str2); puts(str1); puts(str2); getch(); ,1)用gets和puts之前必須包含庫(kù)文件; 2)用gets一次只能輸入一個(gè)字符串,以回車(chē)為結(jié)束符; 3)用puts一次只能輸出一個(gè)字符串。,#include string.h main() char str120=I am happy!; char str220=
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 46544-2025航空航天用螺栓連接橫向振動(dòng)防松試驗(yàn)方法
- 容器設(shè)計(jì)培訓(xùn)教程課件
- 家門(mén)口培訓(xùn)課件
- 家長(zhǎng)知識(shí)講堂課件
- 2026年歌手演藝經(jīng)紀(jì)合同協(xié)議
- 2026年檔案安全評(píng)估合同
- 2026年國(guó)際貨運(yùn)代理合同協(xié)議2026年
- 2026年勞動(dòng)合同終止執(zhí)行協(xié)議
- 2026年健身器材返利合同協(xié)議
- 銷(xiāo)售合同2026年進(jìn)口汽車(chē)代理
- 云南師大附中2026屆高三高考適應(yīng)性月考卷(六)思想政治試卷(含答案及解析)
- 建筑安全風(fēng)險(xiǎn)辨識(shí)與防范措施
- CNG天然氣加氣站反恐應(yīng)急處置預(yù)案
- 第五屆“國(guó)藥工程杯”全國(guó)大學(xué)生制藥工程設(shè)計(jì)競(jìng)賽
- 三年級(jí)上冊(cè)英語(yǔ)素材-復(fù)習(xí)要點(diǎn) Join in劍橋英語(yǔ)
- Q∕SY 1275-2010 油田污水回用濕蒸汽發(fā)生器水質(zhì)指標(biāo)
- GB∕T 7758-2020 硫化橡膠 低溫性能的測(cè)定 溫度回縮程序(TR 試驗(yàn))
- 最新煙花爆竹倉(cāng)庫(kù)安全風(fēng)險(xiǎn)分級(jí)管控資料
- 鋼板樁支護(hù)工程投標(biāo)文件(54頁(yè))
- 幼兒園《環(huán)境創(chuàng)設(shè)》培訓(xùn)PPT
- 安全生產(chǎn)考試現(xiàn)場(chǎng)監(jiān)考記錄表
評(píng)論
0/150
提交評(píng)論