资源描述:
《计算机二级C语言教学课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第九章数组为什么要使用数组唉,有这么多不同主题的书。在哪里才能找到有关中国音乐的书呢?文学类计算机类西方音乐类中国音乐类数组内存12065984数组的元素容器中保存的物品日常生活中的容器程序中的数组数组类型一维数组多维数组899077…示例:学员单门课程的成绩2-D,3-D,4-D739033458087学号科目01012示例:学员两门课程的成绩数组类型9.1一维数组的定义和数组元素的引用类型名数组名[数组的大小]例如:inta[8]定义了可以存放8个整形数据的数组a数组中的元素为:a[0]a[1]a[2]….a[7]。注意:数组元素的下标下界为0,上界为7,a[8]越界。#defi
2、nesize20floatarray[size+5];对数组元素的引用a[0],a[size+2],a[5*2],a[5>3],a[5<3]正确a[-1],a[size+5],a[5*6]错误9.2一维数组的初始化inta[8]={10,11,12,13,14,15,16,17}\a[0]~a[7]依次赋值。inta[8]={10,11}\不够就补零charb[5]={‘A’,’B’}\字符型不够补’ ’inta[8]={0}\数组元素全部为0inta[]={0,0,0,0}\通过赋值确定数组大小为4例9.1给数组循环赋值,然后正序、逆序输出。若改为从键盘上获取值。for
3、(i=0;i4、素输入值for(i=0;i<5;i++)printf(“%d”,*(a+k));\输出数组的各个元素(借助首地址)for(p=a,i=0;i<5)printf(“%d”,*p++);\输出数组的各个元素(借助指针变量)for(p=a,p-a<10;p++)printf(“%d”,*p)\输出数组的各个元素(借助指针变量)习题9.19.29.39.59.69.810001004100810121016a[0]a[1]a[4]a[3]a[2]a数组名为a[0]的地址表示数组元素a[i]的形式:a[i]*(a+i)*(p+i)若p=a;p[i]若p=a;p+1,a+1p+2,a+29
5、.4一维数组与函数1.数组元素作为实参(当成普通变量)2.数组名作为实参,传递数组的首地址。例借助另外一个函数给数组元素赋值main(){ints[100],k;arrin(s);\可以转化为arrin(&s[0]);}voidarrin(int*a)\可以换成voidarrin(inta[]){inti;for(i=0;i<100;i++)scanf(“%d”,a+i);}传递过程:a=s;s[0]s[1]s[2]s[99]…a9.5一维数组应用举例例9.4p1151.掌握随机数的设置方式。rand()%50产生0~49的随机数。2.掌握数组名作为实参的传递方式。3.掌握将一个
6、数组中的值操作后,放入另一个数组中的算法。例9.51.掌握数组名作为实参的传递方式。2.掌握数组的逆序输出算法。a[8];i=0,j=8-1;while(i7、i;for(i=k;i<10-1;i++)w[i]=w[i+1];程序举例:用起泡法对10个数排序(由小到大)。第一趟比较经过第一趟(共5次比较与交换)后,最大的数9已“沉底”。然后进行对余下的前面5个数第二趟比较,第二趟比较如果有n个数,则要进行n-1趟比较。在第1趟比较中要进行n-1次两两比较,在第j趟比较中要进行n-j次两两比较。#defineN10voidmain(){inta[N]={1,3,34,-3,4,67,77,12,-1,0}for(j