c语言程序设计05-数组

上传人:宝路 文档编号:47971693 上传时间:2018-07-07 格式:PPT 页数:17 大小:367.28KB
返回 下载 相关 举报
c语言程序设计05-数组_第1页
第1页 / 共17页
c语言程序设计05-数组_第2页
第2页 / 共17页
c语言程序设计05-数组_第3页
第3页 / 共17页
c语言程序设计05-数组_第4页
第4页 / 共17页
c语言程序设计05-数组_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《c语言程序设计05-数组》由会员分享,可在线阅读,更多相关《c语言程序设计05-数组(17页珍藏版)》请在金锄头文库上搜索。

1、数组 新C 语言程序设计5.1 一维数组 n构造数据类型n数组n5.1.1一维数组的定义 n一维数组的一般定义形式为:n类型标识符 数组名整型常量表达式;n例如:nint a;nint bl0;n注意事项:n数组名属于标识符,应遵循标识符命名规则。n数组名作为变量名不能与其它变量名相同。n数组的大小必须由常量或常量表达式定义n数组名如果出现在表达式中,它的值和含义是该数组首个元素 的地址,是一个指针型常量。n数组名+n的值是数组中第n+1个元素的地址。n对数组名取地址,得到是整个数组的地址,其值虽然与数组首 个元素地址值相同,但类型不同、含义不同。5.1 一维数组 n【例5.1】求变量int

2、a和int b10占用内存的 大小:n【例5.2】求变量的值、变量地址的值、数 组名的值、数组名的地址:n【例5.3】求变量地址的值和加1后的值:5.1 一维数组 5.1.2 一维数组元素的引用n下标法引用一维数组元素,形式如下:n数组名下标n注意事项:n(1)一个数组元素实质上就是一个变量,代表内存中的一 个存储单元,与相应类型的变量具有完全相同的性质。n(2)一个数组不能整体引用。n(3)C语言编译器并不检查数组元素的下标是否越界,即 引用下标值范围以外的元素,如上例的a10,编译器不 提示出错信息。但在程序运行时可能引起程序运行错误 ,所以应避免数组操作越界。n【例5.4】下标法数组元素

3、使用示例。5.1 一维数组 n指针法引用数组元素,形式如下:n*(数组元素地址)n【例5.5】指针法数组元素使用示例。5.1 一维数组 5.1.3 一维数组的初始化 n指针法引用数组元素,形式如下:n*(数组元素地址)n初始化赋值的一般形式为:n类型标识符 数组名整型常量表达式=初值表;n其中,在中的各数据值即为数组各元素的初值 ,各值之间用逗号间隔,给定初值的顺序即为在数 组元素在内存中的存放顺序。n【例5.6】数组初始化示例。n一维数组的几种初始化情形 n完全初始化 n部分初始化n省略数组长度的完全初始化 5.1 一维数组 5.1.4 程序举例 n【例5.7】从键盘上给数组输入10个整数,

4、求出该 数组的最大值及最大值的下标并输出。n【例5.8】用冒泡排序法对数组中的元素进行从小 到大进行排序。n冒泡排序算法说明5.2 多维数组 5.2.1 多维数组的定义 n在C语言中,从二维到多维数组本质上都是一维数组的扩展 。 n【例5.9】定义一个由4个元素组成,而这4个元素又分别是 由3个整型变量组成的二维数组:nint a43; n注意事项:n二维数组名如果出现在表达式中,它的值及其含义是该数组首个元 素的地址。n数组名+n的值是数组第n+1个元素的地址。n对数组名取地址,得到的是整个数组的地址。n【例5.10】定义三个指针变量p1、p2、p3,分别保存例5.9 中定义的a、a0、a0

5、0的地址n【例5.11】求数组元素占用内存的大小:n【例5.12】求变量地址的值和加1后的值 5.2 多维数组 5.2.2 多维数组元素的引用 n多维数组的引用方式与一维数组的引用方式基本相 同,可以使用指针也可以使用下标 n【例5.13】多维数组元素的引用 n【例5.14】下标法输入、输出二维整数组。 n【例5.15】指针法输入、输出二维整数组。 n【例5.16】指针法输入输出二维数组的各元素。5.2 多维数组 5.2.3 多维数组的初始化 n初始化一般形式为:n类型 数组名整型常量表达式1整型常量表达式2 整型 常量表达式3=初值表;n多维数组的初始化方法。n完全初始化 n部分初始化n省略

6、数组长度的完全初始化 。5.2 多维数组 5.2.4 程序举例n【例5.17】编程实现矩阵的转置(即行列互换)。 n【例5.18】编程分别求矩阵的两个对角线上元素值 之和。 5.3 字符数组与字符串 5.3.1 字符数组与字符串的关系n字符数组与字符串的关系 n以字符串的方式处理文字信息主要好处:n可以知道有效字符的长度n有大量的字符串库函数可以使用 n赋初值简便n【例5.19】输出一个字符数组中每个元素的ASCII码n注意事项:n使用C语言本身的字符串功能或C库函数提供的字符串处理功能,用 户提供的必须也是字符串,即有效字符后面要有0做结束标志。n使用C语言本身的字符串功能或C库函数提供的字

7、符串处理功能,返 回的结果也都是字符串,即有效字符后面都有0 做结束标志。n用户定义的用来保存字符串的字符数组必须要大于被处理的字符串 的长度,使用C语言本身的字符串功能或C库函数提供的字符串处理 功能都不检查字符数组大小与字符串长度是否匹配。n字符串的长度不包括字符串末尾的0,所以保存字符串的字符数组 中长度要大于等于字符串的长度加1。 5.3 字符数组与字符串 5.3.2 字符串的输入输出 n使用scanf函数输入字符串 n【例5.20】scanf输入字符串 n使用printf函数输出字符串 n【例5.21】printf输出字符串 n使用gets函数输入字符串、n 【例5.22】gets读

8、入字符串 n使用puts函数输入字符串 n【例5.23】puts输出字符串5.3 字符数组与字符串 5.3.3 字符串处理函数 nstrcat函数n【例5.24】字符串连接函数strcat的使用,本程序把初始 化赋值的两个字符串连接起来。 nstrcpy函数n【例5.25】字符串拷贝函数strcpy。 nstrcmp函数n【例5.26】字符串比较函数strcmp的使用 nstrlen函数n【例5.27】字符串长度函数strlen的使用 5.3字符数组与字符串 5.3.4程序举例n【例5.28】输入一段篇文章并输出,文章中可能有 空格和换行符,以$作为文章结束标标志。 n【例5.29】输入一个长

9、度小于100的字符串,统计 该字符串中大写字母,小写字母,数字字符及其它 字符的数量。 n【例5.30】输入一个长度小于100的字符串,删除 该字符串中所有的字符*。n【例5.31】输入一个长度小于100的字符串,将字 符串中下标为奇数位置上的字母转为大写。n【例5.32】输入一个无符号的长整型数,将该数转 换为倒序的字符串。5.4 指针数组 5.4.1指针数组的定义与应用n指针数组的定义形式n数据类型 *指针数组名元素个数 n指针数组的应用n【例5.33】将多个字符串按字典顺序输出n【例5.34】用指针数组处理二维数组n【例5.35】通常可用一个指针数组来指向一个二维数组 。指针数组中的每个元素被赋予二维数组每一行的首地 址,因此也可理解为指向一个一维数组n指针数组和数组指针变量的区别 5.4 指针数组 5.4.2指向指针的指针 n多级指针变量 n数据类型 *变量名 n【例5.36】多级指针应用例子n【例5.38】一个指针数组的元素指向数据的简单例 子。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号