- 1、本文档共33页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序设计基础(第五章).ppt
第五章 数组及其应用 5.1 一维数组 构造数据类型之一 数组:有序数据的集合,用数组名标识 元素:属同一数据类型,用数组名和下标确定 5.1 一维数组 5.1 一维数组 C编译程序是怎样管理一个数组呢? 用连续的内存单元存放各个元素 5.1 一维数组 5.1 一维数组 5.1 一维数组 5.1 一维数组 5.1 一维数组 5.1 一维数组 5.2 二维数组 5.2 二维数组 5.2 二维数组 5.2 二维数组 5.2 二维数组 5.3 字符数组 5.3 字符数组 5.3 字符数组 5.3 字符数组 5.3 字符数组 5.3 字符数组 5.3 字符数组 5.3 字符数组 5.3 字符数组 5.3 字符数组 5.3 字符数组 5.3 字符数组 5.3 字符数组 5.3 字符数组 例子图解 当前字符=空格 是 否 未出现新单词,使word=0,num不累加 前一字符为空格(word==0),新单词出现, word=1,num加1 前一字符为非空格(word==1),未出现新单词,num不变 例 输入:I ?am ?a ?boy. 当前字符 是否空格 word原值 新单词开始否 word新值 num值 ? ? ? I a m a b o y . 否 0 是 1 1 是 1 未 0 1 否 0 是 1 2 否 1 未 1 2 是 1 未 0 2 否 0 是 1 3 是 1 未 0 3 否 0 是 1 4 否 1 未 1 4 否 1 未 1 4 否 1 未 1 4 * LOGO * LOGO 程序设计基础 一维数组 5.1 二维数组 5.2 字符数组 5.3 5.1.1 数组概念 一维数组的定义 定义方式: 数据类型 数组名[常量表达式]; 合法标识符 表示元素个数 下标从0开始 [ ] :数组运算符 不能用( ) 例 int a[6]; a[0] 0 1 4 5 a[1] a[2] a[3] a[4] a[5] 2 3 a 编译时分配连续内存 内存字节数=数组维数* sizeof(元素数据类型) 数组名表示内存首地址, 是地址常量 5.1.2 一维数组 下面4个数组定义是非法的: int size1,size2; float height[size1]; //变量做下标是错误的 float width[size1+size2+1]; //用含变量的表达式做下标是错误的 int number[-8]; //使用负数做下标是错误的 int m(8); //数组名后面用()是错误的 而下面的数组定义是合法的: #define STRSIZE 50 char string[STRSIZE]; int m[15*STRSIZE]; float x[3*32+1]; 5.1 一维数组 保存数组所需内存量与数组元素的基本类型和数组大小有关总字节数 =sizeof(基本类型)*数组元素个数 如上例:总字节数=2*5=10; 5.1 一维数组 初始化: (1) 用赋值语句初始化,如: int a[3]; a[0]=1; // 赋值语句 (2) 在数组定义时初始化,如: int m[3]={10,20,30}; 若花括号中的值的个数少于数组元素的个数时,如: int m[3]={10,20}; 则m[2]不定 如果定义: static int m[3]={10,20}; 则m[2]默认值为0。 可对静态数组中的部分元素赋值 例如:static int m[3]={10, ,30}; 此时m[1]=0。 数组定义时可缺省元素的个数 例如: int m[]={0,1,2};相当于: int m[3]={0,1,2}; 所谓初始化就是在定义数组的同时,给数组元素赋初始值。 C语言规定,只有静态存储和外部存储数组才能初始化。 5.1 一维数组 例如: int a[10]={0,1,2,3,4,5,6,7,8,9}; 等价于:a[0]=0; a[1]=1; a[2]=2; a[3]=3; a[4]=4; a[5]=5; a[6]=6; a[7]=7; a[8]=8; a[9]=9; a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 0
文档评论(0)