欢迎来到天天文库
浏览记录
ID:57056788
大小:295.50 KB
页数:34页
时间:2020-07-30
《c程序设计 第7章 数组课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、重点:一维数组的定义和引用二维数组的定义和引用字符数组第7章数组C语言构造类型的数据,它们有:数组类型、结构体类型、共用体。构造类型数据是由基本类型数据按一定规则组成的。数组是有序数据的集合。数组中的每一个元素都属于同一个数据类型。用一个统一的数组名和下标来唯一地确定数组中的元素。7.1一维数组的定义和引用7.1.1一维数组的定义一、定义类型关键字数组名[常数表达式];标识符数组体积二、数组元素数组名[下标]下界为0,上界为常数表达式说明:(1)数组名定名规则和变量名相同。(2)数组名后是用方括
2、弧括起来(3)常量表达式表示元素的个数。a[10]中,10表示a数组有10个元素,a[0],a[1],a[2],a[3],……,a[8],a[9]。(4)常量表达式中可以包括常量和符号常量,不能包含变量。例7.1数组元素的引用。s=a1+a2+……+a10main(){inti,a[10];for(i=0;i<=9;i++)a[i]=i;for(i=9;i>=0;i--)printf("%d",a[i]);}7.1.3一维数组的初始化在定义数组时对数组元素赋以初值。inta[10]={0,1
3、,2,3,4,5,6,7,8,9};(2)可以只给一部分元素赋值。inta[10]={0,1,2,3,4};(3)全部数组元素赋初值时,可不要数组长度inta[5]={1,2,3,4,5};可以写成:inta[]={1,2,3,4,5};7.1.4一维数组程序举例例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)pr
4、intf("\n");printf("%12d",f[i]);}}例7.3已知一组数(n个),找出其中最大者。main(){inti,n,j;floata[20],b;scanf(“%d”,&n);for(i=0;i5、oata[10],t;inti,j;for(i=0;i<10;i++)scanf(“%f”,&a[i]);for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]6、组,b为5×10(5行10列)的数组。下标:0-2,0-3按行存放元素:数组名[下标1][下标2]7.2二维数组的定义和引用图7.5图7.47.2.3二维数组的初始化(1)分行给二维数组赋初值。如inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};(2)将所有数据写在一个花括弧内,按数组行排列的顺序对各元素赋初值。inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};(3)可以对部分元素赋初值,其它初值为0。inta[3][4]=7、{{1},{5},{9}};/*第1列*/inta[3][4]={{1},{0,6},{0,0,11}};inta[3][4]={{1},{5,6}};inta[3][4]={{1},{},{9}};(4)如果对全部元素都赋初值(即提供全部初始数据),则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};与下面的定义等价:inta[][4]={1,2,3,4,5,6,7,8,9,10,11,12};(5)在定义8、时也可以只对部分元素赋初值而省略第一维的长度,但应分行赋初值。inta[][4]={{0,0,3},{},{0,10}};例7.4将一个二维数组行和列元素互换,存到另一个二维数组中。例如:a=123b=144562536main(){inta[2][3]={{1,2,3},{4,5,6}};intb[3][2],i,j;printf("arraya:\n");for(i=0;i<=1;i++){for(j=0;j<=2;j++){printf(“%5d”,a[i][j]);b[j][i]=a[i
5、oata[10],t;inti,j;for(i=0;i<10;i++)scanf(“%f”,&a[i]);for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]6、组,b为5×10(5行10列)的数组。下标:0-2,0-3按行存放元素:数组名[下标1][下标2]7.2二维数组的定义和引用图7.5图7.47.2.3二维数组的初始化(1)分行给二维数组赋初值。如inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};(2)将所有数据写在一个花括弧内,按数组行排列的顺序对各元素赋初值。inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};(3)可以对部分元素赋初值,其它初值为0。inta[3][4]=7、{{1},{5},{9}};/*第1列*/inta[3][4]={{1},{0,6},{0,0,11}};inta[3][4]={{1},{5,6}};inta[3][4]={{1},{},{9}};(4)如果对全部元素都赋初值(即提供全部初始数据),则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};与下面的定义等价:inta[][4]={1,2,3,4,5,6,7,8,9,10,11,12};(5)在定义8、时也可以只对部分元素赋初值而省略第一维的长度,但应分行赋初值。inta[][4]={{0,0,3},{},{0,10}};例7.4将一个二维数组行和列元素互换,存到另一个二维数组中。例如:a=123b=144562536main(){inta[2][3]={{1,2,3},{4,5,6}};intb[3][2],i,j;printf("arraya:\n");for(i=0;i<=1;i++){for(j=0;j<=2;j++){printf(“%5d”,a[i][j]);b[j][i]=a[i
6、组,b为5×10(5行10列)的数组。下标:0-2,0-3按行存放元素:数组名[下标1][下标2]7.2二维数组的定义和引用图7.5图7.47.2.3二维数组的初始化(1)分行给二维数组赋初值。如inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};(2)将所有数据写在一个花括弧内,按数组行排列的顺序对各元素赋初值。inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};(3)可以对部分元素赋初值,其它初值为0。inta[3][4]=
7、{{1},{5},{9}};/*第1列*/inta[3][4]={{1},{0,6},{0,0,11}};inta[3][4]={{1},{5,6}};inta[3][4]={{1},{},{9}};(4)如果对全部元素都赋初值(即提供全部初始数据),则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};与下面的定义等价:inta[][4]={1,2,3,4,5,6,7,8,9,10,11,12};(5)在定义
8、时也可以只对部分元素赋初值而省略第一维的长度,但应分行赋初值。inta[][4]={{0,0,3},{},{0,10}};例7.4将一个二维数组行和列元素互换,存到另一个二维数组中。例如:a=123b=144562536main(){inta[2][3]={{1,2,3},{4,5,6}};intb[3][2],i,j;printf("arraya:\n");for(i=0;i<=1;i++){for(j=0;j<=2;j++){printf(“%5d”,a[i][j]);b[j][i]=a[i
此文档下载收益归作者所有