谭浩强C程序设计(第三版)_第7章_数组课件_第1页
谭浩强C程序设计(第三版)_第7章_数组课件_第2页
谭浩强C程序设计(第三版)_第7章_数组课件_第3页
谭浩强C程序设计(第三版)_第7章_数组课件_第4页
谭浩强C程序设计(第三版)_第7章_数组课件_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第七章,数组,1,学习交流PPT,问题:对组数进行排序,该组数如何保存? 这些个的数据应该如何存储才容易排序,1、8、8、8、8、8、8、8、1、1、1、1、1、1、1、8、8、8、8、8、8、8、8、8、8、8、8、8 3、学习交流PPT,主要内容,7.1一维度序列的定义和引用7.2二次元序列的定义和引用7.3字符数组,4、学习交流PPT,7.1一维度序列的定义和引用,习语言为这些个数据,提供了结构数据类型:序列。 数组是具有相同数据类型的数据的定径套的有序集合。 1级学生的学习成绩1行文字1行列这些个的数据特征是:1.具有相同数据类型2 .使用中需要保留原始数据5、学习交流PPT、1 .一

2、维度排列的定义形式是:类型指定符数组名常数式示例: int a10; 这意味着定义了名为a的整形数组,该数组有10个元素。 7.1.1维数组的定义、说明:1.数组名命名规则与变量名称相同,遵循标识符命名规则。 6、学习通信PPT,2 .定义数组时,必须指定数组中元素的个数,方括号中的常数表达式用于表示元素的个数,即数组长度。 3 .常数表达式可以包含常数和符号常数,但不能包含变量。 也就是说,习语言不能动态定义对数组的大小。 也就是说,数组的大小与plume计程仪程序执行中的变量的值无关。 交流PPT,例如int n; scanf(“%d,”,数组描述中常见的其他错误:浮点a 0; 数组大小为

3、0无意义*/int b(2)(3); /*圆括号*/int k,ak不能使用。 /*数组大小*/、8、学习交流PPT、2.1维数组向内存的存储不能用变量说明。 关于每数据元素的占有字节数,基本类型的字节数1元素为4字节,一维阵列: float mark100; 9、学习交流PPT,注意:定义数组时使用的“数组名常量表达式”和引用数组元素时使用的“数组名下标”不同。 例如int a10; t=a6;7.1.2维数组元素的引用、1 .数组元素的引用方法数组名的下标可以是整数常数或整数表达式。 例如, a0=a5a7- a2* 3,10,学习交流PPT,2 .由一维度序列元素引用的方块斯坦共和国,#

4、include void main() int i,a10; for (i=0; i=0; I- )打印机(% d,ai ); printf(n ); 然后按一下。 执行结果为987654310 plume计程仪程序将A0a9的值设为09,按相反顺序输出。11、学习交流PPT,实现数组元素初始化的方法:1 .在定义数组时给予数组元素初始值。 例如,3360英寸a 10=0、1、2、3、4、5、6、7、8、9。 请将数组元素的初始值用一对括号括起来。 经过上述定义和初始化,获得了a0=0、a1=1、a2=2、a3=3、a4=4、a5=5、a6=6、a7=7和a8=8。 7.1.3一维度阵列的初始

5、化,12,学习AC PPT,3 .如果想将一个阵列中的所有元素值都设为0,可以写成: inta10=0,0,0,0,0,或int a10=0; 无法写作: int a10=0*10; 2 .只能为某些元素指定值。 例如,英寸a 10=0、1、2、3、4; 定义a数组有10个元素,但括号内只指定了5个初始值。 也就是说,只有前5个元素被分配了初始值,最后5个元素值为0。 13、学习通信PPT,4 .对所有数组元素给予初始值的情况下,由于数据个数已经决定,所以也可以不指定数组长度。 例如,英寸a5=1、2、3、4、5; 也可以写成inta=1、2、3、4、5。 inta10=1、2、3、4、5;

6、只初始化前五个元素,后五个元素为0。 14、学习交流PPT,例7-1 :排列处理,解Fibonacci数列。普计程仪拉姆斯坦共和国: #include void main() int i; int f20=1,1、1、1; Fibonacci数列的公式: a1=a2=1an=an-1 an-2即33601、1、2、3、5、8、13、7.1.4维已知的i20; 接口=接口- 2接口- 1。 for(i=0; i20; if (I %5=0)打印机(n ); printf(d,fi) /*For循环结束*/* plum结束*/,执行结果如下: 123513213458914233761098715

7、9725841816765,if语句为,16,学习交流PPT,plum示例2 :服务器经过最初的回合(修正5次的比较和交换),最大的数9“沉底”。 然后,第2次比较侑下前面的5个个数,学习17,交流PPT,如果有n个个数,则进行n-1次比较。 在第1匝的比较中进行n-1次的两个比较,在第j匝的比较中进行n-j次的两个比较。 18、学习交流PPT、项目群程序流程图如下:19、学习交流PPT、项目群示例7.3:#包括语音主() int a10; 英特尔、j、t; 打印机(输入10编号: n ); for (i=0; i10; I )扫描(% d )、20、学习交流PPT、for(j=0; jai

8、1) t=ai; ai=ai 1; ai 1=t; 打印号码(: n ); for(i=0; i10; I )打印(% d,ai ); printf(n) /*计程仪程序结束*/、程序计程仪程序的执行结果如下: input 10 numbers 33601041265-76100-45123 thesortednumbers 3360-76-45041265100123。 例如,定义a为34(3行4列)的数组,b为510(5行10列)的数组。 如下:浮点a 34、b510; 不能写成浮点a 3、4、4、b5、10。 22、学习交流PPT,注意:二维数组可视为特殊的一维数组。 它的元素是一维数组

