c语言程序设计(王勇)第9章 数组-建工化学.ppt

上传人:京东小超市 文档编号:5852468 上传时间:2020-08-12 格式:PPT 页数:19 大小:745KB
返回 下载 相关 举报
c语言程序设计(王勇)第9章 数组-建工化学.ppt_第1页
第1页 / 共19页
c语言程序设计(王勇)第9章 数组-建工化学.ppt_第2页
第2页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《c语言程序设计(王勇)第9章 数组-建工化学.ppt》由会员分享,可在线阅读,更多相关《c语言程序设计(王勇)第9章 数组-建工化学.ppt(19页珍藏版)》请在三一文库上搜索。

1、 第九章 数组 数据类型 基本类型 (简单类型) 构造类型 (组合类型) 指针类型 空类型(void) 数值类型 字符类型(char) 枚举类型(enum) 整型 实型 单精度(float) 双精度(double) 短整型(short) 整型(int) 长整型(long) 数组类型 结构类型(stru) 共用类型(union) 文件类型(FILE) C 引 入 上一页下一页暂 停重 放 系统 返 回 休息 段 吱 塑 烁 赢 均 散 帕 戈 罢 老 挂 芭 匿 吉 质 汰 醚 闰 睦 颐 辣 盎 演 斧 跟 帜 诌 故 步 蝶 侦 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组

2、 - 建 工 化 学 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 一、数组的概念 数组是指一组同类型数据组成的序列。数组中的每个数据 称为一个元素,用一个统一的名字来标识,用下标指示数组中 的各个元素。 二、数组的维数 一维:只含有一个下标的数组称为一维数组 a9 二维:含有两个下标的数组称为二维数组 b34 多维:含有多个下标的数组称为多维数组 c2354 上一页下一页暂 停重 放 系统 返 回 休息 辐 感 膜 土 哼 胎 敞 逆 篷 拇 英 昧 奉 罕 写 铬 临 砖 怖 幢 框 思 术 瓢 湛 突 落 园 馏 解 握 纽 c 语 言 程 序 设

3、计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 第一节 一维数组 一、定义 格式: 类型标识符 数组名常量表达式; (1) 用 , 不能用 ( ) (2) 下标只能用常量 (3) 下标必须是大于零的整数 (4) 下标最大元素个数是65535 指明数组中各 元素的数据类型 指明数组 包含的元素个数 举例:int ab10 ; 说明: 练习 上一页下一页暂 停重 放 系统 返 回 休息 蚂 认 橙 实 屠 校 讲 驶 韩 瓜 瞒 龄 祟 刹 吧 里 节 羊 花 逞 室 偏 泽 押 弗 赁 激 仍 觉 瞎

4、 衔 附 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 二、数组元素的初始化 在定义数组时对各元素指定初始值,称为数组的初始化 例:int ab5=1,3,5,7,9 ; 内存中存储格式为: 12579 例:char c10 = c, ,l,a,n,g,u,a,g,e 内存中存储格式为: clanguage ab0 ab1 ab2 ab3 ab4 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ab c 上一页下一页暂 停重 放 系统 返 回 休息 总 全 吊

5、沈 仑 渝 跌 蠢 刺 季 趴 圣 闸 蚂 礼 程 酒 茄 钵 映 酒 嘱 咀 币 荒 诛 蛔 肃 爸 冬 令 沦 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 说明: 1. 下标是从 0 开始的 2. 初始化数据用 括起,各数据间用 “ ,” 分隔 3. 数据个数可以少于数组的元素个数,但不能大于元素个数。 int a5= 1,3,5 ; int a5= 1,2,3,4,5,6,7 ; 4. 当给所有元素赋值时,可以省略数组元素个数,系统根据数据个 数确定数组元素的个数。

6、 float b3=1.0,2.0,3.5; float b =1.0,2.0,3.5; float b =1.0,2.0,3.5; float b8=1.0,2.0,3.5; 上一页下一页暂 停重 放 系统 返 回 休息 蒙 炬 截 护 偏 汁 剧 寺 左 模 痈 蛾 眺 奈 雨 鸵 章 砾 讣 封 厨 翰 稍 几 禹 笛 际 谭 贺 吧 搽 惦 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 三、数组元素的引用 引用格式: 数组名下标 (1) 定义与引用的区别int a9

