版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
C語言程序設(shè)計基礎(chǔ)與實踐模塊四編程高級應(yīng)用任務(wù)4.1數(shù)組C語言程序設(shè)計基礎(chǔ)與實踐課程組04技能點拓展03技能點詳解02技能點分析目錄CONTENTS任務(wù)4.1數(shù)組01問題引入05技能點檢測一問題引入足球場上,雙方球員在快速奔跑,搶斷,為了團隊的榮譽拼搏。作為觀眾的我們,無法看見球員的面孔,我們通過球衣的顏色和圖案區(qū)別球隊。但是,如何區(qū)別哪一位球員呢?有的時候解說員在解說比較激烈的場面的時候,通常喊的是球員身后的號碼,當(dāng)我們看到號碼的時候,就知道是哪位球員,比如C羅的7號,馬拉多拉的10號。這種用球隊多少號球員的命名方式,在C語言中就是數(shù)組的命名方式。那么數(shù)組在使用時我們應(yīng)該注意哪些事項呢?04技能點拓展03技能點詳解02技能點分析目錄CONTENTS01問題引入05技能點檢測任務(wù)4.1數(shù)組二技能點分析1.掌握一維數(shù)組的應(yīng)用2.掌握多維數(shù)組初始化的3.掌握訪問數(shù)組元素的方法學(xué)習(xí)目標(biāo)1.什么是數(shù)組?2.如何聲明一維數(shù)組和二維數(shù)組?3.?dāng)?shù)組如何被初始化?4.如何訪問數(shù)組元素?元素的索引是什么?學(xué)期預(yù)習(xí)04技能點拓展03技能點詳解02技能點分析目錄CONTENTS01問題引入05技能點檢測任務(wù)4.1數(shù)組數(shù)組是一組具有相同數(shù)據(jù)類型的變量集合,它是一系列相同類型的變量。一維數(shù)組的定義typename[size1];C語言支持多維數(shù)組。多維數(shù)組聲明的一般形式如下:typename[size1][size2]...[sizeN];數(shù)組中的每一項稱為數(shù)組的元素,每個元素都有對應(yīng)的下標(biāo)(n),用于表示元素在數(shù)組中的位置序號,下標(biāo)從0開始。數(shù)組的聲明是聲明一個數(shù)組變量,有一個統(tǒng)一的名稱,比如定義一個數(shù)組name,然后用name[n]的形式訪問其中的每一個變量,稱為數(shù)組元素。三技能點詳解——數(shù)組數(shù)組中的每一項稱為數(shù)組的元素,每個元素都有對應(yīng)的下標(biāo)(n),用于表示元素在數(shù)組中的位置序號,下標(biāo)從0開始。數(shù)組的聲明是聲明一個數(shù)組變量,有一個統(tǒng)一的名稱,比如定義一個數(shù)組name,然后用name[n]的形式訪問其中的每一個變量,稱為數(shù)組元素。三技能點詳解——數(shù)組1)聲明數(shù)組在C中要聲明一個數(shù)組,需要指定元素的類型和元素的數(shù)量,如下所示:typearrayName[arraySize];這叫做一維數(shù)組。[]中的arraySize必須是一個大于零的整數(shù)常量,type可以是任意有效的C數(shù)據(jù)類型。要聲明一個類型為float的包含6個元素的數(shù)組b,聲明語句如下:floatb[6];現(xiàn)在b是一個可用的數(shù)組,可以容納6個類型為float的數(shù)字。三技能點詳解——1一維數(shù)組三技能點詳解——1一維數(shù)組2)初始化數(shù)組(1)直接對數(shù)組中的所有元素賦值。需要注意的是:大括號{}中的值的數(shù)目不能大于我們在數(shù)組聲明時在方括號[]中指定的元素數(shù)目。比如下例中定義的數(shù)組b長度是5,那么初始化的值的數(shù)目最多也只能是5個。floatb[5]={9990.0,1.0,5.0,7.0,56.0};(2)只對數(shù)組中的一部分元素賦值。
結(jié)果是給b[0],b[1]賦了初始值,其他元素沒有初始值(也可以理解為是個隨機數(shù)值)floatb[5]={9990.0,1.0};(3)對數(shù)組全部元素賦值,但不指定長度。如果省略掉了數(shù)組的大小,這時數(shù)組的長度等于初始化時元素的個數(shù)。floatb[]={9990.0,1.0,5.0,7.0,56.0};這將創(chuàng)建一個數(shù)組,雖然沒有指定數(shù)組長度,它與前一個實例中所創(chuàng)建的數(shù)組是完全相同的,也是5個數(shù)組元素。3)訪問數(shù)組元素
數(shù)組元素可以通過數(shù)組名稱加索引進行訪問。元素的索引是放在方括號內(nèi),跟在數(shù)組名稱的后邊。b[4]=56.0;這個語句把數(shù)組中第五個元素的值賦為56.0,b[4]可以看作是一個獨立的變量,我們可以通過這個變量直接修改數(shù)組中的元素值或者引用其中的值。三技能點詳解——1一維數(shù)組1)聲明二維數(shù)組聲明一個x行y列的二維整型數(shù)組,形式如下:typearrayName[m][n];其中,type可以是任意有效的C數(shù)據(jù)類型,arrayName是一個有效的C標(biāo)識符。一個二維數(shù)組在邏輯上就是一個m行和n列的表格。下面是一個二維數(shù)組,包含4行和3列:inta[4][3];因此,數(shù)組中的每個元素是使用形式為a[m][n]的元素名稱來標(biāo)識的,其中a是數(shù)組名稱,m和n是唯一標(biāo)識數(shù)組a中每個元素的下標(biāo)。三技能點詳解——2二維數(shù)組2)初始化二維數(shù)組inta[3][4]={
{0,1,2,3},//初始化索引號為0的行
{4,5,6,7},//初始化索引號為1的行
{8,9,10,11}//初始化索引號為2的行
};多維數(shù)組可以通過在括號內(nèi)為每行指定值來進行初始化。下面是一個帶有3行4列的數(shù)組。內(nèi)部嵌套的括號是可選的,下面的初始化與上面是等同的:之所以可以這樣初始化,是因為數(shù)組的物理結(jié)構(gòu)還是一個數(shù)據(jù)列表,數(shù)組中的數(shù)據(jù)存放在內(nèi)存中時還是按照線性結(jié)構(gòu)順序存儲在內(nèi)存空間中的。例如上例中的a數(shù)組在內(nèi)存中的結(jié)構(gòu)實際是這樣的:三技能點詳解——2二維數(shù)組二維數(shù)組中的元素是通過使用下標(biāo)(即數(shù)組的行索引和列索引)來訪問的。例如:intval=a[2][3];上面的語句將獲取數(shù)組中第3行第4個元素賦值給變量val。3)訪問二維數(shù)組元素三技能點詳解——2二維數(shù)組三技能點詳解——1訪問二維數(shù)組元素二維數(shù)組中的元素是通過使用下標(biāo)(即數(shù)組的行索引和列索引)來訪問的。例如:intval=a[2][3];上面的語句將獲取數(shù)組中第3行第4個元素賦值給變量val。案例4.1.1讀寫一維數(shù)組/****************************************************內(nèi)容簡述:一位數(shù)組初始化和輸出***************************************************/#include
<stdio.h>
//頭文件
intmain(void){
intn[10]; //n是一個包含10個整數(shù)的數(shù)組
inti,j;
for(i=0;i<10;i++) //初始化數(shù)組元素 { n[i]=i+100; //設(shè)置元素i為i+100 }
for(j=0;j<10;j++) //輸出數(shù)組中每個元素的值 { printf("Element[%d]=%d\n",j,n[j]); }
return0;}三技能點詳解——案例三技能點詳解——案例實例4.1.2讀寫二維數(shù)組/****************************************************內(nèi)容簡述:二維數(shù)組初始化和輸出***************************************************/#include
<stdio.h>
intmain(void){
/*一個帶有5行2列的數(shù)組*/
inta[5][2]={{0,0},{1,2},{2,4},{3,6},{4,8}};
inti,j;
for(i=0;i<5;i++)//輸出數(shù)組中每個元素的值{
for(j=0;j<2;j++){printf("a[%d][%d]=%d\n",i,j,a[i][j]);}}
return0;}三技能點詳解——案例04技能點拓展03技能點詳解02技能點分析目錄CONTENTS01問題引入05技能點檢測任務(wù)4.1數(shù)組四技能點拓展——1數(shù)組越界數(shù)組的下標(biāo)都有一個范圍,即“0~[數(shù)組長度-1]”,假設(shè)數(shù)組的長度為:5,其下標(biāo)范圍為0~4。當(dāng)訪問數(shù)組中的元素時,下標(biāo)不能超出這個范圍,否則程序會出錯。/****************************************************內(nèi)容簡述:數(shù)組越界顯示問題***************************************************/#include
<stdio.h>
//頭文件intmain(void){
inta[5]={1,2,3,4,5};//一維數(shù)組的5個元素
inti;
for(i=0;i<6;i++)//輸出5個數(shù)值 { printf("a[%d]=%d\n",i,a[i]); }
return0;}四技能點拓展——2字符數(shù)組字符數(shù)組是由字符類型的元素所組成的數(shù)組,字符串就存儲在字符數(shù)組中,在訪問字符數(shù)組時,可使用下標(biāo)法讀取指定位置的字符。字符數(shù)組定義方式與整型數(shù)組類似:chararrname[size];//一維字符數(shù)組定義字符數(shù)組:charcha[6];charchb[5]={'a','b','c','d','e'};//定義一個字符數(shù)組并初始化數(shù)組元素四技能點拓展——3字符串?dāng)?shù)組字符串是由數(shù)字、字母、下劃線、空格等各種字符組成的一串字符,由一對英文半角狀態(tài)下的雙引號(“”)括起來,例如”abcde”。字符串在C語言中,字符串的存儲和處理都是通過字符數(shù)組來實現(xiàn)的,存儲字符串的字符數(shù)組必須以空字符’\0’(空字符)結(jié)尾。當(dāng)把一個字符串存入一個字符數(shù)組時,也把結(jié)束符’\0’存入數(shù)組,因此該字符數(shù)組的長度是字符串實際字符
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版塔吊租賃與驗收及付款合同3篇
- 二零二五版科技公司股份交易與反壟斷合規(guī)合同3篇
- 二零二五年度共享辦公空間租賃與服務(wù)合同2篇
- 二零二五年度咖啡廳高品質(zhì)咖啡豆供應(yīng)合同3篇
- 2025年度個人向科技公司借款合同2篇
- 二零二五年度商業(yè)街區(qū)臨時攤位租賃及管理服務(wù)合同2篇
- 2025年度“銷售合同”英文翻譯與海外市場品牌推廣合作框架3篇
- 2025年度木地板施工安全與質(zhì)量責(zé)任合同4篇
- KTV員工勞動合同范本
- 2025年度煤礦井巷工程應(yīng)急救援預(yù)案編制合同
- 2023-2024學(xué)年度人教版一年級語文上冊寒假作業(yè)
- 人教版語文1-6年級古詩詞
- 上學(xué)期高二期末語文試卷(含答案)
- GB/T 18488-2024電動汽車用驅(qū)動電機系統(tǒng)
- 投資固定分紅協(xié)議
- 高二物理題庫及答案
- 職業(yè)發(fā)展展示園林
- 七年級下冊英語單詞默寫表直接打印
- 2024版醫(yī)療安全不良事件培訓(xùn)講稿
- 中學(xué)英語教學(xué)設(shè)計PPT完整全套教學(xué)課件
- 移動商務(wù)內(nèi)容運營(吳洪貴)項目五 運營效果監(jiān)測
評論
0/150
提交評論