版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章数组数组是相同类型数据的集合。它们都拥有同一个名称。在大数量处理处理和字符串操作时,广泛使用数组。数组对C语言来说起着相当至关重要的作用。本章将重点讲数组的各种操作。5.1数组简介在程序设计的过程中,经常会处理一些数据类型相同的变量,为了方便,C语言中提供了数组这一结构。5.1数组简介数组分类按照数据类型不同分类整型数组、字符型数组、指针数组等按照数据多少一维数组、二维数组、多维数组5.2数组的来源前面章节中讲解的C语言的基本数据类型只能处理一些简单的数据类型,如果遇到复杂的具有相同类型的多个数据那么就很难解决。幸好,C语言提供了数组来解决了这一个问题。5.2数组的来源5.3一维数组一维数组是长度固定的数组,其存储空间是一片连续的区域。本节将讲解一维数组的概念及其应用。5.3.1一维数组的声明和定义声明数组是告诉编译器,数组名所使用的标识符。数组的定义是令系统为该数组分配内存空间。在C语言中,数组的声明和定义是同时进行的。5.3.1一维数组的声明和定义5.3.2一维数组的初始化数组的初始化是用来实现对数组的每个元素赋初值的。虽然有的编译器会自动对数组赋初值,但为了安全起见,建议用户自己对数组赋初值。5.3.2一维数组的初始化5.3.2一维数组的初始化注意点示例代码若对数组中的所有元素都赋予了初始值,可以不用指定数组的大小,系统将自动根据赋值的个数来确定数组的大小
intx[]={1,2,3,4,5};若只对数组中的部分元素赋予初始值,则系统会自动为其他元素赋初始值0intx[10]={1,2,3,4,5};若只声明数组,而不为数组赋值,则数组中的元素值是不确定的intx[10];
C语言数组的大小只能是常量,而不能使用变量下面的代码是不合法的:inti=100;inta[i];5.3.3一维数组的引用在C语言中,一维数组的引用其实就是对一维数组元素的使用。一维数组的引用形式以及相关举例如图5.8所示。5.3.4一维数组程序举例5.4二维数组二维数组指有两个下标的数组。C语言中,对于常用的数组除了有一维数组还有二维数组。本节来学习二维数组。5.4.1二维数组的声明和定义二维数组有两个下标。二维数组中的元素和一维数组中的元素一样,具有同样的数据类型。5.4.1二维数组的声明和定义5.4.2二维数组的初始化对于二维数组的初始化有好多种方法,如表5-3所示。二维数组初始化方法示例代码分行给二维数组赋初值inta[2][3]={{0,1,2},{4,5,6}}可以将所有数据写在一个花括号内,按照数组排列的顺序对各元素赋初值inta[2][3]={0,1,2,4,5,6}可以对部分元素赋初值,而在每行的其他元素的值为0或者为’\0’
inta[2][3]={{1},{4}}等价于inta[2][3]={{1,0,0},{4,0,0}}如果对数组的全部元素赋初值,则定义二维数组时可以不指明下标1,但是必须明确指明下标2的长度
inta[2][3]={0,1,2,4,5,6}等价于inta[][3]={0,1,2,4,5,6}5.4.3二维数组的引用二维数组的引用形式如图5.13所示。5.4.3二维数组的引用5.4.3二维数组的引用5.4.4二维数组程序举例5.5字符数组字符数组就是用来存放字符的。在计算机中经常会处理字符,C语言对字符的处理主要是通过字符数组实现的。在本节中将会讲述字符数组的概念及其应用。5.5.1字符数组的声明和定义字符数组的含义如图5.17所示。5.5.1字符数组的声明和定义概念在C语言中,由若干字符组成的序列称为字符串结束标志字符串一般以’\0’作为结束标志存储形式字符串不能用一个变量存放,必须用字符数组来存放5.5.1字符数组的声明和定义5.5.1字符数组的声明和定义5.5.2字符数组的初始化一维字符数组的初始化方式一般有两种,如表5-4所示。初始化方式示例代码说明逐个为字符数组赋值charc[6]={'H','e','l','l','o'};每个字符会依次赋值给数组中的每个元素用字符串直接给字符数组赋值charc[6]={"Hello"};直接将字符串赋给字符数组来初始化。系统会依次读取字符串中的每个字符,赋值给数组每个元素,并在字符串的的结尾处加一个字符即结束符\0作为一个数组元素。charc[6]={"Hello"};等价于charc[6]="Hello";等价于charc[]={"Hello"};5.5.2字符数组的初始化5.5.3字符数组的引用前面已经讲解过了一维数组与二维数组的引用,所以字符数组的引用大家应该已经有一个概念了。C语言中,可以引用字符数组中的一个元素,得到一个字符。这一小节通过两个简单的示例讲解一维字符数组和二维字符数组的引用。5.5.4字符数组的输入输出字符数组的输入输出有两种方法,如图5.23所示。5.5.4字符数组的输入输出注意点注意事项说明1输出字符不包括结束字符’\0’如图5.2的输出结果可以看出2用“%s”格式输出时,printf()函数的输出项是字符数组名,而不是字符元素printf(“%s”,c);//其中数组名为c3如果数组长度大于字符串的实际长度,也只是输出遇到结束字符结束输出charc[10]={“China”}//字符串的长度为5printf(“%s”,c);//也只输出字符串“China”,而不是输出10个字符4如果一个字符数组由多个’\0’,则遇到第一个’\0’就结束输出因为字符’\0’是字符串的结束标志5可以用scanf函数输入一个字符串scanf(“%s”,c);5.6综合实例——杨辉三角通过输出杨辉三角图来进一步讲解数组的应用。1.杨辉三角图行界面杨辉三角的图形界面如图5.25所示。2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 橡胶制品的市场分析与策略研究考核试卷
- 开店做生意写合同范例
- 殡葬行业销售合同范例
- 合股服装合同模板
- 环卫车租赁合同范例
- 民房维修施工合同范例
- 机房设计服务合同模板
- 熟食求购合同范例
- 房屋装修合同范例首
- 店铺包干装修合同模板
- 中国华电在线测评搜题
- 神奇的微生物-科普.课件
- 修桥工程合同模板
- 2023年织金县招聘事业单位工作人员考试真题
- 2024年新人教版七年级上册地理课件 第四章综合复习
- 读书分享课件:《一句顶一万句》
- 10kV及以下配电网工程改造项目可行性研究报告(完美版)
- 2024年涉密人员考试试题库保密基本知识试题附答案(考试直接用)
- 第十三章-印花税
- 2022版义务教育艺术课程标准美术新课标学习解读课件
- 2024年秋新华师大版七年级上册数学 3.1生活中的立体图形 教学课件
评论
0/150
提交评论