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

c语言程序设计第五章数组.pptVIP

  1. 1、本文档共86页,可阅读全部内容。
  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语言程序设计第五章数组

教学目标:   本讲介绍C语言中数组的定义和使用,其中重点介绍一维数组的定义、引用、初始化,此外对二维数组的定义、引用和初始化在文中也作了详细的说明。要求大家熟练掌握一维数组的使用,了解的二维数组的应用,灵活运用数组编程。 本讲重点 : 1.一维数组的定义、初始化及应用; 2.数组元素的引用方法:下标法、数组名法。 3.字符串的使用和字符串函数的应用。 本讲难点: 1.利用指针实现对数组的操作;  2.二维数组的应用。 教学方法:理论教学与实践教学相结合。 ? ;5.1 一维数组及指针  5.2 一 维字符数组及指针 5.3 多维数组及指针 5.4 指针数组 5.5 二级指针 5.6 程序设计举例 ;5.1 一维数组及指针;5.1.1. 一维数组的定义和初始化 ? 1.一维数组的定义 ? 一维数组定义的一般形式为: 类型标识符 数组名[常量表达式] 其中,类型标识符表示数组的数据类型,即数组元素的数据类型,可以是任意数据类型,如整型、实型、字符型等。常量表达式可以是任意类型,一般为算术表达式,其值表示数组元素的个数,即数组长度。数组名要遵循标识符的取名规则。 如:int a[10]; 定义了一个一维数组,数组名为a,数据类型为整型,数组中有10个元素,分别是:a[0],a[1],a[2],a[3],a[4], a[5],a[6],a[7],a[8],a[9]。 ;说明: ① 不允许对数组的大小作动态定义。如下面对数组的定义是错误的。 int n=10; int a[n]; ② 数组元素的下标从0开始。如数组a中的数组元素是从a[0]到a[9]。 ③ C语言对数组元素的下标不作越界检查。如:数组a中虽然不存在数组元素a[10],但在程序中使用并不作错误处理,所以在使用数组元素时要特别小心。 ④ 数组在内存分配到的存储空间是连续的,数组元素按其下标递增的顺序依次占用相应字节的内存单元。数组所占字节数为:sizeof(类型标识符)*数组长度。如数组a占用连续20个字节存储空间,为其分配的内存见图5.1。 ;图5.1;如:下面对数组a的初始化是等价的: int a[10]={0,1,2,3,4,5,6,7,8,9}; int a[ ]={0,1,2,3,4,5,6,7,8,9}; a[0]到a[9]的值分别为:0,1,2,3,4,5,6,7,8,9。 Turbo C中,若数组的存储类型为static,且没有初始化,编译系统自动对数组初始化,将数值型数组的全部元素都初始化为0,将字符型数组的全部元素都初始化为空(’\0’)。如: static int a[10];/*数组元素a[0]到a[9]的值都为0。*/ ② 部分元素初始化。 部分元素初始化时,数组的长度不能省略,并且是赋值给前面的元素,没有被赋值的数组元素,数值型数组时值为0,字符型数组时值为’\0’。如: int a[10]={1,2};/*a[0]的值为1,a[1]的值为2,a[2]到a[9]的值都为0*/ ;;a[3.4] /*下标为实型数据,系统自动取整,表示a[3]*/ a[’b’-’a’] /*下标为表达式,表达式’b’-’a’的值为1,表示 a[1]*/ a[4]+=10 /*与a[4]= a[4]+10等价,表示将a[4]的原值加10*/ a[4]++ /*与a[4]= a[4]+1等价,表示将a[4]的原值加1*/ ;需要注意的是数值型数组不能用数组名输入输出它的全部 元素,只能是单个元素输入,单个元素输出。如: 例5.1中的程序段: for(i=0;i10;i++) scanf(%d,a[i]); 不能写成: scanf(%d,a); 例5.1中的程序段: for(i=0;i10;i++) printf(%4d,a[i]); 不能写成: printf(%d,a); ;5.1.3 一维数组的指针 ? C语言规定,数组存储空间的首地址存放在数组名中,即数组名指向下标为0的数组元素。由此可知数组名不仅是一个标识名字,它本身又是个地址量。由于数组的存储位置是系统分配的,用户不能任意改变和设置,所以,表示数组存储起始位置的数组名是个地址常量。另外,数组中的每个元素都有地址,其表示形式为:数组名[下标],其值也是地址常量。 如:数组a的首地址为a或a[0],数组元素a[3]的地址为a[3]。 需要说明的是:虽然数组名代表数组存放的起始地址,但系统并不为数组名分配内存单元。另外,对数组名用取地址符“”进行运算没有意义。 ;1.指向一维数组元素的指针变量 上面介绍了指向数组元素的指针常量,C语言中还可以定义 指向数组元素

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档