資源描述:
《C語言7數(shù)組課件教程.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第7章數(shù)組構(gòu)造數(shù)據(jù)類型之一數(shù)組:有序數(shù)據(jù)的集合,用數(shù)組名標識元素:屬同一數(shù)據(jù)類型,用數(shù)組名和下標確定17.1一維數(shù)組一維數(shù)組的定義:數(shù)據(jù)類型數(shù)組名[常量表達式];合法標識符表示元素個數(shù)下標從0開始例inta[6];編譯時分配連續(xù)內(nèi)存內(nèi)存字節(jié)數(shù)=數(shù)組定義的元素個數(shù)*sizeof(元素數(shù)據(jù)類型)數(shù)組名表示內(nèi)存首地址,是地址常量a014523a[0]0145a[1]a[2]a[3]a[4]a[5]23a2一維數(shù)組的引用數(shù)組必須先定義,后使用只能逐個引用數(shù)組元素,不能一次引用整個數(shù)組數(shù)組元素表示形式:數(shù)組名[下標]其中:下標可以是整型常量或整型表達式以0開始
2、,到n-1結(jié)束例inta[10];printf(“%d”,a);(?)必須for(j=0;j<10;j++)printf(“%dt”,a[j]);(?)例intdata[5];data[5]=10;//C語言對數(shù)組不作越界檢查,使用時要注意3一維數(shù)組的初始化初始化方式在定義數(shù)組時,為數(shù)組元素賦初值(在編譯階段使之得到初值)inta[5]={1,2,3,4,5};等價于:a[0]=1;a[1]=2;a[2]=3;a[3]=4;a[4]=5;說明:數(shù)組不初始化,其元素值為隨機數(shù)對static數(shù)組元素不賦初值,系統(tǒng)會自動賦以0值當全部數(shù)組元素賦初值時,可
3、不指定數(shù)組長度如inta[5]={6,2,3};等價于:a[0]=6;a[1]=2;a[2]=3;a[3]=0;a[4]=0;如inta[3]={6,2,3,5,1};(?)staticinta[5];等價于:a[0]=0;a[1]=0;a[2]=0;a[3]=0;a[4]=0;只給部分數(shù)組元素賦初值inta[]={1,2,3,4,5,6};編譯系統(tǒng)根據(jù)初值個數(shù)確定數(shù)組元素個數(shù)4一維數(shù)組遍歷方法://n為數(shù)組元素個數(shù)for(i=0;i4、.輸入:for循環(huán)輸入10個整數(shù)2.處理:(a)先令max=min=x[0](b)依次用x[i]和max,min比較(循環(huán))若maxx[i],令min=x[i]3.輸出:max和min#include#defineSIZE10main(){intx[SIZE],i,max,min;printf("Enter10integers:");for(i=0;i5、i])max=x[i];if(min>x[i])min=x[i];}printf("Maximumvalueis%d",max);printf("Minimumvalueis%d",min);}6例用數(shù)組求Fibonacci數(shù)列前20個數(shù)f[0]f[1]f[2]f[3]f[4]f[5]f[19]……...11f[19]01452319235#includemain(){inti;intf[20]={1,1};for(i=2;i<20;i++)f[i]=f[i-2]+f[i-1];for(i=0;i<20;i++){if(i%
6、5==0)printf("");printf("%12d",f[i]);}}7例用冒泡法對10個數(shù)排序排序過程:(1)比較第一個數(shù)與第二個數(shù),若為逆序a[0]>a[1],則交換;然后比較第二個數(shù)與第三個數(shù);依次類推,直至第n-1個數(shù)和第n個數(shù)比較為止——第一趟冒泡排序,結(jié)果最大的數(shù)被安置在最后一個元素位置上(2)對前n-1個數(shù)進行第二趟冒泡排序,結(jié)果使次大的數(shù)被安置在第n-1個元素位置(3)重復(fù)上述過程,共經(jīng)過n-1趟冒泡排序后,排序結(jié)束8例3849657613273097第二趟38496513273076第三趟384913273065第四趟38
7、13273049第五趟13273038第六趟132730第七趟4938659776132730第一趟n=8384976971397279730971376767627301365276530651313494930492738273830381327一共比較了7趟,相當于n-1趟i=0ton-ji=0to70to60to50to40to30to20to1j表示趟數(shù)i表示每次比較的數(shù)組元素下標9輸入n個數(shù)給a[0]到a[n-1]forj=1ton-1fori=0ton-ja[i]>a[i+1]真假a[i]?a[i+1]輸出a[0]到a[n-1]#inc
8、ludemain(){inta[10],i,j,t;printf("Input10numb