[政史地]数组类型与指针类型_m2.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文档。上传文档
查看更多
[政史地]数组类型与指针类型_m2

5.1 数据类型的构造 系统预先提供的类型: C语言提供的基本数据类型,大致分为整型、实型、字符型等三大类 用户新定义的类型: C语言提供构造新类型的方法,可以在已有数据类型的基础上构造新的数据类型,这种新的类型称为构造类型,根据构造方法的不同分为数组、指针、结构、联合等四种 5.2 数组类型 为什么要用数组?(重点理解) 5.2 数组类型 数组类型的定义 数组是由一系列同类型的元素(Element)所组成的集合,数组变量名就一个 数组中元素的数据类型可以是基本类型,也可以是构造类型,若元素的类型是整型则称为整型数组,若元素类型是结构体类型则称为结构体数组,若元素类型是指针类型则称为指针数组,若成员的类型是数组则称为二维数组 一维数组(重点掌握) 当数组中元素的类型不是数组,而是基本类型,或者结构,指针等构造类型时,称为一维数组 一维数组变量的定义的格式(掌握) 元素数据类型 数组变量名[常量或数值表达式] 注意 常量的值表示了数组的大小即元素的个数,必须为正整型(记住:这里数组的大小一定不能是个变量)。 如果数组大小是个数值表达式的值是小数,一定先取整, int a[7/2] 即 a[3] 数组变量名需要符合标识符命名的要求,不能与已有的变量名或系统关键字相同。 方式1:数组只能在定义的同时对数组整体进行赋初值 (而普通变量可以先声明后初始化) 格式: 数据类型 数组变量名[元素个数] = {元素1初值,元素2初值,….} 初值用一对{}括起来。相邻的值之间用逗号隔开 例如: int arr[10] = {9,8,7,6,5,4,3,2,1,0}; 上面定义了一个一维数组 ,名字为arr,共10个元素。元素的类型为int,初始值为从9到0。 以下方式是错误的: int arr[10]; arr[10] ={9,8,7,6,5,4,3,2,1,0};//error Arr = 100;//error 方式1注意: 使用方式1给数组整体赋值,初值的个数不能超过数组的大小(即可以小于但觉不能大于) int arr[10] = {9,8,7} //允许 你这里定义了数组为10个元素,但你可以给它赋少于10个的初始值。但至少有一个,那么那些没有得到初始值的元素的值又是多少呢?他们则被编译器初始化为0,但是如果只定义数组,没有对其进行任何初始化,局部变量则是未定义的值(即不可预测的值),全局变量将被编译器自动初始化为0 方式2:先定义,后初始化时只能针对数组中单个的元素进行赋值,而不能进行整体赋值 例如 int arr[10]; arr[0] = 9; arr[1] = 8; ……. 这里需要访问数组中的每个元素,所以需要使用下标来区分数组中的每个元素,下标只能是整形,C语言规定,访问数组中的元素下标从0开始,即第一个元素是 数组名[0] 方式3:用一个数组给另一个数组赋值 例如: int a[5] = {1,2,3,4,5} int b[5] ; 怎样用a初始化数组b呢?想一想怎样用程序实现,能否自行编写出来。(提示:使用for循环实现) 以下是错误的情况: b = a;//error 一维数组的相关操作举例 例 1:要求从键盘输入5个整数并存储到一个数组中。然后将此数组的内容进行打印输出(怎样实现?想一想) 例2 求上一题目中数组a中元素的最大值的下标,并打印输出此下标和对应的元素的值(怎样修改) 例3 要求实现在一个数组中查找一个值,这个值由用户输入,判断此值是否在数组中(怎样实现) 例4 要求实现对一个数组元素进行逆序存放(怎样实现) 例如 int a[5] = {1,2,3,4,5} 逆序存放后内容变成 a[5] = {5,4,3,2,1} 例5 要求使用选择法对一个数组元素进行从小到大的排序,最后将排序后的结果进行输出(怎样实现?) 例如 int a[5] = {5,2,4,3,1} 排序后内容变成 a[5] = {1,2,3,4,5} 例6 利用数组获得20项Fibonacci数列元素,即后一项为前两项之和,开始两项为1,可得序列为1,1,2,3,5,8,… #include stdio.h void main() { int i,f[20]={1,1}; for(i=2;i=19;i++) f[i]=f[i-2]+f[i-1]; for(i=0;i=19;i++) printf(%d/n,f[i]); } 数组的存储(掌握) 数组的存储涉及两个问题: 每个成员要有存储空间且每个成员可以通过下标找到存储空间的位

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档