二维数组指针字符串

上传人:无*** 文档编号:26538704 上传时间:2021-08-11 格式:PPT 页数:54 大小:173.01KB
收藏 版权申诉 举报 下载
二维数组指针字符串_第1页
第1页 / 共54页
二维数组指针字符串_第2页
第2页 / 共54页
二维数组指针字符串_第3页
第3页 / 共54页
资源描述:

《二维数组指针字符串》由会员分享,可在线阅读,更多相关《二维数组指针字符串(54页珍藏版)》请在装配图网上搜索。

1、二 维 数 组 、 指 针 、 字 符 串 数 组 数 组 是 由 若 干 相 同 数 据 类 型 的 数 据 所 组 成 的 有 序集 合 。 数 组 的 声 明 int a7; 数 组 的 操 作 : ai2 5 10 13 4 70 20a 0 1 2 3 4 5 6 二 维 数 组 二 维 表 数 表 ( 数 阵 , 矩 阵 ) 1 2 3 4 5 6 学 号 语 文 数 学 外 语1 100 100 1002 110 110 120 1.二 维 数 组 的 定 义 : 数 据 类 型 数 组 名 常 量 表 达 式 常量 表 达 式 例 : int a34; 定 义 了 一 个 3*

2、4(3行 4列 )的 数 组 。注 意 : 不 能 写 成 int a3,4;的 形 式 。 int a3,4;定 义 的 是 一 维 数 组 ; 数 组的 标 志 是 , 每 一 个 代 表 一 维 00 01 02 0310 11 12 1320 21 22 23 C+采 用 这 样 的 定 义 方 式 , 使 我 们 可 以 把 二 维 数 组 看 作 是 一 个 特 殊 的一 维 数 组 : 它 的 元 素 又 是 一 个 一 维 数 组 。 (即 把 二 维 数 组 的 每 行 看 作一 个 元 素 ) 例 : int a34; 可 以 把 a看 成 一 个 一 维 数 组 ,它 有

3、 3个 元 素 a0、 a1、 a2,每 个 元 素 又是 含 4个 元 素 的 一 维 数 组 。 见 下 图 。 a0 - a00,a01,a02,a03a a1 - a10,a11,a12,a13 a2 - a20,a21,a22,a23 此 时 , a0、 a1、 a2相 当 于 3个 一 维 数 组 的 名 字 , 上 面 定 义 的 二 维数 组 可 以 理 解 为 定 义 了 3个 一 维 数 组 , 即 相 当 于 int a0 4,a1 4, a2 4; C+的 这 种 处 理 方 法 很 方 便 , 我 们 在 后 面 会 体 会 到 C+语 言 中 , 二 维 数 组 中

4、 元 素 在 计 算 机 内存 中 的 存 放 顺 序 是 : 按 行 存 放 , 即 先 在 内存 中 存 放 第 一 行 的 元 素 , 再 放 第 二 行 的 元素 (第 一 维 变 化 慢 , 第 二 维 变 化 快 )。 例 : int a34; 二 维 数 组 a在 内 存 中 的 存 放顺 序 为a00,a01,a02,a03,10,a11,a12,a13,a20,a21,a22,a23 2 二 维 数 组 元 素 的 引 用 数 组 名 下 标 下 标 注 意 : 每 维 下 标 从 0开 始 ; 下 标 不 要 超 过 各 维 的 大 小 。 例 : int a34; 第 1

5、行 第 2列 的 元 素 是 a01 ( 也 可 说 成 第 1行 的 第 2个 元 素 是 a01) a23是 第 3行 的 第 4个 元 素 a33违 法 3 二 维 数 组 的 初 始 化 对 于 二 维 数 组 有 下 列 初 始 化 方 法 :( 1) 分 行 给 二 维 数 组 赋 初 值 , 如 : int a34=1,2,3,4,5,6,7,8,9,10,11,12; 这 种 赋 值 方 法 比 较 直 观 , 把 第 一 对 括 号 内的 数 值 赋 给 第 一 行 的 元 素 , 第 二 括 号 内 的数 值 赋 给 第 二 行 的 元 素 , 依 此 类 推 。 ( 2)