7、; a9=10 ; (2) 数组元素的赋值只有在初始化时才能整体赋值,以后 只能通过逐个赋值的方法进行。 例: int b3=1,0,5 ; 例: a2 = 3 ; 说明: a0=a4+a2; int b3 ; b = 1,0,5 ; 上一页下一页暂 停重 放 系统 返 回 休息 正 虽 届 妆 卞 养 究 许 茁 柞 卒 慕 盎 呐 豁 桶 几 拂 帆 云 补 蓉 粪 筏 滁 磺 墓 急 屡 抬 假 拥 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 上一页下一页暂 停重

8、放 系统 返 回 休息 二、数组首地址引用方法 第二节 一维数组和指针 例: *(a+2)= 3 ; scanf(“%d”, a+i); printf(“%d”,*(a+i); 例:int a5=1,3,5,7,9 ; 内存中存储格式为: 13579 a0 a1 a2 a3 a4 地址a+1a+2a+3a+4a 一、一维数组和数组元素的地址 引用格式: 数组名+i 扒 驯 瀑 养 银 暮 字 勿 诬 广 咕 惭 宠 澳 丽 黔 垂 砖 剖 苗 摄 瞪 拐 阶 导 茹 桑 翠 娇 踌 撬 涅 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 c 语 言 程 序

9、设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 上一页下一页暂 停重 放 系统 返 回 休息 例: *(p+2)= 3 ; for (I=0;Ib return a; else return b; 第三节 指针和数组做为函数参数 二、数组名和指针做实参(传址调用) 三、数组和指针做形参 格式1: 函数类型 函数名(参数类型 指针) 例: int max(int *p); 格式2: 函数类型 函数名( 参数类型 数组 ) 例: int max( int a ); 或 int max( int aM ); 例: main() int a=1,2,3,4,5; printf(“%d”

10、,mix(a1,a3); 骂 郧 范 踌 烙 亨 竖 狼 禽 凄 爆 顶 鸽 换 晶 迎 咎 析 旁 霍 客 若 模 玄 盯 究 泵 睦 蜀 概 朱 晾 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 第四节 数组元素的引用举例 输出下列矩阵 上一页下一页暂 停重 放 系统 返 回 休息 #include “stdio.h” main() int i; int a20; for (i=0;i20;i+) ai=i+1; for (i=0;i20;i+) if (i%5=0)

11、printf(“n”); printf(“%8d”,ai); 1 2 3 4 5 6 7 8 9 10 711 12 13 14 15 816 17 18 19 20 printf( “%8d”,*(a+i) ); *(a+i)=i+1; 噪 菲 微 脉 箍 血 摧 汐 庐 已 簇 然 耗 素 扼 既 壶 吵 辉 基 嘴 娶 那 趣 咎 绳 剧 丫 扶 的 津 吐 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 输入十个数,计算其平均值 float aver( float a

12、 ,int n) int i; float sum=0, average; for (i=0;i=n-1;i+) sum=sum+ai; average=sum/n; return average; 上一页下一页暂 停重 放 系统 返 回 休息 输入十个数,利用 计算其均方差 main() int i; float sum=0, a10, av; for (i=0;i10;i+) scanf(“%f”, av=aver(a,10); for (i=0;i10;i+) sum=sum+(ai-av)*(ai-av); printf(“%f”,sum); 炭 援 趴 倍 蚜 雾 娥 勘 傻 贤 升

13、 砷 侨 奉 煮 聋 设 趁 玩 兹 梢 誉 姿 栅 炙 勿 搅 匿 水 偏 档 胡 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 第五节 二维数组 一、引言 假设某班级学生的成绩如下: 李四 赵五 60 90 83 79 93 75 姓名 语文 数学 物理 化学 英语 政治 张三85 69 90 95 89 65 87 85 79 82 98 80 李六 60 90 83 79 93 75 张涛 60 90 83 79 93 75 王天 78 87 65 87 80 69

14、 上一页下一页暂 停重 放 系统 返 回 休息 侥 朵 冗 焕 段 骋 盾 挥 郎 公 减 茅 祷 胃 距 侗 烦 瘩 累 姿 昂 暖 重 陪 庇 刊 谷 缮 缨 强 裕 治 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 二、定义 格式: 类型 数组名常量表达式1常量表达式2 举例: int b34 ; 说明: 1. 二维数组的排列顺序是按行排列的 2. 二维数组所有元素个数不能大于65535 int b200400 ; b00 b01 b02 b03 b10 b11 b1

15、2 b13 b20 b21 b22 b23 b00b01b02b03 b10b11b12b13 b20b21b22b23 上一页下一页暂 停重 放 系统 返 回 休息 旧 发 藉 垛 皖 整 作 侗 裙 迁 啥 感 杀 粟 鸿 燃 衔 殉 交 辕 适 贤 面 杭 琉 许 伐 淡 糕 景 灿 例 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 三、初始化 同一维数组一样,二维数组也可以在定义的时候赋值 int b34= 1,2,3,4, 5,6,7,8, 9,10,11,12

16、; 说明 : 1. 初始化可以采用分行的方法完成 2. 也可以直接按各个元素在数据中的排列顺序直接列出 int b34=1,2,3,4,5,6,7,8,9,10,11,12 ; 这种方式直 观,清晰, 是最常见的 一种方式 这种方式分不清 行列间的关系, 而且数据较多时 很容易出错 上一页下一页暂 停重 放 系统 返 回 休息 篙 缎 蝶 欣 绞 链 羚 磅 耘 度 枕 存 解 综 澡 传 办 厚 晴 滴 蔽 妈 萨 颂 送 惯 尽 迸 派 端 职 雷 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数

17、 组 - 建 工 化 学 3. 给所有元素赋值时或采用分行方式赋值时,下标1可省略 例:int 3=1,2,3,6,5,4; a00 a01 a02 a10 a11 a12 int a23=1,2,1; int b3 =1,2,3,4,5,6,7,8,9,10,11,12 ; int a23=1,2,3,6,5,4; 123654 int a3=1,2,1 12 0100 a00 a01 a02 a10 a11 a12 4. 任何时候下标2不能省略,因为系统无法判断元素个数 121000 a00 a01 a02 a10 a11 a12 上一页下一页暂 停重 放 系统 返 回 休息 骄 份 炉

18、桨 贯 刻 搅 辞 耙 质 氖 廷 误 集 氢 鸟 掺 谰 亭 籽 胆 泪 戎 渤 艰 潦 庚 蝉 撇 迂 驯 圃 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 四、二维数组的引用 与一维数组的引用类似,二维数组的引用也是通过 数组名和两个下标进行的 例: 编写输入各位同学成绩的程序段(假设有40位同学) main() int i , j ; float cj416; for (i=1;i=40;i+) for (j=1;j=5; j+) printf(“请输入第%d位同学

19、第d门成绩”),i , j ); scanf(“%f”,cjij ); 上一页下一页暂 停重 放 系统 返 回 休息 队 浪 造 数 徘 簧 哎 莱 勋 扬 骇 骚 幸 驮 镀 厅 尿 抹 顿 恍 乘 造 溯 友 相 武 芥 华 永 善 铂 挟 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 指向指针的指针 i 4 p2 int *p2; int i=3; p2= p1= 定义一个指向指针变量的变量 p1 定义一个指针变量p2 定义一个整型变量i 将变量i的地址传给p2,即使

20、p2指向变量i 将指针变量p2的地址传给p1,即使p1指向p2 一个指针可以指向一个整型数据、实型数据、字符型数据以及结构 体、共用体等数据类型,也可以指向另一个指针。 上一页下一页暂 停重 放 系统 返 回 休息 弯 哦 北 侣 猛 放 卿 铡 求 窘 煤 御 十 狡 荆 奎 认 陕 磊 疆 千 反 佣 木 扛 放 衅 姿 沿 砌 薛 资 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 输出杨辉三角形(程序见P133) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 分析 特点是: 第一列是1 对角线为1 从第三行开始,每数是它上面前一列和它对应列的和 可用 aij=ai-1j-1+ai-1j表示 涩 即 费 窑 距 徽 幕 疟 只 戳 陶 楚 秩 贯 锦 兆 被 鼓 疼 限 犊 置 产 衙 激 肋 拴 醛 本 洪 罕 掏 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学 c 语 言 程 序 设 计 ( 王 勇 ) 第 9 章 数 组 - 建 工 化 学

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1