资源描述:
《第7章 一维数组和二维数组.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章一维数组和二维数组一、一维数组1、一维数组的定义2、一维数组元素的引用3、一维数组的初始化二、二维数组1、二维数组的定义和引用2、二维数组的初始化数组是数目固定,类型相同的若干变量的有序集合。数组中的每一个数称为数组元素,数组中的每一个元素都属于同一个数据类型。一、一维数组1、一维数组的定义定义的格式:类型说明符数组名[整常量表达式];如:intscore[80];说明:类型说明符:数组元素的类型。数组名:即数组的名称,其命名方法同变量名。整常量表达式:表明数组的大小,即数组元素的个数。例:floatfar
2、r[30];或:#defineN10inta[N];但注意:intn=10;intarr[n];引用方式:数组名[下标]如:inta[5];a[0]=1;printf(“%d”,a[0]);2、一维数组元素的引用把a[0]的变量赋值为1a数组中有5个元素,分别是:a[0],a[1],a[2],a[3],a[4]显示a[0]的值注意:下标可以是整型常量或整型表达式例如:inti=0,a[5];a[i]=10;引用a[5]是错误的一维数组元素引用的规定:数组必须先定义后使用。数组元素只能逐个被引用,不能一次引用整个数
3、组。对数组中所有元素逐个引用时,通常可使用循环结构。P132例7.1:#includevoidmain(){inti,a[10];for(i=0;i<=9;i++)a[i]=i;for(i=9;i>=0;i--)printf(“%d,”,a[i]);}for(i=0;i<=9;i++)scanf(“%d”,&a[i]);3、一维数组在内存中的存放方式:数组定义以后,编译系统(计算机)将在内存中开辟一块连续的存储单元用于存放数组元素,数组名表示存储单元的首地址,存储单元的大小由数组的类型和数组的大
4、小决定。例如inta[5];aa[4]a[3]a[2]a[1]a[0]2字节2字节2字节2字节2字节数组的初始化:定义数组时对数组元素赋以初值。4、一维数组的初始化格式:类型符数组名[表达式]={初值表};给全部元素赋初值。例inta[8]={0,1,2,3,4,5,6,7};a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]01234567给部分元素赋初值。例inta[8]={0,1,2,3,4};a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]01234000给全部元素赋初值时可
5、不指定数组的长度。例inta[]={0,1,2,3,4,5,6,7};a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]01234567例7.2用数组处理Fabonacci数列,输出前20个数。#includevoidmain(){inti;intf[20]={1,1};for(i=2;i<20;i++)f[i]=f[i-1]+f[i-2];for(i=0;i<20;i++){if(i%5==0)printf(“”);printf(“%12d”,f[i]);}}例7.3用起泡
6、法将任意十个数按由小到大的方式排序。例:第0趟682931682931628931628931628931628391628391628319628319628319268319268319268319263819263819263189263189第1趟231689第2趟213689第3趟123689第4趟682931原数思路:将相邻两个数进行比较,使小数在前,大数在后。分析说明:1)相邻两数比较:a[j]>a[j+1]2)第0趟:6个数,j=0~4;比较5次,找出最大数,放在最后。3)第1趟:5个数,j=0~
7、3;比较4次,找出次大数,放在最大数前。4)余此类推,经过5趟,将6个数排序输出。所以:外循环为i=0~4,内循环为:j=0~4-i;即:for(i=0;i<5;i++)for(j=0;j<5–i;j++)if(a[j]>a[j+1]){a[j]←→a[j+1]}程序:voidmain(){inta[10],i,j,k;printf("请任意输入10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("");for(i=0;i<9;i++)for(j=0;j<
8、9-i;j++)if(a[j]>a[j+1]){k=a[j];a[j]=a[j+1];a[j+1]=k;}printf("按由小到大的顺序输出10个整数是:");for(i=0;i<10;i++)printf(“%d,",a[i]);printf(”b。”);}二、二维数组1、二维数组的定义和引用二维数组的定义格式:类型说明符数组名[整常量表达式1][整常量表达