- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 数组6.1 一维数组016.2 二维数组026.3 字符数组和字符串036.4 知识点强化与应用046.5 本章小结05【学习要点】1.一维数组、二维数组的定义,元素引用及初始化方法2.字符数组的定义与初始化3.字符串输入、输出方法及常用的字符串处理函数的使用4.简单的算法设计(排序,查找等算法)本章主要介绍一维和二维数组的定义与使用,字符数组的概念和使用,并培养使用数组对数据进行存储的思想。【导入案例:大量数据的存储及处理】完成10个学生信息的输入(学号,性别,英语、高等数学、计算机考试成绩),求出每个同学的考试平均分,并将所有同学信息按照格式输出。分析 若使用一般变量对案例中的数据进行处理,将需要定义10个变量存储性别,10个变量存储学号,10个变量存储英语成绩,10个变量存储数学成绩,10个变量存储计算机成绩,10个变量存储总分,总共至少包含60个变量,很显然用常规的思路处理是不太合适的,该如何完成这些大量的有一定关联的数据存储呢?分析 在前面的章节中,当处理的数据个数很少时,会想到定义几个变量来存储这些数据。但当需要处理的数据很多(几十、上百甚至上万个数据)时,不可能一一去定义那么多变量来处理。例如,若需要将100个同学的计算机考试成绩保存下来,此时去定义100个变量来存储这些数据是不明智的,。【解决方案】对于存储大量的、相同意义的数据使用数组(Array)最为合适。6.1 一维数组6.1.1 一维数组的定义6.1.2 一维数组元素的引用6.1.3 一维数组元素的初始化6.1.1 一维数组的定义1.数组类型:可以是前面介绍的所有的数据类型,也可以是后面将介绍的组合类型;2.数组名:命名规则同于前面介绍的变量的命名规则;3.数组长度:表示数组内元素个数,必须是整形常量或表达式,不能是变量。方法:数组类型 数组名[数组长度]如:int a[5];float score[66];char str[100];6.1.2 一维数组元素的引用方法:数组名[元素下标]如:a[3],score[5], str[10];1.该数组必须已经在前面定义过;2.元素下标可以是常量或表达式,也可以是变量,但是必须为整型;3.下标的范围为:[0,数组长度-1],否则将发生访问越界;6.1.3 一维数组元素的初始化方法:数据类型 数组名 [常量表达式]={初始化数据}主要包含以下情形:1、定义数组时,对全部元素赋值:int a1[5]={1,2,3,4,5};2、 对部分元素赋值 :int a2[5] ={1,2};a2[0]=1,a2[1]=2;其余元素为?6.1.3 一维数组元素的初始化(续)3、 若所有元素赋值为0,可使用如下方法: int a3[5]={0,0,0,0,0};也可以使用:int a3[5] = {0};4、若要对数组的全部元素初始化,则可省略数组说明中的大小。int a4[ ] = {1, 2, 3, 4,5};例1:从键盘动态输入10个整数,然后将10个数据顺序输出;分析:1.先定义正确类型的、合适长度的数组;2.结合for循环(推荐)使用循环变量控制数组下标,来逐个引用数组元素;3.使用前面学习过的函数完成数据的输入输出。参考代码段:int a[10],i; for(i=0;i10;i++) scanf(“%d”,a[i]); for(i=0;i10;i++) printf(%2d ,a[i]);例2:从键盘动态输入10个整数,然后将10个数据前后交换存放;若数据个数为n个,该如何实现呢?分析:1.先正确的完成数据的输入与输出;2.a[0]与a[9]交换,a[1]和a[8]交换,a[2]和a[7]交换,进而推理出a[ i ]和a[9-i]交换;3.注意控制i的变化范围。参考代码段:for(i=0;i10/2;i++) {t=a[ i ]; a[ i ]=a[9-i]; a[9-i]=t; }6.2 二维数组6.2.1 二维数组的定义6.2.2 二维数组元素的引用6.2.3 二维数组元素的初始化6.2.1 二维数组的定义当存储全班5个同学的总分时,可以定义int sum[5]来存放,那么现在若需要存储5个同学4门考试的分数时, 可以考虑使用二维数组int scores[5][4]来存放。该二维数组可以理解成由5个一维数组构成,其中每个一维数组包含有4个元素,在内存中,二维数组以行为顺序进行存放,即先存放第一行的第一个元素,再一行的第二个元素,以此类推……6.2.1 二维数组的定义(续)方法:数组类型 数组名[常量表达式一] [常量表达式二]如:int a[5][3];float score[5][4];char str[3][100];1.数组类型、数组名的命名规则与一维数组的定
文档评论(0)