- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 数组与字符串 数组是一种构造类型,构造类型数据是由基本类型数据按一定规则组成的。 数组是具有相同类型的有序数据的集合,数组名和 下标唯一地确定数组中的每个数据——数组元素。 按照数组的维数(下标的个数),数组分为一维数组和多维数组 。 一维数组的定义和引用(1) 一维数组的定义 定义格式:类型说明符 数组名[常量表达式]; 数组名命名,方括号,常量表达式(值为非负整数)表示元素的个数,即数组长度; 类型:基本类型或构造类型(数组中所有元素的类型) 一维数组元素的引用 引用形式:数组名[下标] 下标:值为非负整数的表达式(常量、变量) 例如定义:int a[5];表示定义了含有5个元素的数组a,而数组a中每个元素都是int型的,元素下标从0开始,这5个元素是: a[0],a[1],a[2], a[3], a[4] 。 注意不能使用a[5],a[5]不属于该数组的空间范围。 一维数组的定义和引用(2) 一维数组的初始化 可以用赋值表达式或键盘输入使数组元素得到值,也可以在定义数组时对元素赋以初值。 例题 二维数组的定义和引用 定义、存储和引用 定义格式:类型说明符 数组名[常量表达式1][常量表达式2]; 二维数组经常用来表示按行和列格式存放信息的数值表,要识别表中某个特定的元素,必须指定两个下标。 元素的表示:数组名[下标1][下标2] 注意:各下标不要越界! 二维数组按先行后列的顺序在内存中线性排列的。 例如有定义:int a[3][4]; 表示了一个名为a的3行×4列的二维数组,它的每个 元素都是int型的。第一个下标范围是0~2,第二个 下标范围是0~3,共有12个元素。 初始化 和一维数组类似,见教材P115。 例如:int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 二维数组的应用:矩阵乘法 如果矩阵A乘以B得到C,则必须满足如下规则: 矩阵A的列数与矩阵B的行数相等; 矩阵A的行数等于矩阵C的行数; 矩阵B的列数等于矩阵C的列数。 例如, 字符数组 字符数组是指数组元素类型是字符型的一类数组。字符数组也有一维和多维之分。 字符数组可以用来存放多个字符,也可以用来存放字符串。区别在于数组元素中是否有字符串的结束标志(‘\0’)。 实际应用中,经常用字符数组存放字符串。一维字符数组可存放一个字符串,二维字符数组可以存放多个字符串。 字符数组的定义、引用和赋值 定义同普通数组,但类型为char 引用字符数组的一个元素,得到一个字符 字符数组可以被赋初值(初始化)和被赋值 字符串的输入/输出 C语言中数组名代表数组的首地址. scanf(“%s”,字符数组名) printf(“%s”,字符数组名) gets(字符数组名) puts(字符数组名) 字符串的处理函数string.h 字符串连接函数 strcat(字符数组名1,字符数组名2) 字符串复制函数 strcpy(字符数组名1,字符数组名2) 字符串比较函数 strcmp(字符数组名1,字符数组名2) 测字符串长度函数 strlen(字符数组名) 练习 1、输出杨辉三角的前10行。 2、编程求矩阵的加法: 5 7 8 4 -2 3 2 -2 4 + 3 9 4 1 1 1 8 -1 2 3、不使用string.h头文件中的字符串处理函数,实现字符串的连接、复制、比较和求串长。 4、求字符串的逆序。 另外本章还必须掌握求最值、排序算法。 * * 数组a a[0] a[1] a[2] a[3] a[4] 数组下标 数组元素的内存排列 下标是数组元素到数组开始的偏移量。 第1个元素的偏移量是0,第2个元素的偏移量是1,依次类推。 数组是一系列大小相同的连续项,每项到公共基点的偏移量是固定的。 #include stdio.h void main( ) { int grade[3],avg; grade[0]=90; grade[1]=75; grade[2]=85; avg=(grade[0]+grade[1]+grade[2])/3; printf(“%d\n”,avg); } 定义时初始化的格式: 类型说明符 数组名[常量表达式]= {常量1,常量2,…,常量n}; 如:int a[10]={0,1,2,3,4,5,6,7,8,9}; 说明: 数组元素与常量值按顺序依次对应,每个常量均为同一类型; 可以只给数组中的一部分元素赋初始值,其它未给出的元素初始值为0; 如:int a[10]={
文档评论(0)