3、f(“input10integers:”);for(n=0;n<10;n++)scanf(“%d”,&x[n]);m=max(x,10);printf(“max=%d”,m);}数组10/8/20213《C语言程序设计》上节回顾(1)指针变量(2)变量的指针(3)inta=4,*s;s=&a;则,*s=?(4)值传递方式vs地址传递方式就是存放变量地址的变量。就是变量的地址。4#includevoidswap(int*px,int*py){inttemp;temp=*px;*px=*py;*py=temp;}voidmain
4、(){intx=7,y=11,*p1,*p2;p1=&x;p2=&y;printf(“x=%d,y=%d”,x,y);printf(“Swapped:”);swap(p1,p2);printf(“x=%d,y=%d”,x,y);}10/8/20214《C语言程序设计》上节回顾1、数组:2、数组定义:3、数组的引用:4、数组的初始化:5、冒泡排序:是指一个有序数据的集合,其中每个元素由统一的数组名和下标来唯一的表示。定义形式:类型说明符数组名[常量表达式]引用形式:数组名[下标]如:inta[5]={1,3,5,7,9};10/8/20215《C语
5、言程序设计》1、所谓的数组是指一个有序数据的集合,其中每个元素由统一的数组名和下标来唯一的表示。2、定义形式:类型说明符数组名[常量表达式]如:inta[5];表示一个含有5个整型元素的数组,其中a是数组名,元素是a[0],a[1],a[2],a[3],a[4]。下标数组长度数组名又代表数组首地址4.1.2一维数组的定义和引用10/8/20216《C语言程序设计》【说明】:①、数组名由用户定义,定义规则和变量名相同,②、常量表达式表示数组的元素个数,即数组长度。常量表达式中可以包括常量和符号常量,不能包含变量。③、数组的下标从0开始。④、和其他变量一
6、样,数组也必须先定义后使用。10/8/20217《C语言程序设计》判断一下数组表达方式正误?①inta(10);②数组a[10]中包括元素:a[0],a[1],…a[9],a[10]③intn;scanf(“%d”,&n);inta[n];④intn=10;inta[n+5];(×)(×)(×)(×)10/8/20218《C语言程序设计》3、一维数组的引用引用形式:数组名[下标]注意:①数组元素的下标可以是整型常量或整型表达式;②C语言规定只能逐个引用数组元素而不能一次引用整个数组;③对下标的引用不要超过下标的最大值。例:intx[10],n;for
7、(n=0;n<10;n++)scanf(“%d”,&x[n]);10/8/20219《C语言程序设计》4、一维数组的初始化(1)概念:在定义一维数组时对各元素指定初始值称为数组的初始化如:inta[5]={1,3,5,7,9};(2)方法:1)、在数组定义的同时对全体数组元素初始化。(可以省略数组长度)如:inta[]={1,2,3,4,5};2)、可以仅对一部分下标元素赋初值。(不能省略数组长度)如:inta[5]={1,2,3},则;a[0]=a[1]=a[2]=a[3]=a[4]=1200310/8/202110《C语言程序设计》3)、如果不对
8、某些下标元素赋初值,则对数值型元素均为0,对字符型元素均为空操作符’ ’.4)、如果想对所有的元素全部赋初