9、。 例如,可以将a视为具有三个元素a0、a1和a2的一维数组,每个元素都是包含四个元素的一维数组。23、学习交流PPT、7.2.1二次元阵列的定义,二次元阵列中元素在存储器中的排列顺序表示按行存储,即按顺序存储第一行元素,存储下一行元素,一维度阵列存储在存储器中,下图表示存储在a34阵列中的顺序, 24 b 00 b 01 b 02 b 10 b 12 b 20 b 21 b 22,3000 h 3002 h 3006 h 3008 h 300 ch 300 e h 3010 h,例如,整数序列b 33=1,2,3,4,5,123,456,789,25,学习交流PPT,问题:二次元注意:多维数

10、组元素在内存中的排列顺序:第一个维的下标变化最快,最右边的下标变化最快。7.2.1二次元阵列的定义、26、学习交流PPT、三次元阵列的元素阵列顺序、27、学习交流PPT、二次元阵列元素的表示形式为:数组名下标例如: a23下标可以是整数式,例如可以是a2-12*2-1,/x定义a为34的阵列*/a34=3; 的双曲馀弦值。 使用数组元素时,请注意下标的值在定义的数组大小范围内。29、学习交流PPT,可通过以下4种方法初始化二次元阵列:数据型数组名常数式1常数式2初始化数据、分理处将初始值分配给二维阵列。 例如,inta34=1、2、3、4、5、6、7、8、9、10、11、12。可将所有数据写入

11、大括号内,按排列顺序向各元素分配初始值。 例如,inta34=1、2、3、4、5、6、7、8、9、10、11、12。 7.2.3二次元序列的引用,30,学习交流PPT,可以给一些元素初始值。 例如: inta 34=1,5,9; 也可以为各行元素分配初始值,例如,1 0 0 0 5 0 0 0 9 0 0 0、inta34=1、0、6、0、0、11等。 10000000 11、10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

12、000例如: inta34=1、5、6;31、学习通信PPT .如果给所有元素赋予初始值,则在定义数组时可以不指定第一维的长度,但不能省略第二维的长度。 例如,inta34=1、2、3、4、5、6、7、8、9、10、11、12。 这等效于inta4=1、2、3、4、5、6、7、8、9、10、11、12。 的双曲馀弦值。 在定义时,可以将初始值仅分配给某些元素,而忽略第一维的长度,但必须分配初始值。 例如: inta4=0、0、3、0、10;0030000010032、学习交流PPT、7.2.4二次元排列计程仪程序例、例7.4交换一个二次元排列行和列元素,存储在另一个二次元排列中。 #inclu

13、devoidmain()inta23=1、2、3、4、5、6。 int b32,I,j; 打印机(阵列a : n ); for (i=0; i=1; (j=0; j=2; 学习交流PPT,打印(,aij ); bji=aij; printf(n ); 打印机(阵列b 3360 n ); for (i=0; i=2; (j=0; j=1; 打印,打印。 printf(n ); /*项目群结束*/*执行结果具有arraya336012456arrayb336014256、34、学习交流PPT、例子7.5:或34的矩阵,对项目群中值最大的要素的值及其位置的N-S程序流程图表所示的修正方法如下学习堆互

14、联数据PPT、项目计程仪定: #包括卷主() int I、j、行=0、列=0、最大; inta34=1、2、3、4、9、8、7、6、-10、10、-5、2。 最大值=a 00; 36、交流PPT、for (i=0; IMAX )最大值=AIJ; 行=I; 列=j; 打印(max=% d、row=%d、列=% dn、最大、行、列); /* plum计程仪结束*/、37、交流PPT、7.3字符数组、7.3.1字符数组的定义、定义方法与前面介绍的方法类似。 例如: char c10; c0=I; c1=; c2=a; c3=m; c4=; c5=h; c6=a; c7=p; c8=p; c9=y;

15、38、可以学习交流PPT,初始化字符数组,并为数组中的每个元素分配字符。 例如,学习char c10=I,a,m,h,a,p,p,y,7.3.2字符数组的初始化,39,交流PPT,如果初始值个数比排列长度小,则仅将这些字符分配给组,40,学习交流PPT,提供的初始值个数是预先确定的卡片c=I、a、m、h、a、p、y; 数组c的长度自动设定为10。 定义和初始化学习交流PPT、查询诊断55=*、*、*、*、*、*、*、*、*、*、*、*、*、*、*、*、*、*、*、*、*、二维字符,计划包括查询主机()查询c 10=I、a、m、a、b、o、y; 英特尔; for(i=0; i10; I )打印(% c,ci ); printf(n ); 学习运行结果:交流PPT、交流PPT,例如7.7输出钻石图形,然后输出钻石图形。 for (i=0; i5; (j=0; j5; j )打印机(% c,日记ij ); printf(n ); 为了学习运行结果* * * * * * * *、44、交流PPT、7.3.4字符串和字符串结束标志,测量字符串的实际长度,习语言规定了“字符串结束标志”0。 的双曲馀弦值。 字符数组不需要最后一个字符为0。 此外,也可以不包含0。 例如,char c5=C、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论