第一節(jié) C 語言基礎(chǔ)以及基本數(shù)據(jù)類型
第二節(jié) C 語言運算符
第三節(jié) C 語言控制語句
第四節(jié) C 語言自定義函數(shù)
第五節(jié) C 語言修飾變量的關(guān)鍵字
第六節(jié) C 語言構(gòu)造數(shù)據(jù)類型–數(shù)組
第七節(jié) C 語言字符串
數(shù)組------ 存放同種類型的數(shù)據(jù),下標標從0開始算。
學數(shù)組:1、能夠開辟合適的空間進行數(shù)據(jù)的存儲
????2、能夠?qū)?shù)組中的數(shù)據(jù)進行讀寫操作
----- 計算班級的平均分? ----- 分數(shù)(浮點型) 多個浮點型的數(shù)據(jù)放在一起,然后按照順序排序,
[92, 98.5 , 90 ,56,78,92]
0??1??2?3?4?5
如果我想獲取它的每一個標號 0~5 的每一個數(shù)
for 循環(huán)
2.數(shù)組賦值,訪問數(shù)組定義:數(shù)組里面是存放數(shù)據(jù)對的,數(shù)據(jù)在數(shù)組里面統(tǒng)稱為元素。
定義格式: 元素的數(shù)據(jù)類型 數(shù)組名[個數(shù)]
???????????int?arr[5];
1、數(shù)組里面元素單獨賦值
數(shù)組里面的元素是按照順序進行存儲的,為了區(qū)分每一個元素,數(shù)組會為每一個元素分配一個編號,
編號從 0 開始,編號依次+1 進行增長。
arr[0] = 0;
arr[3] = 3;
2、通過循環(huán)遍歷數(shù)組并賦值
for(i=0;i<5;i++)
{// nums[i] = 70; // 讓用戶定義空間里面存放什么
scanf(“%d”,&nums[i]); //&取得相應數(shù)組空間的地址
}
3、元素訪問 -- 下標方式 arr[i]:相應空間的數(shù)據(jù)
int num;
num = arr[0];
總結(jié): 定義數(shù)組的時候[]里面存放的個數(shù),有了空間在進行讀寫操作。
(編號)下標是 從 0 開始到個數(shù)- 1,編號超過了下標的界限,數(shù)據(jù)不會正確存儲。
arr[i]:相應空間的數(shù)據(jù)。 &arr[i]:相應空間的地址。
3.數(shù)組初始化數(shù)組元素賦值操作
元素的訪問 – 下標 - - 0 ~ 元素個數(shù)-1 – 使用下標的時候不能越界
元素的空間 – 數(shù)組名[下標] ?? 數(shù)組名[下標] = 20;
元素的地址:&數(shù)組名[下標]??scanf(“格式控制符”,&數(shù)組名[下標]);
數(shù)組初始化:初始化就是有幾個空間就對多少空間進行寫操作。 — 所有的空間進行賦值操作。
初始化的時候賦值符號左側(cè) 是數(shù)組的定義 要注意元素的個數(shù)。
?????賦值符號的右側(cè)是每一個空間的值,寫的時候使用{}把這些值包含起來,值和值之間使用, 分割。
????? 元素的數(shù)據(jù)類型 數(shù)組名[元素個數(shù)] = {x,y…};
注意點:?數(shù)組只能在初始化整體賦值。不可以先定義好了,在整體賦值。
1、數(shù)組只能在初始化整體賦值。 在定義的時候直接使用賦值符號
short nums[4] = {30,40,50,60};
2、書寫的時候注意下標
short nums[4] = {30,40,50,60,70}; // 空間不夠的時候 70 會丟失
3、{}里面的元素個數(shù)可以<=你在定義的時候?qū)懙脑貍€數(shù)
short nums[4] = {30,40};
// 當{}里面的元素個數(shù)< 定義的時候?qū)懙脑貍€數(shù) ,沒有值的空間會被初 始化為 0;
4、 數(shù)組在初始化的時候可以省略元素個數(shù)
short nums[] = {30,40,50,60};
// 如果初始化的時候省略元素個數(shù)的書寫,那么會按照后面{}里面的數(shù)據(jù)個數(shù)來開辟空間。
4.獲取數(shù)組的個數(shù)數(shù)組元素的訪問 :元素訪問 – 下標方式.冒泡排序算法
數(shù)組元素在內(nèi)存里面的存儲:是連續(xù)排列的。還有地址:數(shù)組變量名 == &數(shù)組變量名[0]
short nums[] = {1,2,3,4};
//nums[0] nums[1] nums[2] nums[3] == short ----2個字節(jié)
//nums == short [4](數(shù)組聲明去掉數(shù)組名就是數(shù)組類型) ----8個字節(jié)
//sizeof(數(shù)據(jù)類型 或者 空間名字)
//表達這個數(shù)組中有多少個元素: sizeof(nums) / sizeof(nums[0])
1、數(shù)組只能在初始化整體賦值。 在定義的時候直接使用賦值符號
short nums[4] = {30,40,50,60};
2、書寫的時候注意下標
short nums[4] = {30,40,50,60,70}; // 空間不夠的時候 70 會丟失
3、{}里面的元素個數(shù)可以<=你在定義的時候?qū)懙脑貍€數(shù)
short nums[4] = {30,40};
// 當{}里面的元素個數(shù)< 定義的時候?qū)懙脑貍€數(shù) ,沒有值的空間會被初 始化為 0;
4、 數(shù)組在初始化的時候可以省略元素個數(shù)
short nums[] = {30,40,50,60};
// 如果初始化的時候省略元素個數(shù)的書寫,那么會按照后面{}里面的數(shù)據(jù)個數(shù)來開辟空間。
二維數(shù)組
1.二維數(shù)組定義一維數(shù)組:數(shù)組里面存放的數(shù)據(jù)是基本類型數(shù)據(jù)或者結(jié)構(gòu)體 等不可再分單元。
二維數(shù)組:里面存放的數(shù)據(jù)是數(shù)組,一個二維數(shù)組里面有多個一位數(shù)組組成,二維數(shù)組也是一個數(shù)組,因此需要保證里面的一維數(shù)組具有共同的數(shù)據(jù)類型。
二維數(shù)組定義個數(shù):?存放的數(shù)據(jù)類型 數(shù)組名[元素個數(shù)][每個元素里面的數(shù)據(jù)個數(shù)];
????????short arr[3][4] = {{10,20,30,40},{50,60,70 ,80},{90,100,110,120}};
arr 里面有 3 個元素,每個元素都是 short [4]類型,每一個原有 4 個 short 數(shù)據(jù)組成。
多位數(shù)組必須拿到最小的單元才能進行賦值操作
????2 組數(shù)據(jù),每一組數(shù)據(jù)都是 3 個 int 型的數(shù)據(jù)
????int nums[2][3]; ?// 2 個元素 下標 0 1
????????????nums[0] nums[1] ---- int [3]
//---------nums[0] = {10,20,30}; 寫法是錯誤的不能在定義數(shù)組之后,使用賦值符號對數(shù)組整體的賦值。
一般都是使用循環(huán)輸入,二維數(shù)組就采用雙層循環(huán)
int nums[2][3];
int i,j;
for(i=0;i<2;i++)
{for(j=0;j<3;j++)
{ // 輸入: nums[i][j] -- &nums[i][j]
scanf(“%d”,&nums[i][j]);
}
}
數(shù)組元素個數(shù):??sizeof(nums) / sizeof(int [3]) sizeof(nums) / sizeof(nums[0])
每一個元素中數(shù)據(jù)的個數(shù):?sizeof(nums[0]) / sizeof(int)
在定義的時候?qū)λ械目臻g進行賦值操作。
int nums[2][3] = {{2,3,4},{5,6,7}};
注意事項
1. 初始化的時候,數(shù)據(jù)的個數(shù)可以小于定義的數(shù)據(jù)個數(shù)。沒有值的空間補 0
int nums[2][3] = {{1},{1,2}}; // {{1,0,0},{1,2,0}}
2. 初始化的時候,可以將里面元素的{}取消掉
int nums[2][3] = {1,2,3,4,5}; // {1,2,3,4,5,0} 會按照數(shù)據(jù)的個數(shù)進行分組 {{1,2,3},{4,5,0}};
3. 二維數(shù)組初始化的時候,可以省略元素個數(shù),但是不能省略數(shù)據(jù)個數(shù)
int nums[][3] = {1,2,3,4}; 會按照數(shù)據(jù)的個數(shù)進行分組, 不足的補 0 {{1,2,3},{4,0,0}}
4.二維數(shù)組的訪問操作使用:求二維數(shù)組里面的大值。
int nums[2][3] = {{21,39,4},{50,6,7}};
int nums[2][3] = {{21,39,4},{50,6,7}};
int i,j;
int max = nums[0][0];
for(i=0;i<2;i++)
{for(j=0;j<3;j++)
{ if(max< nums[i][j])
{ max = nums[i][j];
}
}
}
printf(“%d”,max);
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)站名稱:C語言入門系列-構(gòu)造數(shù)據(jù)類型--數(shù)組-創(chuàng)新互聯(lián)
本文鏈接:http://jinyejixie.com/article8/djcpip.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站策劃、移動網(wǎng)站建設、微信公眾號、品牌網(wǎng)站設計、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容