版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、東華大學(xué) 通信與電子工程系,第七章 數(shù)組,一維數(shù)組,二維數(shù)組及多維數(shù)組,字符數(shù)組和字符串,數(shù)組概念,東華大學(xué) 通信與電子工程系,東華大學(xué) 通信與電子工程系,東華大學(xué) 通信與電子工程系,輸入5個(gè)按學(xué)號(hào)排列的學(xué)生某門課的成績(jī)表,要求按與輸入次序相反的順序輸出,#includevoid main(){ float s1, s2, s3, s4, s5; printf(“enter five scores: &quo
2、t;); scanf("%f , %f , %f, %f, %f", &s1, &s2, &s3, &s4, &s5); printf("\nThe score in reverse order are: "); printf("%f\n", s5); printf("%
3、f\n", s4); printf("%f\n", s3); printf("%f\n", s2); printf("%f\n", s1); },這些數(shù)據(jù)具有共同的特點(diǎn):由若干分量構(gòu)成;數(shù)據(jù)的各個(gè)分量都是同一類型;這些分量是按一定順序排列的。,東華大學(xué) 通信與電子工程系,數(shù)組概念,構(gòu)造數(shù)據(jù)類型之一數(shù)組:按序排列的具有相
4、同類型的變量的集合。用數(shù)組名標(biāo)識(shí)這一組數(shù)。元素:屬同一數(shù)據(jù)類型,用數(shù)組名和下標(biāo)確定數(shù)組中的元素。 數(shù)組元素的作用相當(dāng)于簡(jiǎn)單變量,東華大學(xué) 通信與電子工程系,,一維數(shù)組的定義定義方式: 數(shù)據(jù)類型 數(shù)組名[常量表達(dá)式];,合法標(biāo)識(shí)符,代表數(shù)組元素的個(gè)數(shù),即數(shù)組長(zhǎng)度下標(biāo)從0開始,7.1 一維數(shù)組,例:int a[5];表示有5個(gè)元素, 元素的下標(biāo)從0開始.數(shù)組a的元素分別為:a[0],a[1], a[
5、2], a[3], a [4],例 int i=15; int data[i]; (?不能用變量定義數(shù)組長(zhǎng)度)例 #define M 20 float y[4*M+1]; (合法,M是符號(hào)常量),東華大學(xué) 通信與電子工程系,一維數(shù)組的存儲(chǔ),C編譯程序用連續(xù)的內(nèi)存單元存放各個(gè)元素,例 int a[6];,編譯時(shí)分配連續(xù)內(nèi)存內(nèi)存總字節(jié)數(shù)=數(shù)組長(zhǎng)度*
6、 sizeof(元素?cái)?shù)據(jù)類型)如:總字節(jié)數(shù)=6*2=12,數(shù)組名代表的是數(shù)組在內(nèi)存中的首地址,是地址常量,東華大學(xué) 通信與電子工程系,數(shù)組必須先定義,后使用數(shù)組元素表示形式: 數(shù)組名[下標(biāo)]其中:下標(biāo)可以是常量或整型表達(dá)式,例 int a[10]; printf(“%d”,a); (?)必須 for(j=0;j<10;j++)
7、 printf(“%d\t”,a[j]); (?),例 int t,data[5]; t=data[2]; //引用data數(shù)組中序號(hào)為2的元素。,一維數(shù)組的引用,注意:只能逐個(gè)引用數(shù)組元素,不能一次引用整個(gè)數(shù)組,東華大學(xué) 通信與電子工程系,用數(shù)組實(shí)現(xiàn),#includevoid main() { int i;
8、 float s[100]; printf("Enter the scores: "); for (i=0; i=0; i--) //數(shù)組元素的輸出 printf("%f\n", s[i]); },東華大學(xué) 通信與電子工程系,初始化方式,在定義數(shù)組時(shí),為數(shù)組元素賦初值(在編譯階段使之得到初值)
9、,int a[5]={1,2,3,4,5};等價(jià)于:a[0]=1; a[1]=2; a[2]=3; a[3]=4; a[4]=5;,說明:數(shù)組不初始化,其元素值為隨機(jī)數(shù),數(shù)組不進(jìn)行初始化時(shí),編譯器不為其自動(dòng)指定初始值。其初始值為系統(tǒng)分配給數(shù)組各元素的內(nèi)存單元原來的值,這個(gè)值是不可預(yù)知的。,一維數(shù)組的初始化,東華大學(xué) 通信與電子工程系,數(shù)組元素賦初值,? 對(duì)全部元素賦初值。如:,int a[10]={10, 11, 12, 13,
10、14, 15, 16, 17, 18, 19},表示數(shù)組元素的值為:,a[0]=10;,a[1]=11;,?,a[9]=19;,在對(duì)全部數(shù)組元素賦初值時(shí),可不指定數(shù)組長(zhǎng)度 如:int a[]={1,2,3,4,5,6}; //編譯系統(tǒng)根據(jù)初值個(gè)數(shù)確定數(shù)組長(zhǎng)度,東華大學(xué) 通信與電子工程系,? 對(duì)部分元素賦初值(前面的連續(xù)元素)。如:,在此, 只有前5個(gè)元素初值確定,后面5個(gè)元素的值為0。,int b[10]={0,1,2,
11、3,4};,表示數(shù)組元素的值為:,b[0]=0;,b[1]=1;,b[2]=2;,b[3]=3;,b[4]=4;,東華大學(xué) 通信與電子工程系,#include void main(){int i, b[10]={0,1,2,3,4}; for(i=0;i<10;i++)printf("%d\n",b[i]);},東華大學(xué) 通信與電子工程系,,注意:不能只對(duì)不連續(xù)部分元素
12、或后面的連續(xù)元素賦初值。,語句: int a[10]={, , , , ,1,2,3,4,5};是錯(cuò)誤的,int a[10]={1, ,3, ,5 , ,7, ,9, ,}; 是錯(cuò)誤的。,錯(cuò)誤:初始值的個(gè)數(shù)大于元素的個(gè)數(shù)如:int b[3]={3,6,2,7,3,1,9}; 是錯(cuò)誤的,東華大學(xué) 通信與電子工程系,給一個(gè)不多于9位的正整數(shù),要求:1)求出它是幾位數(shù);2)分別輸出每一位數(shù)字;3)按逆序輸出各位數(shù)字,#incl
13、udevoid main(){ long int number,num;int i,j,d[9];printf("請(qǐng)輸入一個(gè)位數(shù)<=9的正整數(shù):");scanf("%ld",&number); i=0;num=number; //保存輸入的整數(shù)的原值do{d[i]=num%10;i++;num=num/10;
14、}while(num); //d[0],d[1],...,分別存儲(chǔ)該整數(shù)的第1,2,...,位數(shù)字,東華大學(xué) 通信與電子工程系,if (i>9) //i的當(dāng)前值為該數(shù)的位數(shù)printf("輸入的整數(shù)已超出范圍!\n");else{printf("%ld的位數(shù)為:%d\n", number, i);
15、 printf("它的每位數(shù)字分別為:");for (j=i-1; j>=0; j--) //分別輸出該數(shù)的各位數(shù)字printf("%3d", d[j]); printf("\n");printf("將該數(shù)逆序輸出為:");for(j=0; j<
16、;i; j++)printf("%d", d[j]);printf("\n");}},東華大學(xué) 通信與電子工程系,,排序過程:(1)比較第一個(gè)數(shù)與第二個(gè)數(shù),若為逆序a[0]>a[1],則交換;然后比較第二個(gè)數(shù)與第三個(gè)數(shù);依次類推,直至第n-1個(gè)數(shù)和第n個(gè)數(shù)比較為止——第一趟冒泡排序,結(jié)果最大的數(shù)被安置在最后一個(gè)元素位置上(2)對(duì)前n-1個(gè)數(shù)進(jìn)行第二趟冒泡排序,結(jié)果
17、使次大的數(shù)被安置在第n-1個(gè)元素位置(3)重復(fù)上述過程,共經(jīng)過n-1趟冒泡排序后,排序結(jié)束,例 用冒泡法對(duì)8個(gè)數(shù)排序,東華大學(xué) 通信與電子工程系,,例,38,49,76,97,13,97,97,27,30,97,13,76,76,76,27,30,13,65,27,65,30,65,13,13,49,49,30,49,27,38,27,38,30,38,例 用冒泡法對(duì)8個(gè)數(shù)排序(圖解),東華大學(xué) 通信與電子工程系,#define
18、 N 8#includevoid main(){int i,j,t,a[N];printf(“Input 8 numbers to be sorted:\n"); for(i=0; ia[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t; } printf("\n the sorted numbers:
19、\n"); for(i=0; i<N; i++) printf("%5d",a[i]); printf("\n");},東華大學(xué) 通信與電子工程系,二維數(shù)組的定義定義方式: 數(shù)據(jù)類型 數(shù)組名[常量表達(dá)式][常量表達(dá)式];,,例 int a[3][4]; float b[2][5]; int c[2][3][4];
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 物理與電子工程系
- 電子與信息工程系
- 圖像清華大學(xué)電子工程系
- 2020東華大學(xué)電子與通信工程經(jīng)驗(yàn)貼
- 北京科技大學(xué)通信工程系
- 機(jī)械電子工程系論文
- 2019年東華大學(xué)電子與通信工程考研經(jīng)驗(yàn)分享
- 安康學(xué)院電子與信息工程系報(bào)告
- 電子工程系工作計(jì)劃
- 通信與控制工程系教學(xué)巡查制度
- 物理系、電子信息工程系
- 國(guó)立臺(tái)灣科技大學(xué)電子工程系系務(wù)會(huì)議章程
- 2019年華北電力大學(xué)(保定)考研大綱電子與通信工程系
- 復(fù)旦大學(xué)環(huán)境科學(xué)與工程系
- 2020東華大學(xué)電子通信工程專業(yè)考研經(jīng)驗(yàn)權(quán)威發(fā)布
- 電子工程系畢業(yè)論文---現(xiàn)代移動(dòng)通信技術(shù)的發(fā)展趨勢(shì)
- 河海大學(xué)材料科學(xué)與工程系
- 電子信息工程系實(shí)驗(yàn)報(bào)告
- xxx大學(xué)計(jì)算機(jī)科學(xué)與工程系
- 環(huán)境科學(xué)與工程系
評(píng)論
0/150
提交評(píng)論