网站大量收购闲置独家精品文档,联系QQ:2885784924

C语言程序设计课件 数组.pptxVIP

C语言程序设计课件 数组.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共63页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言编程课件数组 2/66 一维数组 二维数组 向函数传递一维数组 排序算法 向函数传递二维数组 主要内容 3/66 一维数组 二维数组 向函数传递一维数组 排序算法 向函数传递二维数组 主要内容 4/28 数组的引出读入100人的成绩,然后求平均成绩定义100个不同名整型变量,使用多个scanf() 语句进行读入int score1,score2,…score100; scanf(%d,score1);scanf(%d,score2);......sum = score1+score2+…score100;avg = sum /100; 一维数组 5/28 数组一组具有相同类型的变量的集合使用数组名来标识这组相同的数据构成数组的每个数据项称为数组元素 一维数组的定义存储类型 数据类型 数组名 [正整数]int score[100]; 一维数组 6/66 一维数组的定义数组大小必须是值为正的常量,不能为变量一旦定义,不能改变大小数组大小可以用宏来定义,以适应未来可能的变化#define SIZE 10 int a[SIZE]; 一维数组 7/28 一维数组的初始化数组定义后如果不给元素初始值,则其初始值将会是随机数,直接使用会产生意外的后果,因此使用前必须进行初始化使用花括号包含所有元素,使用逗号分隔元素如果数组定义的同时给定所有数组元素,则元素数量可以省略 int a[5] = { 12, 34, 56 ,78 ,9 };int a[] = { 11, 22, 33, 44, 55 }; 一维数组 8/28 一维数组的初始化如果给定的初始值数量少于定义的元素数量,则其余元素默认为0int a[5] = { 0 }; //所有元素全部为0 一维数组int a[5] = { 1,2,3,4 }; //a[4] = 0 9/66 一维数组的使用使用数组下标(数组元素的索引)访问数组元素数组下标(index)都是从0开始使用a[0]、a[1]、a[2]、……、a[9]这样的形式访问每个元素下标既可是常量,也可以是整型表达式,允许快速随机访问,如:a[i]可以像使用普通变量一样使用它们 一维数组a[ i++ ] = 0; 10/28 一维数组的存储 系统为数组分配一块连续的存储空间,大小为: sizeof(数据类型) * 数组元素数量数组名表示数组的首地址,亦即第一个数组元素的地址数组名是一个常量,不可以改变 一维数组a[9]a[8]a[7] a[1]a[0]…int a[10];a=1000;a[5] = ?a[5] = a + 5*4=1020 11/66main(){ int a[4] = {1,2,3,4}, b[4]; b = a; }解决方法方法1:逐个元素赋值 b[0]=a[0]; b[1]=a[1]; b[2]=a[2]; b[3]=a[3];方法2:通过循环赋值 int i; for(i=0;i4;i++) { b[i] = a[i]; }原因:数组名表示数组的首地址,其值不可改变! 一维数组 如何使两个数组的值相等? 12/66示例1:显示用户输入的月份拥有的天数(不包括闰年的月份) 一维数组 13/28int score[100] ,i, sum = 0;float avg;for(i = 0; i 100; i++) { scanf(“%d”, score[i] ); sum = sum + score[i] ;}avg = sum /SIZE; 一维数组示例2:使用一维数组求平均成绩 14/66下标越界是大忌!a[n-1]是数组的最后一个元素编译程序不检查是否越界下标越界,将访问数组以外的空间那里的数据是未知的,不受我们掌控,可能带来严重后果 一维数组 15/66运行程序或单步执行观察变量变化情况可以看到,变量c和a的值因数组越界而被悄悄破坏了b[0]b[1]b[2]b[3]b[4]b[5]b[6]b[7]b[8]b[9]ca12345612078910114044484c5054585c6064686c 一维数组 16/66 一维数组 二维数组 向函数传递一维数组 排序算法 向函数传递二维数组 主要内容 17/66二维数组的定义存储类型 数据类型 数组名 [行数] [列数]第二维“列数”不能省略用a[i][j]表示二维数组第i行,第j列的元素值int score[3][4]; 二维数组 18/66 二维数组的存储 一个两行三列a[2][3]的数组的逻辑存储结构 二维数组的存储空间大小:数据类型大小*一维数组元素数量*二维数组元素数量a

您可能关注的文档

文档评论(0)

半路风景 + 关注
实名认证
文档贡献者

计算机、软件教育工作者,IT行业资深工作经验

1亿VIP精品文档

相关文档