C语言程序设计程-第5章.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语言程序设计教程 主编 张永 胡敏 中国水利水电出版社 第5章 数组 主要内容 5.1 一维数组 5.2 多维数组 5.3 字符数组与字符串 5.1 一维数组 5.2 多维数组 5.3 字符数组与字符串 学习目标 了解一维数组与多维数组的定义。 掌握一维数组和二维数组的初始化及引用。 了解字符串与字符数组的区别。 掌握字符数组的使用。 掌握常用的字符串处理函数。 5.1.1 一维数组的定义 一维数组是数组名后只有一个下标的数组,其定义形式为: 类型说明符 数组名[数组长度]; 类型说明符规定了数组的存储类型和数据类型,数组名为用户选定的合法标识符,而数组长度既可以是整型常量又可以是整型表达式。数组定义的作用是定义一个指定长度的一维数组:它的元素为数组名[0]、数组名[1]、数组名[2]……数组名[数组长度-1]。 5.1.2 一维数组的存储形式 一维数组在内存中存储时,按下标递增的次序连续存放。例如int a[5],数组名a或a[0]是数组存储区域的首地址,a[0]就存放在这里,a[1]至a[4]在其后依次存放。因此数组名代表了数组的存放首地址,不能对其进行赋值和其他运算。 如果知道数组a的首地址和数据类型,可以通过如下公式算出每个元素的地址: 数组元素a[i]的地址=数组首地址+i*数组元素的数据类型对应的字节数 了解了数组元素在内存中的存储形式,可以更好地掌握数组数据的存储规律,但在实际的程序设计中,程序设计人员是不知道数组的具体地址的。因此,C语言不允许使用正整数作为数组变量的地址。只能按照下述方法表示数组元素的地址: a[i]的地址可表示为:a[i]或a+i a的首地址可表示为:a[0]或a 5.1.3 一维数组的初始化 一维数组的初始化就是给一维数组赋初值,其实现形式是: 数据类型 数组名[数组长度]={值1,值2,值3……值n}; (1)完全赋初值。例如:int a[5]={1,2,3,4,5}; (2)部分赋初值。例如:int a[5]={1,2,3}; 数组a[5]只有前三个元素被赋予给定的初值,剩余的数组元素被初始化为0。 (3)不指定数组长度赋初值。例如:int a[]={1,2,3,4,5,6,7,8,9,10}; 数组也可以不指定初值个数,本例中系统根据提供的初值个数自动将该数组长度取为10。 (4)不赋初值。例如:static int a[5]; 5.1.4 一维数组元素的引用 数组的引用形式为: 数组名[下标] 其中,下标可以是整型常量表达式或含有变量的整型表达式。 一维数组元素的引用。输出数组每个元素的值。 #includestdio.h main() { int i; int a[3]={1,2,3}; for (i=0;i3;i++) printf(%d ,a[i]); } 输出结果为: 1 2 3 5.1.5 一维数组应用举例 将数字从0到9装入一个整型数组。 算法设计:利用一个整型变量使之从0到9变化,便将对应的值赋给对应的数组变量。 源程序: #includestdio.h main() { int x[10]; int t ; for (t=0;t10;++t) x[t]=t; } 显示输入的10个数据中的正数。 算法设计:利用数组将输入数据存储起来,然后利用循环,使数组中的每一个元素与0比较,大于0显示;小于0继续进行循环。 源程序: #includestdio.h main() { int i; float a[10]; printf(please input the numbers:); for(i=0;i10;i++) scanf(%f,a[i]); printf(\nthe positive numbers are:\n); for(i=0;i10;i++) {if (a[i]0.0) printf(%f ,a[i]); } } 对输入的5个数进行排列。 源程序: #include stdio.h main() { int num[5]; int i,j ; int temp; printf(please input the numbers:); for(i=0;i5;i++) scanf(%d,num[i]); for(i=0;i4;i++) for(j=i+1;j5;j++) { if(num[i]num[j]) { temp=num[i]; num[i]=num[j]; num[j]=temp; } } for(i=0;i5;i++) printf(%d ,num[i]

文档评论(0)

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

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

1亿VIP精品文档

相关文档