嵌入式Linux下C程序设计--05数组.ppt

嵌入式Linux下C程序设计--05数组.ppt

ID:48804682

大小:1.48 MB

页数:29页

时间:2020-01-26

嵌入式Linux下C程序设计--05数组.ppt_第1页
嵌入式Linux下C程序设计--05数组.ppt_第2页
嵌入式Linux下C程序设计--05数组.ppt_第3页
嵌入式Linux下C程序设计--05数组.ppt_第4页
嵌入式Linux下C程序设计--05数组.ppt_第5页
资源描述:

《嵌入式Linux下C程序设计--05数组.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、嵌入式Linux下C程序设计主讲:成宝宗内容提要:数组的基本概念一维数组的定义和引用二维数组的定义和引用字符数组的定义和引用基本概念一、回顾我们前面使用的数据类型都属于基本类型(整型、实型、字符型)其存储特点是:每个变量单独存储,亦称简单变量。如:x=‘a’;y1=0;y2=-2x;各变量之间独立存放,无任何联系。二、构造类型的基本概念在C语言中,变量类型除了前面已介绍的几种基本类型之外,还有另一些复杂类型,合称构造类型。构造类型:是由基本类型构造而成的。(如数组、结构体、共用体、枚举型)构造类型的每一个分量是一个变量

2、,它可以是一个简单类型或者构造类型构造类型的分量的使用方法和简单变量相同构造类型的分量占用相邻的存储空间对于构造类型的变量来说,重点是访问其分量的方法数组的概念计算机处理数据时,经常出现数据是用某种有序的形式进行组织的情况。例如:随温度而改变的实验数据按学号排列的成绩表这些数据具有共同的特征1.都是由若干个分量组成2.数据的诸分量都是同一类型(可取任何数据类型)3.这些分量是按一定顺序排列的数组:按序排列的具有相同类型的变量的集合用一符号名(数组名)来表示这一组数用数组名后跟下标唯一地确定数组中的元素数组的首地址、数组

3、元素的类型和个数(数组长度)一维数组一、定义一维数组类型名数组名1[exp],数组名2[exp],…其中:exp为常量表达式如:inta[5],b[43];charV[9];floatx[20],y[5W+1],m[4];(W是个符号常量)1、数组名命名规则和简单变量名相同2、数组名后只能是[]括起来的常量表达式(常量和符号常量)。此用法不对:a(10),x[n]3、常量表达式的值确定数组元素的个数(数据尺寸)二、一维数组的存储C编译程序是怎么管理一个数组呢?用连续的内存单元存放各个元素保存数组所需内存量与数组元素的基

4、本类型和数组大小有关总字节数=sizeof(基本类型)数组元素个数如上例:总字节数=25=10如:inta[5];其内存存储为:100410081010a[0]a[1]a[2]a[3]a[4]三、一维数组的应用数组必须先定义后引用C语言规定只能逐个引用数组元素,而不能一次引用整个数组引用一维数组元素的一般形式:数组名[下标]下标可以是整型常量或整型表达式下标从0开始最大下标值为数组元素个数减一例如:a[0]=a[5]+a[7]-a[23]数组元素的下标常用循环变量来控制四、一维数组的初始化1、在定义数组时对数组元素赋以

5、初值如:staticinta[4]={1,2,3,4};结果:a[0]=1,a[1]=2,或inta[4]={1,2,3,4};a[2]=3,a[3]=42、给一部分元素赋初值如:staticintb[10]={1,2};结果为:b[0]=1,b[1]=2,……b[9]=0注:对static数组不赋初值,系统会对所有数组元素自动赋以0值。3、若对全部数组元素赋初值时,可以不指定数组长度。如:intc[]={1,2,3,4,5};自动定义c数组长度为5注意:若被定义数组长度与提供初值的个数不相同,则数组长度不能省略。如:

6、inta[10]={1,2,3,4};#includeintmain(intargc,charargv[]){inta[5];intb[5]={1,2,3,4,5};intc[5]={1,2,3};intd[]={1,2,3,4,5};inti;for(i=0;i<5;i++)printf("%d",a[i]);printf("");for(i=0;i<5;i++)printf("%d",b[i]);printf("");for(i=0;i<5;i++)printf("%d",c[i]);pr

7、intf("");for(i=0;i<5;i++)printf("%d",d[i]);printf("");return0;}冒泡排序冒泡排序的基本思路是:第一趟排序对全部记录R1,R2,…,Rn自左向右顺次两两比较,若Rk大于Rk+1则交换Rk和Rk+1(k=1,2,…,n-1),第一趟排序完成后Rn成为序列中最大记录。第二趟排序对序列前n-1个记录采用同样的比较和交换方法,第二趟排序完成后Rn-1成为序列中仅比Rn小的次大的记录。第三趟排序对序列前n-2个记录采用同样处理方法。如此做下去,最多做n-1趟排序

8、,整个序列就排序完成。下图显示了在序列{35,22,16,19,22}上应用冒泡排序的过程。初始状态:35221619[22221619[2235第1趟:22161922[35]第2趟:161922[22[35]第3趟:1619[2222[35]第4趟:16[192222[35]冒泡排序算法C语言描述:Intmain(void){

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。