资源描述:
《C语言经典课件第7章.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第7章 数组问题请输入300个学生的数学成绩并打印出来,如何完成?分析:首先定义300个变量准备存储这300个学生的数学成绩floatm1,m2,m3,…,m300;然后输入300个学生的数学成绩scanf(“%d,%d,…,%d”,&m1,&m2,…,&m300);最后打印所有学生的数学成绩printf(“%d,%d,…,%d”,m1,m2,…,m300);数组是有序数据的集合。数组中的每一个元素都属于同一个数据类型用一个统一的数组名和下标来唯一地确定数组中的元素数组专用于处理大量同类型数据每一个数组元素都可以当做单个变量来使用一维数组的定义和引用一维数组的
2、定义类型说明符 数组名[常量表达式];例如:inta[10];表示:定义了一个整型数组,a为数组名,有10个元素下标从0开始:a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]注意不允许动态定义数组的大小如:intn;scanf(“%d”,&n);inta[n];常量表达式可以包含常量和符号常量,但不能包含变量。inta[3*6];是合理的一维数组元素的引用先定义后引用数组中的每一个元素都可以作为一个变量来访问不能一次引用整个数组数组元素的表示形式数组名[下标]注:下标可以是整型常量或整型表达式(可以包含变量):
3、a[n]、a[5]例7.1数组元素的引用main(){inti,a[10];for(i=0;i<=9;i++)a[i]=i;for(i=9;i>=0;i--)printf(“%2d",a[i]);}运行结果:9876543210一维数组的初始化数组元素和变量一样,可以在定义时赋予初值,称为数组的初始化在定义数组时对数组元素赋以初值如:inta[10]={1,3,5,7,9,2,4,6,8,0};初始化后a[0]=1,a[1]=3,a[2]=5,a[3]=7,a[4]=9,a[5]=2,a[6]=4,a[7]=6,a[8]=8,a[9]=0可以只给一部分元素赋初
4、值如:inta[10]={0,1,2,3};3.使数组中全部元素值为0如:inta[10]={0,0,0,0,0,0,0,0,0,0};或inta[10]={0};4.对数组中全部元素赋初值时,可以不指定数组长度如:inta[5]={1,2,3,4,5};可以:inta[]={1,2,3,4,5};一维数组程序举例例:7.2用数组处理求Fibonacci数列main(){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%5==0)printf(“”)
5、;/*一行控制为5个数*/printf("%12d",f[i]);}}例7.3用起泡法对10个数排序(由小到大)思路:将相邻两个数比较,将小的调到前头若有6个数:9854209854208954208594208549208542908542091结果23458542058420548205428054208134结果2main(){inta[10];inti,j,t;for(i=0;i<10;i++)scanf("%d",&a[i]);printf("”);for(j=0;j<9;j++)for(i=0;i<9-j;i++)if(a[i]>a[i+1])
6、{t=a[i];a[i]=a[i+1];a[i+1]=t;}printf("thesortednumbers:”);for(i=0;i<10;i++)printf("%d",a[i]);}二维数组的定义和引用二维数组的定义一般形式:类型说明符数组名[常量表达式][常量表达式]例如:floata[3][4],b[5][10];注意:不能写成floata[3,4],b[5,10];C语言中,二维数组看作是一种特殊的一维数组:它的元素又是一个一维数组定义一个二维数组:floata[3][4];其实就是分配了一个由12个float型元素组成的3行×4列的方阵:a0
7、0a01a02a03a10a11a12a13a20a21a22a23floata[3][4]可以看成:a是一个一维数组,它包含三个元素a[0],a[1],a[2]。而这三个元素,分别代表3个长度为4的一维数组。a[0]---------a00a01a02a03aa[1]---------a10a11a12a13a[2]---------a20a21a22a23a00a01a02a03a10a11a12a13a20a21a22a23按行存储三个一维数组名二维数组的引用二维数组的元素的表示形式数组名[下标][下标]如:a[2][3],b[2-1][2*2],str
8、[i][j]下标可以是整型表达式数组元