欢迎来到天天文库
浏览记录
ID:48167544
大小:1.12 MB
页数:41页
时间:2020-01-17
《C语言7数组课件教程.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章数组构造数据类型之一数组:有序数据的集合,用数组名标识元素:属同一数据类型,用数组名和下标确定17.1一维数组一维数组的定义:数据类型数组名[常量表达式];合法标识符表示元素个数下标从0开始例inta[6];编译时分配连续内存内存字节数=数组定义的元素个数*sizeof(元素数据类型)数组名表示内存首地址,是地址常量a014523a[0]0145a[1]a[2]a[3]a[4]a[5]23a2一维数组的引用数组必须先定义,后使用只能逐个引用数组元素,不能一次引用整个数组数组元素表示形式:数组名[下标]其中:下标可以是整型常量或整型表达式以0开始
2、,到n-1结束例inta[10];printf(“%d”,a);()必须for(j=0;j<10;j++)printf(“%dt”,a[j]);()例intdata[5];data[5]=10;//C语言对数组不作越界检查,使用时要注意3一维数组的初始化初始化方式在定义数组时,为数组元素赋初值(在编译阶段使之得到初值)inta[5]={1,2,3,4,5};等价于:a[0]=1;a[1]=2;a[2]=3;a[3]=4;a[4]=5;说明:数组不初始化,其元素值为随机数对static数组元素不赋初值,系统会自动赋以0值当全部数组元素赋初值时,可
3、不指定数组长度如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;只给部分数组元素赋初值inta[]={1,2,3,4,5,6};编译系统根据初值个数确定数组元素个数4一维数组遍历方法://n为数组元素个数for(i=0;i4、.输入:for循环输入10个整数2.处理:(a)先令max=min=x[0](b)依次用x[i]和max,min比较(循环)若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例用数组求Fibonacci数列前20个数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个数排序排序过程:(1)比较第一个数与第二个数,若为逆序a[0]>a[1],则交换;然后比较第二个数与第三个数;依次类推,直至第n-1个数和第n个数比较为止——第一趟冒泡排序,结果最大的数被安置在最后一个元素位置上(2)对前n-1个数进行第二趟冒泡排序,结果使次大的数被安置在第n-1个元素位置(3)重复上述过程,共经过n-1趟冒泡排序后,排序结束8例3849657613273097第二趟38496513273076第三趟384913273065第四趟387、13273049第五趟13273038第六趟132730第七趟4938659776132730第一趟n=8384976971397279730971376767627301365276530651313494930492738273830381327一共比较了7趟,相当于n-1趟i=0ton-ji=0to70to60to50to40to30to20to1j表示趟数i表示每次比较的数组元素下标9输入n个数给a[0]到a[n-1]forj=1ton-1fori=0ton-ja[i]>a[i+1]真假a[i]a[i+1]输出a[0]到a[n-1]#inc8、ludemain(){inta[10],i,j,t;printf("Input10numb
4、.输入:for循环输入10个整数2.处理:(a)先令max=min=x[0](b)依次用x[i]和max,min比较(循环)若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例用数组求Fibonacci数列前20个数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个数排序排序过程:(1)比较第一个数与第二个数,若为逆序a[0]>a[1],则交换;然后比较第二个数与第三个数;依次类推,直至第n-1个数和第n个数比较为止——第一趟冒泡排序,结果最大的数被安置在最后一个元素位置上(2)对前n-1个数进行第二趟冒泡排序,结果使次大的数被安置在第n-1个元素位置(3)重复上述过程,共经过n-1趟冒泡排序后,排序结束8例3849657613273097第二趟38496513273076第三趟384913273065第四趟387、13273049第五趟13273038第六趟132730第七趟4938659776132730第一趟n=8384976971397279730971376767627301365276530651313494930492738273830381327一共比较了7趟,相当于n-1趟i=0ton-ji=0to70to60to50to40to30to20to1j表示趟数i表示每次比较的数组元素下标9输入n个数给a[0]到a[n-1]forj=1ton-1fori=0ton-ja[i]>a[i+1]真假a[i]a[i+1]输出a[0]到a[n-1]#inc8、ludemain(){inta[10],i,j,t;printf("Input10numb
5、i])max=x[i];if(min>x[i])min=x[i];}printf("Maximumvalueis%d",max);printf("Minimumvalueis%d",min);}6例用数组求Fibonacci数列前20个数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个数排序排序过程:(1)比较第一个数与第二个数,若为逆序a[0]>a[1],则交换;然后比较第二个数与第三个数;依次类推,直至第n-1个数和第n个数比较为止——第一趟冒泡排序,结果最大的数被安置在最后一个元素位置上(2)对前n-1个数进行第二趟冒泡排序,结果使次大的数被安置在第n-1个元素位置(3)重复上述过程,共经过n-1趟冒泡排序后,排序结束8例3849657613273097第二趟38496513273076第三趟384913273065第四趟38
7、13273049第五趟13273038第六趟132730第七趟4938659776132730第一趟n=8384976971397279730971376767627301365276530651313494930492738273830381327一共比较了7趟,相当于n-1趟i=0ton-ji=0to70to60to50to40to30to20to1j表示趟数i表示每次比较的数组元素下标9输入n个数给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
此文档下载收益归作者所有