资源描述:
《C语言学习 第七章 数组课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第七章数组2021/8/81本章教学内容、要求内容1、一维数组和多维数组的定义、排列、初始化和引用;2、字符数组和字符串、字符串处理函数;3、利用数组进行相关程序的设计。要求1、了解数组的概念;2、掌握数组的用法及相关程序的设计方法。2重点与难点重点1.数组的应用;2.程序的设计方法。难点程序设计方法3数组数组是一个由若干同类型变量组成的集合,引用这些变量时可用同一名字。数组均由连续的存储单元组成,最低地址对应于数组的第一个元素,最高地址对应于最后一个元素。数组可以是一维的,也可以是二维的或多维的。4§7.1 一维数组的定义和引用
2、如果一个数组只有一个下标,称为一维数组一、一维数组的定义〈类型〉〈数组名〉[〈常量表达式〉];例如,inta[10],b[20];说明:(1)<数组名>:类似于<变量名>;(2)不能用圆括号()代替方括号[];(3)常量表达式:元素的个数,即数组长度;常量表达式(4)数组元素的下标及排列次序:a[0],a[1],…,a[9]5A数组元素的下标及在内存中的排列次序值元素序号??????????a[9]a[8]a[7]a[6]a[5]a[4]a[3]a[2]a[1]a[0]10987654321B数组元素的下标及在内存中的排列次序值元
3、素序号???????b[19]……b[5]b[4]b[3]b[2]b[1]b[0]20654321…………inta[10],b[20];6?<数组名> [<表达式、下标>](1)数组必须先定义,然后使用。(2)只能逐个引用数组元素而不能一次引用整个数组;[[例7-1]P82使a[0]到a[9]的值为0~9,然后按逆序输出。main( ){inti,a[10];for(i=0;i<=9;i++)a[i]=i;for(i=9;i>=0;i--)printf("%d",a[i]);}i0i??????????98765432100123
4、456789该程序段执行过程:a[i]123456789运行结果如下:9876543210(2)i<=9?(1)i=0;(3)a[i]=i等价于a[0]=0(4)i++;(5)i<=9?(6)a[i]=i等价于a[1]=1以此类推直到i==10退出循环。二、一维数组的引用7(1)在定义的同时整个数组置初值:如:staticinta[10]={5,3,4,6,8,7,9,1,2,6}规定:只能对静态数组(static)和外部数组(extern)进行初始化,即在编译阶段使数组得到初值,这样可以提高程序的运行速度(3)可对数组前几个置初
5、值:如:staticinta[10]={5,3,4}A数组元素在内存中的置值值元素序号6219786435a[9]a[8]a[7]a[6]a[5]a[4]a[3]a[2]a[1]a[0]10987654321(4)置全0:staticinta[10]即可,系统自动会置全0。(2)若对数组全部元素都置初值时,可以不指定数组的长度。如:staticinta[]={5,3,4,6,8,7,9,1,2,6}A数组元素在内存中的置值值元素序号0000000435a[9]a[8]a[7]a[6]a[5]a[4]a[3]a[2]a[1]a[0]
6、10987654321A数组元素在内存中的置值值元素序号0000000000a[9]a[8]a[7]a[6]a[5]a[4]a[3]a[2]a[1]a[0]10987654321三、一维数组初始化8四、一维数组的举例回顾:例求Fibonacci数列前40个数main(){inti,f1,f2;f1=f2=1;for(i=2;i<20;i++){printf("%d,%d",f1,f2);f1=f1+f2;f2=f1+f2;if(i%2==0)printf("");}printf("");}f1=f1+f2输出f1,f2
7、f2=f1+f2输出"换行"输出"换行"倍数?i是2的for(i=2;i<20;i++)置f1,f2为1TF9四、一维数组的举例[例7-2]例7.2利用数组求Fibonacci数列前20个main(){inti;staticintf[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("%8d",f[i]);}printf("");}输出fi输出"换行"输出"换行"倍数?i是5的for
8、(i=0;i<20;i++)fi←fi-1+fi-2for(i=2;i<20;i++)置f[0],f[1]为1TF10四、一维数组的举例[例7-3]顺序查找假定把一列数放在一维数组a中,待查找的数放在x中,把x与a数组中的元素从头到尾一一进行比较