C语言第7讲-第4章数组.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言第7讲-第4章数组

主要内容 一维数组的定义和引用 二维数组的定义和引用 字符数组 数组—问题分析 假设有n个学生,n个学生的学习成绩按学号顺序排列。现需要解决以下问题: 一维数组的定义 类型说明符 数组名[常量表达式]; 例如:  int a[10]; 说明: (1) 数组名定名规则和变量名相同,遵循标识符定名规则; (2) 数组名后是用方括弧括起来的常量表达式,必须明确声明数组长度; 说明(续) (3) 常量表达式表示元素的个数如10,即数组长度。注意不能使用数组元素a[10]。 (4) C不允许对数组的大小作动态定义, int n; scanf(%d,n); int a[n]; 一维数组元素的引用 数组必须先定义,然后使用。 C语言规定只能逐个引用数组元素而不能一次引用整个数组。 数组元素的表示形式为数组名[下标] 下标可以是整型常量或整型表达式。例如: a[0]=a[5]+a[7]-a[2*3] 一维数组元素的初始化(1) (1) 在定义数组时对数组元素赋以初值。 例如:int a[10]={0,1,2,3,4,5,6,7,8,9}; (2) 可以只给一部分元素赋值。 例如:int a[10]={0,1,2,3,4}; 定义a数组有10个元素,但花括弧内只提供5个初值,这表示只给前面5个元素赋初值,后5个元素值为0。 一维数组元素的初始化(2) (3) 如果想使一个数组中全部元素值为0,可以写成  int a[10]={0}; 不能写成 int a[10]={0*10}; (4) 在对全部数组元素赋初值时,可以不指定数组长度。 例如:int a[5]={1,2,3,4,5}; 或 int a[]={1,2,3,4,5} 但若被定义的数组长度与提供初值的个数不相同,则数组长度不能省略。 例 用数组来处理求fibonacci数列问题。 例 用起泡法对10个数排序(由小到大)。 起泡法(又称冒泡法)的思路是:将相邻两个数比较,将小的交换到前头。 二维数组定义 类型说明符 数组名[常量表达式][常量表达式] float a[3][4],b [5][10] ; 定义a为3行4列的数组,b为5行10列的数组。注意不能写成float a[3,4]; 把二维数组看作是一种特殊的一维数组:它的元素又是一个一维数组。例如,可以把a看作是一个一维数组,它有3个元素:a [0] 、a [1] 、 a [2] ,每个元素又是一个包含4个元素的一维数组。 二维数组的存储 二维数组从概念上可以理解为行-列矩阵,但是存储器是一维的,也就是二维数组在内存中是连续的一块区域,二维数组需要按照一定规则转换成一维连续的形式然后存储在内存中,C语言按行存放,如int a[2][2] 存放为: 二维数组的引用 二维数组的元素的表示形式为 数组名[下标][下标] 如a [3][4] 。 下标可以是整型表达式, 如a[2-1][2*2-1]。不要写成a[2,3],a[2-1,2*2-1]形式。 数组元素可以出现在表达式中,也可以被赋值,例如:b [1][2] =a [2][3] /2 数组范围 在使用数组元素时,应该注意下标值应在已定义的数组大小的范围内,C语言的数组下标是从0开始的。 int a[3][4]; …… a [3][4] =3;a [2][4]=6; a [3][1]=9;全错 实际应用中特别要注意循环条件的末尾值 二维数组—初始化 1 对全部元素赋初值,例如: int d[3][3]={{1,2,3},{4,5,6,},{7,8,9}} int d[3][3]={1,2,3,4,5,6,7,8,9}; 2 对部分元素初始化,例如: int d[3][3]={{1,2},{4,5},{7,8}}; int d[2][3]={{1,2}, {3,4}}; int d[3][3]={1,2,3,4,5}; 二维数组—初始化 3 在对全部元素赋初值的情况下,可以省略第一维大小。 int d[ ][3]={{1,2,3},{4,5},{6,7}}; int d[ ][3]={1,2,3,4,5,6,7}; 例 将一个二维数组行和列元素互换,存到另一个二维数组中。例如: a=1 2 3 b=1 4 4 5 6 2 5 3 6 例 有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。 字符数组 字符数组—问题的提出 字符数组—问题分析 要完成从键盘上输入一字符串,并统计该字符串的长度。需要解决: 字符数组—概念及定义

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档