资源描述:
《 组织同类型数据解析ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言程序的数据结构基础第2篇数据结构+算法=程序C语言提供的数据持久化技术,用来把数据存储在外部存储器上一种基于变量地址的派生数据类型一种描述一类对象属性的构造型数据类型一种用来组织同类型数据的构造型数据类型数组结构体指针文件这一篇主要介绍C语言提供的4种构造型数据类型:顺序地组织同类型数据——数组类型数组是一种用于组织同类型数据的构造型数据类型,其特征是类型相同、顺序存储、随机访问、空间连续。第5单元5.1数组基础数组定义、数组初始化、数组元素引用5.1.1扑克牌的表示与数组定义1.用数组存储扑克牌101~
2、113,分别表示红桃A~红桃K;201~213,分别表示方块A~方块K;301~313,分别表示梅花A~梅花K;401~413,分别表示黑桃A~黑桃K;501、502,分别表示大王、小王。这样,54张扑克牌可以用一个int类型数组card表示和存储,而每个元素以其在数组中下标(subscript)或索引(index)区分,如card[0]、card[1]、card[2]、…、card[53]分别表示54张扑克牌。2.数组的定义数组定义的一般格式是数组用一个名字存储多个同类型数据。使用数组前,必须先进行定义。存储
3、扑克的数组card可以用如下声明定义。intcard[54];数组类型数组名[数组长度];这个声明语句定义了一个名字为card的数组;它有54个元素——下标变量,称数组大小为54;并且每个元素都是int类型,称这是一个int类型的数组。3.数组初始化数组card的初始化语句为intcard[54]={101,102,103,104,105,106,107,108,109,110,111,112,113,201,202,203,204,205,206,207,208,209,210,211,212,213,301
4、,302,303,304,305,306,307,308,309,310,311,312,313,401,402,403,404,405,406,407,408,409,410,411,412,413,501,502};注1:C语言允许对数组中左面的部分元素初始化。例如,可以写成intcard[54]={101,102};注2:对于将全部元素都初始化时,在声明语句中可以省略数组长度。例如intcard[]={101,102,103,104,105,106,107,108,109,110,111,112,113,
5、201,202,203,204,205,206,207,208,209,210,211,212,213,301,302,303,304,305,306,307,308,309,310,311,312,313,401,402,403,404,405,406,407,408,409,410,411,412,413,501,502};这样,只有前两个元素被初始化,后面元素的值还是不确定的只对部分元素初始化时,不可以省略数组大小。4.数组的特点各元素具有相同类型。这个类型称为数组基类型。元素之间具有顺序性——逻辑上的顺
6、序性和物理存储上的顺序性,并用下标表示这种顺序关系。(1)(2)一个数组的所有元素占有一片连续的内存空间。(3)数组的元素可以用下标随机访问。注意:下标从0开始(4)5.1.2扑克牌查找:数组元素引用与数组名参数1.数组元素的引用数组名加上括在方括号中的下标。例如card[0]、card[1]、card[2]、card[3]、…的语法意义,就相当于一组变量,称为下标变量。用下标变量可以随机地访问数组中的任何一个元素,对其赋值或引用其值。代码5.1用赋值方法给定每张扑克牌的值,输出各张扑克牌的值并搜索一张牌。#i
7、ncludeintmain(void){intcard[54],i,j,k,x,flag=-1;/*数组元素赋值*/for(i=0;i<4;i++)/*在重复结构中给前52个元素赋值*/for(j=0;j<13;j++)card[i*13+j]=100*(i+1)+j+1;card[52]=501;/*给最后两张扑克牌赋值*/card[53]=502;/*输出各张牌的值*/for(i=0;i<=53;i++){printf("card[%d]=%d,",i,card[i]);}/*搜索一张扑克
8、牌*/printf("输入要查找的牌:");scanf(“%d”,&x);for(k=0;k<54;k++)/*搜索为x的牌*/if(card[k]==x){flag=k;break;}if(flag==-1)printf("找不到要找的牌!");elseprintf("这张牌是第%d张牌。",k);return0;}2.用函数实现数组操作功能与数组名参数代码5.3扑克牌搜