欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    新概念c语言案例教程__何勤.pdf

    • 资源ID:92664595       资源大小:30.99MB        全文页数:200页
    • 资源格式: PDF        下载积分:12金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    新概念c语言案例教程__何勤.pdf

    新 概 念 C程 序 设 计 教 程 上 册 何 勤 著 版 权 所 有第 一 章 C语 言 的 基 本 概 念 1.1 c 语 言 程 序 的 构 成 成 分:例 题 1.11)ftinclude/*编 译 预 处 理 命 令,将 标 准 输 入 输 出 函 数 2)作 为 头 文 件 包 扩 到 用 户 源 程 序 文 件 中*/3)8include/*编 译 预 处 理 命 令,将 系 统 提 供 的 数 学 函 数 4)作 为 头 文 件 包 扩 到 用 户 源 文 件 中*/5)int main()/函 数 名 为 main的 主 函 数 的 函 数 首 部 6)函 数 体 开 始 7)float x,y;定 义 部 分.定 义 变 量 及 其 类 型 8)x=45.2;语 句 部 分.赋 值 语 句 9)y=sqrt(3*x+5.6);语 句 部 分.赋 值 语 句 10)p rin tf(“斌 n”,y);语 句 部 分.输 出 语 句 11)return 0;/语 句 部 分.返 回 语 句 12)函 数 体 结 束 注 意:最 左 边 的 行 号 是 为 了 说 明 方 便 而 加 上 的,实 际 C语 言 程 序 中 是 不 能 有 的。1.C 语 言 的 源 程 序 的 主 要 构 成 成 分 是 函 数 定 义(从 第 5 到 第 12行)。一 个 C 语 言 源 程 序 文 件 一 般 由 多 个 函 数 定 义 顺 序 组 成(直 到 第 5 章 才 讨 论 由 两 个 以 上 函 数 构 成 的 C 语 言 源 程 序),但 是 其 中 必 须 有 一 个 main函 数。程 序 的 运 行 都 是 从 系 统 调 用 main函 数 开 始 的。2.函 数 定 义 由 函 数 首 部(第 5 行)和 函 数 体(第 6 到 第 12行)组 成。函 数 体 必 须 用 大 括 号“”和“”括 住。3.C 语 言 源 程 序 的 次 要 构 成 成 分 是:编 译 预 处 理 命 令(第 1、3 两 行 的 左 边 部 分)、注 释(每 一 行 右 半 部 以/开 始 的 内 容,或 以/*开 始,以*/结 束 的 内 容)和 声 明(见 第 5 章)。编 译 预 处 理 命 令 和 注 释 是 不 以 分 号 结 束 的。4.C语 言 程 序 中,(任 何 函 数 的)函 数 体 的 主 要 构 成 成 分 是:定 义 序 列(第 7 行 的 左 半 部)和 语 句 序 列(第 8行 到 第 11行 的 左 半 部)。这 两 种 成 分 都 要 以 分 号 结 束(复 合 语 句 除 外)。C 语 言 函 数 体 中,所 有 定 义 必 须 位 于 语 句 序 列 之 前(*注)。*注:这 是 C89标 准,其 它 高 级 编 程 语 言 不 一 定 有 此 先 后 顺 序 要 求。C99标 准 放 宽 了 要 求,可 以 在 复 合 语 句 的 前 半 部 定 义 仅 在 复 合 语 句 中 有 效 的 局 部 变 量,但 目 前 不 少 编 译 器 并 不 支 持 C99标 准。所 以,为 了 获 得 较 好 的 程 序 可 移 植 性,本 书 的 论 述 以 较 老 的 C89标 准 为 主。深 入 一 步:定 义 序 列 被 编 译 程 序 翻 译 成 了 内 存 中 的 数 据 序 列(包 括 对 存 放 数 据 的 内 存 空 间 的 事 先 安 排),而 语 句 序 列 则 被 翻 译 成 了 指 示 如 何 加 工 这 些 数 据 序 列 的 机 器 语 言 的 指 令 序 列。将 要 运 行 的 程 序 的 指 令 序 列 也 是 位 于 内 存 中 的。所 以 在 运 行 某 个 程 序 前,程 序 用 户 必 须 借 助 于 操 作 系 统 将 位 于 外 存 文 件 中 的 这 两 部 分 内 容 加 载 到 内 存 中。*5.在 正 式 进 行 编 译 之 前,编 译 预 处 理 程 序 将 根 据 源 程 序 中 的 编 译 预 处 理 命 令 对 源 程 序 文 件进 行 一 些 辅 助 性 的 文 本 插 入(include命 令)、替 换(#define命 令)和 编 辑 工 作。编 译 预 处 理 命 令 都 是 以“#”开 始,不 以 分 号 结 束。每 条 编 译 预 处 理 命 令 必 须 书 写 在 同 一 行 上。6.注 释 以“/*”开 始,以“*/”结 束。注 释 会 被 编 译 程 序 首 先 删 除 掉。但 良 好 的 注 释 使 程 序 更 易 被 人 们 读 懂。不 要 忘 记 书 写 注 释 的 结 束 符 号“*/”o 注 释 有 两 种 常 用 方 式:一 种 是 注 释 内 容 独 自 占 据 多 行,对 注 释 以 下 的 一 段 程 序 或 整 个 源 程 序 文 件 进 行 说 明;另 一 种 是 出 现 在 一 行 的 右 边,对 该 行 左 边 的 内 容 进 行 说 明。(注 释 部 分 在 VC+6.0中 是 以 绿 色 字 体 显 示 出 来 的。)单 行 注 释 以“”开 始,它 用 起 来 比 较 方 便,但 它 不 是 C 语 言 标 准 规 定 的。1.2 C语 言 程 序 的 语 法 要 素 1.1 X 即 争 除 了 格 式 控 制 串(见 1.4节 printfO和 scanf()函 数)和 注 释 部 分 以 外 的 C 语 言 源 程 序 的 其 它 部 分,称 为 C 语 言 的 源 程 序 的 正 文 部 分。(正 文 部 分 在 VC6.0中 是 以 黑 色 字 体 显 示 出 来 的。)2.C 语 言 的 字 符 集,26个 大 小 写 英 文 字 母:A-Z,a-z;阿 拉 伯 数 字 字 符:0 9;特 殊 字 符:!#%,&*+=()?:空 格 字 符(对 应 键 盘 上 的 最 长 键 Space)换 行 符(对 应 Enter键)制 表 符(对 应 Tab键)以 上 所 有 这 些 字 符 构 成 了 C 语 言 的 字 符 集。书 写 C 语 言 的 源 程 序 的 正 文 部 分,只 能 使 用 C 语 言 字 符 集 中 的 字 符,其 它 任 何 字 符 不 得 使 用。字 符 集 中 的 任 何 字 符,只 能 用 英 文 半 角 方 式 来 进 行 输 入。3.标 识 符 是 以 26个 大 小 写 英 文 字 母、阿 拉 伯 数 字 0 到 9 和 下 划 线 构 成 的 字 符 序 列;其 中 从 左 边 开 始 的 第 一 个 字 符 不 能 是 数 字。在 C 语 言 中,只 能 使 用 符 合 标 识 符 规 定 的 名 字,来 对 变 量、符 号 常 量、函 数、语 句 标 号 命 名。C 语 言 对 标 识 符 的 大 小 写 敏 感,也 就 是 说 main与 Main,printf与 Printf都 是 不 同 的 标 识 符(main和 printf都 是 C 语 言 中 的 已 经 规 定 的 函 数 名,所 以,我 们 不 能 用 来 作 为 自 定 义 的 标 识 符)。4.关 键 字 是 被 编 译 程 序 保 留 下 来 的 特 殊 标 识 符;主 要 分 为 两 大 类:用 于 定 义(或 声 明)的 关 键 字 和 用 于 构 成 语 句 的 关 键 字。(C89标 准 中 的)关 键 字 都 是 由 小 写 英 文 字 母 组 成 的。关 键 字(还 包 括 预 处 理 明 令)在 VC+6.0中 是 以 蓝 色 字 体 显 示 出 来 的。所 有 关 键 字 列 表 如 下:在 ANSI C89标 准 中 共 有 32个 关 键 字 auto break case char const continue default do double else enumextxrn float for goto if int long register return short signedsizeof static struct switch typedef union unsigned void volatile while在 ANSI C99标 准 中 增 加 了 5 个 关 键 字 Bool Complex Imaginary inline restrict5.C 语 言 源 程 序 中 可 使 用 的 分 隔 符 有 三 个:空 格、回 车/换 行、逗 号。同 类 项 之 间 要 用 逗 号 分 隔,关 键 字 和 标 识 符 之 间 要 用 空 格 或 回 车/换 行 来 分 隔,不 能 用 逗 号(比 如 int在 C 语 言 中,合 理 地 使 用 多 余 的 空 格 和 空 行,可 以 使 得 程 序 更 清 晰、易 懂、优 美。6.C 语 言 中 常 量 分 为 数 值 常 量(又 称 为 字 面 常 量)和 符 号 常 量 两 种。应 当 多 使 用 符 号 常 量,尽 量 少 用 数 值 常 量。最 常 用 的 数 值 常 量 有 以 下 儿 种:1).整 型 常 量 567,-425,0 等,是 没 有 小 数 分 量 的 数 值。2).实 型(浮 点 型)常 量:由 正 负 号、数 字、小 数 点 构 成。0.543、5 4 3.、543.0、0.0都 是 十 进 制 的 小 数 形 式。在 数 的 左 边 还 可 以 加 上 正 负 号。比 如-5 4 3.0。3).字 符 型 常 量 K,*,8,,W 等,是 用 单 引 号 括 起 来 的 ASCH码 表 中 的 字 符,包 括 键 盘 上 的 可 显 示(或 可 打 印)的 字 符 和 不 可 显 示 的 一 些 控 制 字 符(字 符 n 就 是 表 示 一 个 控 制 字 符 Enter键,详 见 附 录 ASCH码 表)。深 入 一 步:字 符 型 量 的 本 质 字 符 常 量 在 编 写 程 序 时,要 用 两 个 单 引 号 括 住 它。它 属 于 一 种 从 表 面 上 看 来 是 非 数 值 型 的 量。但 其 实 在 计 算 机 的 内 存 中,它 就 是 以 ASCII码 的 形 式 存 储 的,占 用 一 个 字 节 内 存 空 间 的 一 个 二 进 制 正 整 数(取 值 在 0127之 间)。字 符 型 量 是 用 计 算 机 进 行 文 字 处 理 的 基 础。符 号 常 量 一 般 由 大 写 英 文 字 母 组 成 的 标 识 符 构 成,用#define来 进 行 定 义,比 如:#definc PI 3.1416。源 程 序 中 所 有 出 现 的 记 号 P I都 会 被 编 译 预 处 理 程 序 用 3.1416替 代。修 改 常 量 的 值 变 得 非 常 方 便,程 序 的 可 读 性 也 更 好。7.变 量 定 义 变 量 的 作 用:要 求 系 统 为 存 放(其 数 值 可 以 变 化 的)数 据 事 先 分 配 内 存 单 元,变 量 名 作 为 内 存 单 元 的 行 号 地 址。定 义 变 量 的 形 式 是:类 型 名 变 量 列 表:定 义 变 量 只 能 使 用 标 识 符。多 个 变 量 之 间 用 逗 号 隔 开,构 成 变 量 列 表。C 语 言 中 各 种 常 用 的 变 量 类 型 是 int(整 型)、float(单 精 度 浮 点 型)、char(字 符 型)、double(双 精 度 浮 点 型)、long(长 整 型)。通 过 变 量 名 score,可 以 找 到(即 映 射 为)相 应 的 内 存 单 元 地 址。假 设 地 址 为 2000,语 句:score=38.0;的 含 义 和 作 用 是:将 数 值 38.0存 放 在 地 址 为 2000的 内 存 单 元 中。变 量 的 值 是 可 以 变 化 的。而 变 量 名 所 对 应 的 内 存 地 址 是 不 变 的。8.变 量 一 定 要 先 进 行 定 义,定 义 后 一 定 要 进 行 初 始 化(即 存 入 一 个 初 始 值 在 变 量 对 应 的 内 存 单 元 中,参 见 P 页),然 后 才 能 在 表 达 式 中 使 用 或 进 行 输 出。否 则,变 量 所 对 应 的 内 存 单 元 中 的 垃 圾 掣 般 就 会 在 程 序 中(的 表 达 式 或 输 出 语 句)被 误 用。9.运 算 符 是 用 来 告 诉 编 译 程 序 对 运 算 量 要 做 何 种 运 算 的 抽 象 形 式。由 编 译 程 序 转 化 成 具 体 的 运 算 类 指 令。最 常 用 的 运 算 符 分 为 三 大 类:算 术 运 算 符、关 系 运 算 符(见 下 一 章)、逻 辑 运 算 符(见 下 一 章)。各 种 算 术 运 算 符 见 下 表 表 2.x 各 种 算 术 运 算 符 运 算 符 运 算 举 例 结 果+正 号+8 8-负 号-a(a 的 值 为 3)-3+加 11+5 16-减 11-5 6*乘 法 11*5 55/除 法 11/5 2(这 是 整 数 除 法)/除 法 11.0/5 2.2(这 是 实 数 除 法)乘 法 运 算 符 最 容 易 漏 写(比 如:将 2*x*y,误 写 为 2xy),不 要 把 实 数 除 法 运 算 符 误 用 为 整 数 除 法(比 如:错 把 1.0/3写 成 1/3 o 1/3的 值 是 0)。%取 模(取 整 除 的 余 数)11%5 1(1 1除 以 5 的 余 数)10.所 谓 表 达 式,是 用 运 算 符 将 运 算 量(常 量、变 量、函 数 调 用)连 接 起 来 的 有 意 义 的 式 子。其 中 还 可 使 用 圆 括 号 来 改 变 运 算 符 固 有 的 先 后 运 算 顺 序 圆 括 号 内 的 部 分 优 先 进 行 运 算。单 个 常 量、变 量 和 函 数 调 用 是 最 简 单 的 表 达 式。在 初 学 编 程 时,表 达 式 极 易 出 现 多 种 书 写 错 误。在 命 令 型 高 级 语 言 中,实 际 上 只 能 用 表 达 式 和 语 句 这 种 抽 象 的、形 式 化 的 方 式,来 命 令 计 算 机 为 你 进 行 数 据 处 理 工 作(由 编 译 程 序 转 化 为 一 系 列 的 取 数 指 令 和 运 算 指 令)。单 个 常 量、单 个 变 量 和 单 个 函 数 调 用 是 最 简 单 的 表 达 式(比 如 x,可 以 看 成 是 表 达 式 x+0)深 入 一 步:普 通 的(指 没 有 副 作 用 的,见 本 章 提 高 部 分)表 达 式 中 出 现 变 量 的 含 义 表 达 式 x+y中,出 现 变 量 的 含 义 是:根 据 变 量 名(这 对 应 着 一 个 内 存 单 元 的 地 址)到 内 存 中 去 取 该 变 量 的 值(取 到 CPU的 某 个 寄 存 器 中 去),然 后(在 运 算 器 中)进 行 指 定 的 运 算。该 变 量 的 值 依 然 不 变。11.赋 值 语 句 的 形 式 是:变 量=&达 式;。赋 值 语 句 先 计 算 出 赋 值 号“=”右 边 表 达 式 的 值,然 后 将 此 值 存 放 在 赋 值 号 左 边 的 变 量(所 对 应 的 内 存 单 元)之 中。注 意:赋 值 号 的 左 边 不 能 是 表 达 式,只 能 是 单 个 变 量。赋 值 语 句 中 变 量 值 的 变 与 不 变:“左 边 改 变,右 边 不 变”赋 值 号 右 边 表 达 式 中 的 变 量(如 果 有 的 话)仅 仅 是 取 出 它 的 值 来 参 与 表 达 式 规 定 的 运 算,变 量 的 值 仍 然 未 变。而 赋 值 号 左 边 变 量(所 对 应 的 内 存 单 元 中)的 原 来 值,将 被 表 达 式 算 出 的 新 值 存 入 而“覆 盖”掉。12.形 式 如 x=包 含 方 堡/x 的 乂 滋 X、;(x 可 以 是 任 何 简 单 类 型 的 变 量)的 赋 值 语 句,大 量 的 出 现 在 程 序 中。它 表 示 的 是 一 种 琴 代 天 春 即 指 明 了 如 何 由 变 量 x 的 一 个 老 值(取 出 来 参 与 表 达 式 所 规 定 的 运 算),最 终 得 到 了 变 量 x 的 一 个 新 值(最 终 存 入 到 赋 值 号 右 边 的 变 量 X中)。专 题 讨 论:库 函 数 和 库 函 数 调 用 库 函 数:编 译 程 序(又 称 为 编 译 器)附 带 的,一 批 可 以 被 任 何 别 的 C语 言 程 序“调 用”的,通 用 的、命 名 了 的 子 程 序。所 有 这 些 库 函 数 组 成 了 一 个 标 准 函 数 库,与 编 译 程 序 一 道 打 包 发 行。安 装 了 C编 译 程 序 后,我 们 就 能 在 编 写 程 序 时,咽 为 这 些 库 函 数。函 数 调 用(function cal 1):在 我 们 编 写 的 C语 言 源 程 序 中,可 以 调 用 库 函 数 为 我 们 的 程 序 做 一 些 复 杂 的(通 常 是 辅 助 性 的)运 算 和 处 理 工 作,函 数 的 调 用 方 式 为:库 函 数 名(参 数 列 表)其 中 参 数 列 表 中 的 参 数 如 果 多 于 一 个,参 数 之 间 就 要 用 逗 号 隔 开.比 如 要 求 出 5.6 的 4次 方 是 多 少,就 要 调 用 库 函 数 pow(5.6,4);将 2 开 平 方,就 要 调 用 库 函 数:s q r t(2X调 用 库 函 数 时 千 万 不 要 忘 记 包 含 相 应 的 头 文 件.参 数 可 以 是 常 量、变 量、表 达 式。参 数 必 须 要 用 圆 括 号 括 住。比 如 pow(x,3.7)、sin(alfa*3.1416/180);C语 言 中 的 各 种 常 用 库 函 数 的 调 用 方 法 说 明,请 见 附 录。编 程 时 调 用 了 库 函 数,这 些 事 先 编 译 好 的、命 名 了 的 子 程 序,就 可 以 通 过“编 译”步 骤 之 后 的“链 接”这 一 步 骤,“键 入”到 你 所 编 写 的 程 序 之 中,共 同 组 成 一 个 可 执 行 的 机 器 语 言 程 序(可 执 行 程 序 文 件 的 扩 展 名 是.exe)。这 样 就 可 以 大 大 减 少 编 写 程 序 的 工 作 量.以 下 仅 列 出 常 用 的 数 学 库 函 数(要 包 含 头 文 件 math,h):sin(x)x 为 弧 度,正 铉 函 数 cos(x)X 为 弧 度,余 铉 函 数 exp(x)Xe 以 e 为 底 的 指 数 函 数 log(x)logcx 以 e 为 底 的 对 数 函 数 loglO(x)logioX 以 10为 底 的 对 数 函 数 fabs(x)X 求 X 的 绝 对 值 函 数 fmod(x,y)整 除):/y的 余 数 floor(x)求 不 大 于 X 的 最 大 整 数 pow(x,y)xy赛 函 数,sqrt(x)x1/2开 平 方 函 数 1.3数 据 输 出 与 输 入:1.3.1 数 据(变 量 或 表 达 式 的 值)输 出 可 调 用 格 式 化 输 出 库 函 数:p r in tf()函 数。调 用 的 一 般 形 式 为 p r in tf(参 数 1,参 数 2,参 数 3,参 数 n)其 中 参 数 1 是 格 式 控 制 串。参 数 2,参 数 3,,参 数 n 是 输 出 项 列 表 例 题 1.2#ncludemain()(in t num;f lo a t x;num=123;x=34.678p r in tf(/z%d%f”,num,x);程 序 运 行 结 果 为:123 34.678000格 式 控 制 串 是 用 双 引 号 括 起 来 的 字 符 串。%d是 第 一 个 输 出 项 num的 格 式 说 明,以 有 符 号 的 卜 进 制 形 式 输 出 整 数(正 数 不 输 出 符 号)%f是 第 二 个 输 出 项 x 的 格 式 说 明,以 小 数 形 式 输 出 单、双 精 度 实 数,默 认 输 出 6 位 小 数 显 然,%d是 控 制 整 数 num的,%f是 控 制 实 数 x 的。为 了 清 晰 起 见,格 式 控 制 串 中 除 了 格 式 说 明 之 外,还 可 以 有 按 照 原 样 输 出 的 普 通 字 符 例 如:p r in tf(num=%d x=%f”,num,x);输 出 结 果 为:num=123 x=34.678000如 果 num是 车 牌 号,而 x 是 车 速 的 话,则 以 下 的 语 句 更 为 优 秀:printf(车 牌 为 d 号,车 速 是%f千 米/小 时 n”,num,x);输 出 结 果 为:车 牌 为 123号,车 速 是 34.678000千 米/小 时 在 格 式 控 制 串 中,还 可 以 有 换 行 符 号 n(这 是 一 种 转 义 字 符)例:printf(num=%dnx=%fw,num,x);输 出 结 果 为:num-123x=34.678000域 宽 和 精 度%m.nf:对 于 实 数,要 想 改 变 默 认 的 小 数 点 后 面 显 示 6 位。可 改 为%,nf例 如:printf 例 x=%.2fw,x);输 出 结 果 为:x=34.68 4 舍 5 入 printf(x=%7.2f,x);输 出 结 果 为:产 34.68说 明:34.68左 边 多 出 两 个 空 格,整 个 变 量 x 的 输 出 域 宽(包 括 小 数 点)占 了 7 位。如 果 指 定 域 宽 小 于 输 出 项 的 实 际 宽 度,则 指 定 的 域 宽 不 起 作 用。1.4.2数 据(变 量)输 入,可 调 用 格 式 化 输 出 库 函 数:scanf。函 数 格 式 化 输 入 库 函 数 scanf的 调 用,可 以 使 得 程 序 运 行 暂 停 下 来,等 待 用 户 的 输 入,程 序 用 户 可 以 通 过 键 盘 输 入 一 个 数 值 到 变 量(所 对 应 的 内 存 单 元)中。不 过 在 函 数 调 用 时,第 一 个 参 数 是 相 应 的 占 位 符%d,%f 或 c,它 们 与 要 输 入 的 变 量 类 型 的 对 应 关 系 如 下 表:占 位 符 输 入 变 量 的 类 型%d int%f float%c char库 函 数 scanf()的 调 用 通 过 键 盘 输 入 一 个 变 量 值 的 最 简 单 形 式 是:scanf(占 位 符、&变 量 名);变 量 左 边 的 符 号 是 一 个 取 地 址 符 号。这 个 取 地 址 符 号,在 scanf()函 数 调 用 时,初 学 者 最 容 易 漏 写。注 意:占 位 符 中 的 转 携 申 明 一 定 要 与 后 面 存 储 输 入 数 据 的 变 曩 等 犁 相 匹 配。深 入 一 步:格 式 化 库 输 入 函 数 scanf()的 工 作 原 理 简 述 等 待 程 序 用 户 从 键 盘 上 输 入 字 符 串,在 用 户 按 下 回 车 键 后,按 照 占 位 符 中 的 转 换 说 明,对 输 入 字 符 串 进 行 数 值 数 制 转 换,变 成 二 进 制 的 整 数、实 数 或 ASCII码,然 后 将 此 二 进 制 的 整 数、实 数 或 ASCH码,存 入 到 由 后 一 个 参 数(即“&变 量”)指 定 了 地 址 的 变 量 所 对 应 的 内 存 单 元 中。不 必 感 到 吃 惊,你 在 PC机 或 笔 记 本 电 脑 的 键 盘 上 的 任 何 多 次(或 一 次)击 键 产 生 的 输 入,系 统 其 实 都 是 当 作 一 串(或 一 个)字 符 来 对 待 的。功 能 强 大、复 杂 而 又 容 易 用 错 的 格 式 化 输 入 库 函 数 scanf()的 比 较 详 细 的 讲 解 请 参 见 本 章 提 高 部 分。1.5 用 计 算 机 求 解 问 题 的 一 般 步 骤:到 目 前 为 止,我 们 学 了 不 少 有 关 c 语 言 的 基 础 语 法 知 识。但 是 在 进 行 编 程 工 作 时,其 实 只 有 变 量、表 达 式、赋 值 语 句、输 入 数 据 到 变 量 和 输 出 变 量 或 表 达 式 的 结 果,这 些 要 素 才 是 我 们 需 要 重 点 考 虑 的。其 中 的 变 量,成 为 我 们 编 程 解 决 实 际 问 题 时 的 核 心 和 主 线。要 考 虑 的 关 键 问 题 是:需 要 定 义 哪 些 变 量;需 要 输 入 哪 些 L1知 的 变 量;如 何 根 据 己 知 的 变 量 构 造 出 合 适 的 表 达 式,从 而 用 赋 值 语 句 来 求 出 未 知 变 量 的 值;最 后 将 求 出 的 变 量(或 表 达 式)的 值 输 出。用 计 算 机 求 解 问 题,解 决 问 题 的 一 般 过 程 是:1.用 普 通 语 言 简 要 并 尽 可 能 精 确 地 叙 述 问 题;2.问 题 中 已 知 的 量 有 几 个,其 中 有 几 个 量 随 求 解 的 具 体 应 用 场 合 会 发 生 变 化?(这 些 量 应 当 定 义 为 变 量)有 哪 几 个 不 会 发 生 变 化(这 些 量 可 用 数 值 常 量 或 符 号 常 量 来 表 示)?其 中 会 变 化 的 已 知 量 一 般 应 当 在 程 序 中 用 到 此 数 据 前,用 输 入 函 数 调 用(有 的 高 级 语 言 用 输 入 语 句)进 行 数 据 输 入。3.问 题 中 要 求 出 的 有 几 个 量?4.从 已 知 的 量 如 何 得 到 要 求 出 的 量?有 何 公 式 可 以 利 用?有 何 方 程 式 可 以 利 用?如 果 是 公 式,就 可 以 直 接 将 其 转 换 为 赋 值 语 句,只 需 把 公 式 右 边 的 数 学 表 达 式 转 换 为 高 级 语 言 的 算 术 表 达 式 即 可。如 果 是 方 程 式,则 需 你 自 己 亲 自 将 方 程 式 求 解 得 到 最 后 的 公 式,然 后 将 其 转 换 为 赋 值 语 句,只 有 到 了 这 一 步,才 可 以 将 工 作 交 给 计 算 机 做。5.如 果 从 已 知 的 到 要 求 的 最 终 结 果 需 要 一 些 中 间 变 量,则 需 要 在 程 序 中 说 明 这 些 中 间 变 量,并 且 得 到 怎 么 从 已 知 的 量 到 中 间 变 量 的 值 的 公 式,最 终 山 已 知 量,中 间 变 量 得 到 所 要 求 的 结 果 的 公 式,将 所 有 这 些 公 式 转 换 为 赋 值 语 句。6.将 结 果 输 出。其 中 最 为 困 难 的 往 往 是 第 4 步 和 第 5 步。这 两 步 通 常 又 被 称 为 寻 找 求 解 问 题 的 算 法。1.6 逐 步 求 精 的 伪 代 码 表 示 算 法:表 示 问 题 求 解 的 算 法 有 多 种 方 法,其 中 最 为 常 用 的 是 伪 代 码 和 流 程 图。但 由 于 流 程 图 只 适 合 解 决 规 模 较 小 的、比 较 简 单 的 问 题。虽 然 初 学 者 易 于 理 解 和 掌 握,但 在 程 序 员 和 编 程 高 手 中 并 不 流 行 因 为 它 不 利 于 对 算 法 的 构 思、修 改 和 调 整(仅 适 用 于 比 较 清 晰 地 表 达 算 法)。所 以 本 书 不 作 介 绍(养 成 了 用 流 程 图 来 表 示 算 法 的 习 惯 后,人 们 很 难 再 转 变 成 用 其 它 更 好 的 方 式 去 构 造 算 法,所 以 还 不 如 一 步 到 位,采 用 伪 代 码)。本 书 使 用 的 是 用 逐 步 求 精 的 伪 代 码 来 表 示 算 法。所 谓 伪 代 码 没 有 严 格 的 规 范(所 以 也 比 较 灵 活),但 其 中 有 一 些 结 构 要 素,可 以 用 一 些 比 较 规 范 的 方 式 来 表 述 对 问 题 的 计 算 和 处 理 流 程。一 级 算 法 只 是 解 决 问 题 的 一 个 轮 廓。有 些 复 杂 问 题,只 根 据 一 级 算 法 还 难 以 直 接 写 出 c语 言 的 源 程 序。这 时 可 对 一 级 算 法 进 一 步 求 精(称 为 二 级 求 精),将 它 其 中 的 某 些 步 骤,扩 展 成 更 详 细 的 步 骤,.直 到 可 以 很 容 易 写 出 C 语 言 程 序 的 语 句 时 为 止。对 于 某 些 人 是 很 显 然 的 算 法 描 述,对 于 其 他 人 可 能 并 不 显 而 易 见。因 此,算 法 求 精 的 过 程 和 步 骤 是 因 人 而 异 的。你 的 编 程 经 验 越 丰 富,算 法 求 精 的 步 骤 就 可 能 越 少。不 过,算 法 求 精 的 步 骤 太 少 也 不 一 定 是 好 事。因 为 程 序 员 的 个 良 好 习 惯,就 是 把 伪 代 码 表 示 的 级 算 法(最 多 到 二 级 求 精),转 变 为 源 程 序 中 的 注 释。注 释 太 过 简 洁,会 加 大 别 人 和 自 己 阅 读 程 序 的 困 难。学 习 体 会:学 习 用 伪 代 码 来 表 达 自 己 的 编 程 思 路 和 算 法,笔 者 的 体 会 是 没 有 什 么 捷 径 让 你 能 够 迅 速 掌 握 它,开 始 只 能 是 去 模 仿,去 领 悟。时 间 长 了,看 的、模 仿 的、写 的 算 法 多 了,慢 慢 就 会 了。类 似 于 学 游 泳 和 学 骑 自 行 车。在 大 量 地 模 仿 和 大 量 地 实 践 过 程 中,你 就 会 不 知 不 觉 地 掌 握 它。第 1讲 大 小 写 字 符 之 间 的 转 换 编 写 一 个 程 序,运 行 时 接 受 用 户 输 入 的 小 写 英 文 字 母,程 序 将 其 转 换 为 大 写 英 文 字 母 并 显 示 在 屏 幕 上。类 型 必 修 题 趣 味 性*难 度*分 析:此 程 序 主 要 是 要 考 虑 如 何 由 输 入 的 任 意 一 个 小 写 的 英 文 字 母,得 到 所 对 应 的 大 写 英 文 字 母。查 看 ASCII码 表,发 现 所 有 小 写 英 文 字 母 的 ASCII码 值 都 比 相 应 的 大 写 字 母 ASCII码 值 大 32。即 存 在 以 下 等 式 关 系:大 写 英 文 字 母 的 ASCII码=小 写 英 文 字 母 的 ASCH码-32于 是 编 写 C 语 言 程 序 如 下:1#include2 main()3 4 char chi,ch2;5 printf(请 键 入 一 个 小 写 英 文 字 母 并 按 回 车 键 n”);6 scanf&chl);7 ch2=chl-32;8 printf(“相 对 应 的 大 写 英 文 字 母 为 cn,ch2);9)程 序 说 明:在 C 语 言 中,字 符 变 量 其 实 就 是 占 有 一 个 字 节 内 存 的 一 种 小 整 型 变 量,它 的 取 值 一 般 就 是 在 0 127之 间 的 整 数 值,对 应 着 标 准 ASCH表 上 的 128个 字 符。细 节 问 题 请 参 考 本 章 提 高 部 分:对 字 符 变 量 的 进 一 步 说 明。问 题 1:是 否 可 以 将 第 4 行 与 第 6 行 互 相 调 换?答:不 可 以。在 C 语 言 中,定 义(序 列)必 须 放 在 语 句(序 列)的 前 面。问 题 2:是 否 可 以 漏 掉 第 4 行 到 第 8 行 中 的 任 意 一 行 最 后 面 的 分 号?答:不 可 以。在 C 语 言 中,任 何 定 义 或 语 句,都 必 须 以 分 号 作 为 结 束 符。只 有 一 个 例 外 一 那 就 是 复 合 语 句,参 见 下 一 章。问 题 3:如 果 将 第 8 行 改 写 为:p r in tf(相 对 应 的 大 写 英 文 字 母 为%dn”,ch2);程 序 将 会 出 现 什 么 问 题?答:这 时 输 HI的 是 该 字 符 所 对 应 的 ASCH码(其 实 也 是 字 符 变 量 在 内 存 中 的 真 正 值 转 换 成 的 十 进 制 数)。第 2 讲 求 三 个 数 的 和 及 平 均 值 类 型 必 修 题 趣 味 性*难 度*变 量 安 排:3 个 已 知 的 数 要 用 3 个 变 量 a l,a2,a3;三 个 数 的 和 用 1个 变 量 sum,平 均 值 用 1个 变 量 ave,所 有 变 量 都 为 实 型 变 量。一 级 算 法:1.输 入 这 三 个 数 a l,a2,a3;2.求 这 三 个 数 的 的 和 sum及 平 均 值 ave:3.输 出 sum,ave;其 中 第 二 步 由 于 不 能 直 接 转 化 成 语 句 而 需 要 进 一 步 求 精 根 据 求 和 及 求 平 均 值 的 公 式 sum=a 1+a2+a3ave=sum-?3只 需 将 其 转 化 为 赋 值 语 句 即 可 第 2 步 的 二 级 求 精:2.1 sum=al+a2+a3;/*求 这 三 个 数 的 和 2.2 ave=sum/3;/*求 这 三 个 数 的 平 均 值 转 化 成 C 语 言 程 序:/*求 三 个 数 的 和 及 平 均 值*/1#include2 int main()3 4 float a l,a2,a3;/*三 个 已 知 数,说 明 为 实 型 变 量*/5 float sum,av e;/*两 个 未 知 数,说 明 为 实 型 变 量*/6/*输 入 这 三 个 数 a l,a2,a3*/7 p r in t/请 输 入 3 个 数,3 个 数 之 间 用 空 格 隔 开 n);8 scanfT%f%f%F,&al,&a2,&a3);910/*求 这 三 个 数 的 的 和 sum及 平 均 值 ave*/1 1 sum=al+a2+a3;12 ave=sum/3;1314/*输 出 sum,ave*/15 printf(sum=%f,ave=%f,sum,ave);16 return 0;17 注 意:运 行 此 程 序 时,要 用 键 盘 输 入 三 个 数 值 给 变 量 a l,a2,a 3,三 个 数 之 间 要 用 空 格 隔 开。输 完 后,按 下 回 车 键,程 序 才 会 继 续 运 行 下 去(其 中 的 道 理 参 见 9.5节)。、点 评 将 算 法 的 伪 代 码,转 化 为 程 序 中 的 注 释:注 意,伪 代 码 形 式 的 一 级 算 法,在 程 序 中 转 变 为 注 释,使 得 程 序 的 可 读 性 比 较 好。这 是 一 种 良 好 的 编 程 习 惯。问 题:如 果 将 第 8行 改 为 scanf(t4%f,%f,%f9,&al,&a2,&a3);数 据 应 当 如 何 输 入?答:输 入 的 数 据 之 间

    注意事项

    本文(新概念c语言案例教程__何勤.pdf)为本站会员(无***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开