第6章数组分析.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 数组 一维数组-- 定义 一维数组的定义格式如下: 「存储类型」 数据类型 数组名[整型常量表达式] 其中: (1)存储类型为可选项,有auto、register、extern、static四种,详细内容将在第7章介绍。 (2)数据类型指明该数组的基类型,即其元素的数据类型,可以是int、char、float等基本数据类型,也可以是后面要学习的结构体、指针、枚举等构造类型。 一维数组 (3)数组名是该数组的名字,遵循标识符的命名规则。 (4)整型常量表达式表示数组的长度,即该数组包含元素的个数。 (5) 程序运行时,编译系统会为一维数组分配一段连续的内存空间,按顺序存储数组中的各个元素值 。 一维数组-物理结构 int a[4]; 补充内容-栈 补充内容-栈 一维数组-物理结构 int a[4],b; 一维数组-逻辑结构 int a[4]; 一维数组-引用 一维数组元素的引用格式如下: 数组名[下标表达式] 下标表达式是一个整型表达式或能转换为整型表达式的字符型表达式。例如: int a[8] ; //定义了一个具有8个元素的整型数组a a[2]=18; //为数组元素a[2]赋值为18 一维数组 注意: (1)要注意数组定义和数组元素引用时下标的区别。 (2)数组名代表数组所占内存的首地址,因此数组名是一个常量,不能放在赋值号左边被赋值。 (3)不能直接引用整个数组,只能引用数组中的单个元素。 (4)防止下标越界。 一维数组-初始化 一维数组初始化的一般形式为: 「存储类型」类型说明符 数组名[整型常量表达式]={初始值列表} 其中: (1)初始值列表中的数据用逗号分开,数据个数一定不大于数组的长度。 (2)对数组全部元素赋值时可以省略数组长度,C语言编译系统会自动根据列表中的数据个数指定数组长度。 一维数组 (3)只对部分元素赋值。 (4) 如果数组不进行初始化,则元素值为随机数,而static型或全局数组会自动赋值为0。 【例6.1】用模拟法编程实现,求N个人中出现至少两人生日相同事件的概率。 【例6.2】编程实现用选择法将5个整数由小到大排序。 二维数组-定义 数组元素有两个下标的数组称为二维数组,其定义的一般格式为: 「存储类型」数据类型 数组名[一维整型常量表达式][二维整型常量表达式] 其中: (1)存储类型、数据类型和数组名的含义与一维数组的相同。 (2)一维整型常量表达式和二维整型常量表达式分别表示二维数组第一维(也称为行)和第二维(也称为列)的长度,二维数组的长度,即数组包含元素的个数为:一维整型常量表达式×二维整型常量表达式。 二维数组-逻辑物理结构 二维数组 (3)程序运行时,编译系统会为二维数组分配一片连续的内存空间,按行优先原则存储数组中的各个元素值 。 (4)二维数组可以看作特殊的一维数组,只不过这个一维数组的每个元素又是一个一维数组。 二维数组-知识拓展 int a[2][3][4]; 二维数组-引用 二维数组元素的引用格式如下: 数组名[行下标][列下标] 其中:行、列下标表达式是一个整型表达式或能转换为整型表达式的字符型表达式。 注意: (1) 同样防止下标越界问题。 (2) 引用元素时要严格区分行下标和列下标。 (3) 在二维数组中,正确引用数组元素的方式是同时具有行下标和列下标。 二维数组-初始化 二维数组初始化的方式有下面几种。 (1) 分行赋初值。 (2) 按数组元素的内存分配顺序赋值。 (3) 对部分元素赋初值。 (4) 初始化时,有时可以缺省第一维长度,但第二维长度不能缺省。 【例6.3】编程实现一个M×M矩阵的原地转置。 字符数组与字符串 字符串处理函数 1.字符串连接函数strcat 函数原型: char *strcat(char *str1,char *str2) 其作用是:将str2中的字符串连接到str1中字符串的后面,str2中的内容不变,然后返回str1的地址。 字符数组与字符串 (1)str1 的长度必须足够大,以便能够容纳连接后的新字符串,否则会造成程序运行时错误或逻辑错误。 (2)连接前两个字符串都有结束标志,连接后str1中原结束标记被覆盖,在新串尾部保留一个结束标志。 (3)str2可以是字符串常量或地址常量,但str1必须是地址常量或表示地址的变量表达式。 字符数组与字符串 2.字符串复制函数strcpy 函数原型: char * strcpy(char *str1,char *str2) 其作用是:将str2中的字符串(包括结束标志)复制到str1中,str1中原有内容被覆盖,str2中的内容不变,然后返回str1的地址。 字符数组与字符串 注意: (1)保证str1的长度足

文档评论(0)

创业文库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档