C程序设计 第五版 谭浩强 第五章.ppt

  1. 1、本文档共114页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计 第五版 谭浩强 第五章.ppt

迄今为止所介绍的数据类型(整型、字符型、浮点型)都称为基本类型或原子类型,即它们是不可再分的类型。C语言还允许将多个数据组织在一起,用一个名字在程序中使用这类数。这些类型是基本类型或者组合类型的组合,主要有数组类型、结构体类型、共用体类型等。本章介绍数组类型的基本概念和使用方法。 数组是指一组同类型数据组成的序列。它的特点有如下3点: · 组织了一组同类型数据,并为之提供一个名字; · 这组数据被存储在内存的一个连续的区域中; · 这组数据具有顺序关系,组成它的每个元素可以通过序号访问。 5.1 一维数组 5.1.1 一维数组的定义和数组元素的引用 1. 一维数组概述 一维数组也称向量。按照某种顺序关系使用一组数据的场所很 多。例如,要处理一组学生的年龄,人员少时,可以分别将它们用a,b,c,d,e,f,…命名,或用age1,age2,age3,…命名,而人数较多时,这些命名方式为处理带来很大不便。如果用数组来处理这组数据,就会非常方便。用数组可以把这组学生的年龄统一命名为student_age,这个名字称为数组名;其中不同学生的年龄可以用下标加以区别,如student_age[0],student_age[1], student_age[2],…。它们是同一数组中的不同元素。由于这些数组元素的形式是带下标的,因此又称为数组元素下标变量。方括号中的数字称为下标,用以表示该元素在数组student_age中的序号。这样,如果要求这组n个学生的平均年龄,就可以使用下面的程序结构: 而使用简单变量时,就要使用下面的程序结构: 2. 一维数组的定义 (2)student_age是这个int型一维数组的名字。数组名应当遵循C语言关于用户关键字的规则。 (3)“30”是该数组中元素的个数(数组的大小)。C89规定数组的大小在编译时应当是确定的,即在定义数组的声明语句中必须使用常量表达式来指定数组大小,并且在程序运行时就不能再改变,即不能重定义。而C99允许使用变长的局部数组,即允许使用非常量表达式指定数组大小,并且可以可以被多次声明,每次声明定义的数组大小可以各不相同。如在C99中下面的写法是正确的,而在C99之前,是不合法的。 int x=8,y=3; int a[x+y]; ┇ int a[x-y]; 读者在使用时,应当注意所使用的编译系统是按什么标准实现的,否则会出现错误。 (4)下标的序号从0开始(而不是从1开始)。student_age数组中10个元素分别是:student_age[0], student_age[1],student_age[2], student_age[3], student_age[4], student_age[5], student_age[6], student_age[7], student_age[8], student_age[9]。 注意没有student_age[10]元素。 5.1.2 数组元素的引用方法 一个数组一旦被定义,编译器将会为之开辟一个存储空间,以便将数组元素顺序地存储在这个空间中。每一个数组元素占用一个int类型的存储空间。图5.1为上一小节定义的一维int型数组的各元素在内存中的存储情形。 数组一经被定义,其元素就可以被引用。引用一维数组的元素必须用一个下标,其形式为: (3)数组元素(下标变量)具有普通变量的特征,可以作为左 值表达式使用。 数组元素常常使用在循环结构中。 例5.1 用一个数组存储10个学生的年龄,然后分别按正序和 反序显示它们。 一次运行结果如下: 5.2 字符串 5.2.1 字符数组与字符串 1. 字符数组及其初始化 字符数组是以字符为元素的数组,它的定义与初始化方法与 一 维数组相同。下面是两个定义字符数组的例子: char str1[]={‘C’,’h’,’i’,’n’,’a’}; char str2[12]={‘C’,’ ‘,’p’,’r’,’o’,’g’,’r’,’a’,’m’,’i’,’n’,’g’}; 2. 字符串及其初始化 在C语言中,把用一对双撇号括起来的零个或多个字符序列称为 字符串常数。如: ″hello″, ″Programming inC″,″A″,″a″,″″等。 字符串以双撇号为定界符,但双撇号并不属于字符串。要在字 符串中插入撇号,应借助转义字符。例如要处理字符串″I say: ′Goodby!′″时,可以把它写为 ″I say:\ ′Goodby!\′″ 在C语言程序中,字符串不是存放在一

文档评论(0)

cai + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档