6、 可 以 将 所 有 数 据 写 在 一 个 花 括 号 内 , 这 时 , 计算 机 自 动 按 数 组 元 素 在 内 存 中 的 排 列 顺 序 对 各 元素 赋 初 值 。 例 : int a34=1,2,3,4,5,6,7,8,9,10,11,12;( 3) 可 以 只 对 数 组 中 部 分 元 素 初 始 化 。 如 : int a34=1,5,9;此 处 的 作 用 表 示 : a00元 素 被 赋 成 1,a10元 素 被赋 成 5,a20元 素 被 赋 成 9, 而 数 组 中 的 其 他 元 素被 初 始 化 为 0( 与 一 维 数 组 的 初 始 化 机 制 相 同

7、)( 4) 如 果 对 二 维 数 组 的 全 部 元 素 初 始 化 , 则 定 义 数组 时 第 一 维 长 度 可 以 省 略 , 但 第 二 维 长 度 不 能 省 ,如 : 分 行 进 行 初 始 化 , 如 :int a4=0,0,3,0,10;char c10= C , p , r , o , g , r ,a , m , 0 ; 4 二 维 数 组 的 赋 值 、 输 入 、 输 出 使 用 二 重 循 环 ,对 每 个 元 素 赋 值 、 输 入 和 输 出 : for(int i=0;i3;i+) for (int j=0;jaij; aij*=ai j; coutaije

8、ndl; 例 题 1 矩 阵 的 行 列 互 换 将 一 个 二 维 数 组 的 行 列 互 换 , 存 到 另 外 一个 二 维 数 组 中 。 例 如 : a= 1 2 3 行 列 互 换 后 放 在 数 组 b中 , b= 1 4 4 5 6 2 5 3 6 例 题 2 河 图 将 19填 到 九 宫 格 中 , 使 得 横 竖 斜 三 个 方 向的 三 个 数 之 和 均 为 15 int main() for(int i=1;i=9;i+) for(int j=1;j=9;j+) a11=5; a00=i; a01=j; a02=15-i-j; a22=15-5-i; a12=15-

9、a02-a22; a10=15-5-a12; a20=15-i-a10; a21=15-a20-a22; if (check() print(); return 0; int check() int flag10=0,0,0,0,0,0,0,0,0,0; for(int i=0;i3;i+) for(int j=0;j0)else return 0; return 1; 多 维 数 组 有 了 二 维 数 组 的 基 础 , 再 掌 握 多 维 数 组 是 不 困 难 的 。 例 如 ,三 维 实 数 数 组 定 义 为 : 数 据 类 型 数 组 名 常 量 表 达 式 常 量 表 达 式

10、常 量 表 达 式 ; double a234 定 义 了 三 位 数 组 , 共 2*3*4=24个 元 素 。 多 维 数 组 在 内 存 中的 排 列 顺 序 类 似 于 二 维 数 组 , 第 一 维 的 下 标 变 化 最 慢 , 最右 边 的 下 标 变 化 最 快 。 a000,a001,a002,a003,a010, 指 针 变 量 的 地 址 内 存 空 间 的 访 问 方 式 通 过 变 量 名 访 问 通 过 地 址 访 问 取 地 址 运 算 符 : 则 static int *i_pointer= 指 向 整 型 变 量 的 指 针概 念 指 针 : 内 存 地 址

11、, 用 于 间 接 访 问 内 存 单 元指 针 变 量 : 用 于 存 放 地 址 的 变 量 2000 3i_pointer *i_pointeri 2000内 存 用 户 数 据 区 变 量 i变 量 j变 量 i_pointer362000200020043010引 用 例 1: i=3;/直 接 访 问例 2: *i_pointer=3;/间 接 访 问 变 量 的 指 针 就 是 变 量 的 地 址 ; 用 来 存 放 变 量 的 地址 的 变 量 是 指 针 变 量 。 指 针 变 量 有 时 简 称 为 指 针 。 指 向 : 用 地 址 访 问 变 量 ( 间 接 访 问 )

12、 。 指 针 运 算 符 * 例 int a=5; int *p = *p = 6; p a5p a6 定 义 指 针 变 量 定 义 指 针 变 量 的 一 般 形 式 为 : 存 储 类 型 数 据 类 型 *指 针 变 量 名例 如 : int *p1;/p1是 指 向 整 形 数 据 的 指 针 变 量 static int *p2; char *da;/da是 指 向 字 符 形 数 据 的 指 针 变 量 指 针 变 量 名 是 p1, 而 不 是 *p1; 定 义 变 量 时 , 在 变 量 名 前 加 一 个 *表 示 该 变 量 是 指 针 变 量 数 据 类 型 * 是 指

13、 针 ( 变 量 ) 的 类 型 存 储 类 型 数 据 类 型 是 指 针 变 量 的 基 类 型 在 定 义 指 针 变 量 时 必 须 指 定 基 类 型 ( 指 针 的 运 算 ) 指 针 变 量 的 初 始 化 和 赋 值 语 法 形 式 存 储 类 型 数 据 类 型 *指 针 变 量 名 地 址 ; 指 针 变 量 名 地 址 例 : int a,b; int *pa= pa= pa=0; 注 意 事 项 “ 地 址 ” 中 存 放 的 数 据 类 型 与 指 针 类 型 必 须 相 符 。 向 指 针 变 量 赋 的 值 必 须 是 地 址 常 量 或 变 量 , 不 能 是

14、普 通 整 数 。 但 可 以 赋 值 为 整 数 0, 表 示 空 指 针 。 编 程 序 : 用 指 针 交 换 两 个 变 量 的 值 指 针 变 量 的 引 用 在 C+语 言 中 有 两 个 有 关 指 针 的 特 别 运 算 符 : int *p= cins; ( 2) 用 cout输 出 , 格 式 是 : cout字 符 串 或 字 符 数 组 名 ; 例 : char s20=“This is a string.”; couts; 的 输 出 结 果 为 This is a string.。 也 可 直 接 输 出 字 符 串 , 如 : cout“This is a str

15、ing” 注 : 字 符 数 组 中 若 没 有 字 符 串 结 束 标 志 , 则 一 直 输 出 到 在 内 存 中 碰到 0标 志 。 6.字 符 串 处 理 函 数 求 字 符 串 的 长 度 函 数 原 型 : strlen( const char string ); 功 能 : 计 算 并 返 回 字 符 串 的 长 度 。 字 符 串 复 制 函 数 原 型 : strcpy(char destination, const char source) 功 能 : strcpy将 字 符 串 复 制 到 字 符 串 变 量 中 , 该 变 量 中 原 有 的 内 容 被覆 盖 。 必

16、 须 保 证 字 符 串 变 量 的 这 个 字 符 数 组 有 足 够 的 单 元 容 纳 字 符 串 。 函 数 原 型 : strncpy(char destination, const char source, int numchars); 功 能 : strncpy, 将 字 符 串 source中 前 numchars个 字 符 拷 贝 到 字 符 串destination中 。 字 符 串 连 接 原 型 : strcat(char target, const char source);功 能 : 将 字 符 串 source接 到 字 符 串 target的 后 面 , 必 须

17、 保 证 字 符 串 变量 空 间 足 够 。 原 型 : strncat(char target, const char source, int numchars);功 能 : 将 字 符 串 source的 前 numchars个 字 符 接 到 字 符 串 target的 后 面 字 符 串 比 较 调 用 格 式 : strcmp( 字 符 串 1, 字 符 串 2) 功 能 : 比 较 两 者 , 返 回 值 为 0, 则 相 等 。 为 大 与 0, 则 字 符 串 1大 与 字 符串 2; 否 则 小 于 。 求 子 串 位 置 调 用 格 式 : strstr( 字 符 串 ,

18、 子 串 ) ; 功 能 : 在 字 符 串 中 寻 找 子 串 , 如 找 到 , 返回 该 字 符 串 的 从 子 串 起 始 处 的 后 半 部 分 ,否 则 返 回 一 空 字 符 串 。 字 符 串 输 出 调 用 格 式 : cout字 符 串 功 能 : 显 示 输 出 字 符 串 字 符 串 输 入 调 用 格 式 1: cin字 符 串 变 量 功 能 : 输 入 一 个 空 白 字 符 串 的 字 符 串 。 调 用 格 式 2: cin.getline(字 符 串 变 量 , 变 量 大 小 ) 功 能 : 从 键 盘 输 入 一 个 以 Enter键 标 志 结 束 的 字 符 串 。 例 1 输 入 n个 字 符 串 , 要 求 找 出 其 中 的 最 大者 。 要 求 使 用 函 数 找 最 大 者 。 ( 每 个 字 符串 长 度 小 于 30) 例 2: 统 计 单 词 统 计 一 个 英 文 句 子 中 有 多 少 英 文 单 词 。 假设 句 子 中 字 符 数 小 于 80个 , 单 词 间 用 至 少一 个 空 格 隔 开 ( 可 以 有 多 个 空 格 ) , 句 子头 部 也 可 以 有 多 个 空 格 , 句 子 以 *作 为 结束 标 志 。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!