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文档。上传文档
查看更多
上一章我们学到了 模块化程序设计 自上向下,逐步分解,分而治之 函数的概念:涉及到定义、声明、调用 函数的定义 上一章我们学到了 参数传递方式 值传递方式 方式:函数调用时,为形参分配单元,并将实参的值复制到形参中;调用结束,形参单元被释放,实参单元仍保留并维持原值 特点: 形参与实参占用不同的内存单元 单向传递 上一章我们学到了 函数的返回值 return (表达式); 程序的执行流程 预处理命令 #include stdio.h #include “fun.h” #define PI 3.1415926 #define MAX(a,b) (ab)?a:b 5.1数组与数组元素的概念 由若干类型相同的数据按一定顺序存储所形成的有序集合,称为数组(Array)。 通常,用某个名字标识这个集合,这个名字称为数组名。 构成数组的每个数据项称为数组的元素,同一数组中的元素必须具有相同的数据类型。 数组定义的一般形式为: 类型标识符 数组名[常量表达式1][常量表达式2]……; int a[15] float num[5][10] (1) 数组的下标必须使用整型常量或整型常量表达式。C语言中不允许用变量作为下标,对数组进行动态定义。例如, #define N 10 int nScore [N]; /*正确的定义方式*/ int n=3; int nScore [n]; /*不正确的定义方式*/ (2) C语言规定数组的下标都是从0开始的。 (3) 数组的存储结构:数组一经定义,系统则根据数组的数据类型为每一个元素安排相同长度的、连续的存储单元,而且,C语言的数组在内存中是按行存放的,即存完第一行后存第二行,然后存第三行,······,以此类推。 (4) 用sizeof来计算类型长度。 5.2相同类型数据的一维线性存储 (1) 数组名命名规则和变量名相同,遵循标识符命名规则。 (2) 数组名后是用方括弧括起来的常量表达式,不能用圆括弧。下面用法不对:如int a(10);是不对的。 (3) 常量表达式表示元素的个数,即数组长度。 (4) 常量表达式中可以包括普通常量和符号常量,不能包含变量。也就是说,C不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。 数组(Array) int a[10]; 定义一个有10个元素的数组,每个元素的类型均为int 使用a[0]、a[1]、a[2]、……、a[9]这样的形式访问每个元素。它们与普通变量没有任何区别 系统会在内存分配连续的10个int空间给此数组 数组下标可以是整型表达式 直接对a的访问,就是访问此数组的首地址 int a[5] = { 12, 34, 56 ,78 ,9 }; int a[5] = { 0 }; int a[] = { 11, 22, 33, 44, 55 }; 数组大小最好用宏来定义,以适应未来可能的变化 #define SIZE 10 int a[SIZE]; 数组大小定义好后,将永远不变 一维数组的输入和输出 5.2.3 一维数组的引用 先定义,后使用 只能引用单个的数组元素,不能一次引用整个数组 数组元素的引用:数组名[下标] 下标:整型常量,也可以是已赋值的整型变量或整型变量表达式。(与数组定义不同) 取值范围 [0,数组长度-1] 下标不要越界 对数组每个元素的使用与普通变量无异 可以用任意表达式作为下标,动态决定访问哪个元素 for (i=0; iSIZE; i++) a[i] = 2 * i; 输入10个数求和 main( ) { int i, a[10]; long sum; for( i=0; i10; i++) scanf(“%d”,a[i]); sum = 0; for( i=0;i10;i++) sum = sum + a[i]; printf(“%ld\n”, sum); } 计算fibonacci数列 用数组计算fibonacci数列的前20个数,并按每行打印5个数的格式输出 1,1,2,3,5,8,13,…… 计算fibonacci数列 main() { int i, fib[20]; fib[0] = fib[1] =1; for (i=2; i20; i++) fib[i] = fib[i-1] +fib[i-2]; for ( i=0;i20;i++) { printf(“%6d”, fib[i]); if((i+1)%5==0) printf(“\n”);

文档评论(0)

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

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

1亿VIP精品文档

相关文档