2016 年 全 国 计 算 机 等 级 考 试 二 级 C 语 言 考 试 大 纲 基 本 要 求 1. 熟 悉 Visual C++ 6.0 集 成 开 发 环 境 2. 掌 握 结 构 化 程 序 设 计 的 方 法, 具 有 良 好 的 程 序 设 计 风 格 3. 掌 握 程 序 设 计 中 简 单 的 数 据 结 构 和 算 法 并 能 阅 读 简 单 的 程 序 4. 在 Visual C++ 6.0 集 成 环 境 下, 能 够 编 写 简 单 的 C 程 序, 并 具 有 基 本 的 纠 错 和 调 试 程 序 的 能 力 考 试 内 容 值 规 则 一 C 语 言 程 序 的 结 构 1. 程 序 的 构 成,main 函 数 和 其 他 函 数 2. 头 文 件, 数 据 说 明, 函 数 的 开 始 和 结 束 标 志 以 及 程 序 中 的 注 释 3. 源 程 序 的 书 写 格 式 4.C 语 言 的 风 格 二 数 据 类 型 及 其 运 算 1.C 的 数 据 类 型 ( 基 本 类 型, 构 造 类 型, 指 针 类 型, 无 值 类 型 ) 及 其 定 义 方 法 2.C 运 算 符 的 种 类 运 算 优 先 级 和 结 合 性 3. 不 同 类 型 数 据 间 的 转 换 与 运 算 4.C 表 达 式 类 型 ( 赋 值 表 达 式, 算 术 表 达 式, 关 系 表 达 式, 逻 辑 表 达 式, 条 件 表 达 式, 逗 号 表 达 式 ) 和 求 三 基 本 语 句 1. 表 达 式 语 句, 空 语 句, 复 合 语 句 2. 输 入 输 出 函 数 的 调 用, 正 确 输 入 数 据 并 正 确 设 计 输 出 格 式 四 选 择 结 构 程 序 设 计 1. 用 if 语 句 实 现 选 择 结 构 2. 用 switch 语 句 实 现 多 分 支 选 择 结 构 3. 选 择 结 构 的 嵌 套 五 循 环 结 构 程 序 设 计 1.for 循 环 结 构 2.while 和 do-while 循 环 结 构 3.continue 语 句 和 break 语 句 4. 循 环 的 嵌 套 六 数 组 的 定 义 和 引 用 1. 一 维 数 组 和 二 维 数 组 的 定 义 初 始 化 和 数 组 元 素 的 引 用 2. 字 符 串 与 字 符 数 组 七 函 数 1. 库 函 数 的 正 确 调 用 2. 函 数 的 定 义 方 法 3. 函 数 的 类 型 和 返 回 值 4. 形 式 参 数 与 实 在 参 数, 参 数 值 传 递 5. 函 数 的 正 确 调 用, 嵌 套 调 用, 递 归 调 用 - 1 -
6. 局 部 变 量 和 全 局 变 量 7. 变 量 的 存 储 类 别 ( 自 动, 静 态, 寄 存 器, 外 部 ), 变 量 的 作 用 域 和 生 存 期 八 编 译 预 处 理 1. 宏 定 义 和 调 用 ( 不 带 参 数 的 宏, 带 参 数 的 宏 ) 2. 文 件 包 含 处 理 九 指 针 1. 地 址 与 指 针 变 量 的 概 念, 地 址 运 算 符 与 间 址 运 算 符 2. 一 维 二 维 数 组 和 字 符 串 的 地 址 以 及 指 向 变 量 数 组 字 符 串 函 数 结 构 体 的 指 针 变 量 的 定 义 通 过 指 针 引 用 以 上 各 类 型 数 据 3. 用 指 针 作 函 数 参 数 4. 返 回 地 址 值 的 函 数 5. 指 针 数 组, 指 向 指 针 的 指 针 十 结 构 体 ( 即 结 构 ) 与 共 同 体 ( 即 联 合 ) 1. 用 typedef 说 明 一 个 新 类 型 2. 结 构 体 和 共 用 体 类 型 数 据 的 定 义 和 成 员 的 引 用 3. 通 过 结 构 体 构 成 链 表, 单 向 链 表 的 建 立, 结 点 数 据 的 输 出 删 除 与 插 入 十 一 位 运 算 1. 位 运 算 符 的 含 义 和 使 用 2. 简 单 的 位 运 算 十 二 文 件 操 作 只 要 求 缓 冲 文 件 系 统 ( 即 高 级 磁 盘 I/O 系 统 ), 对 非 标 准 缓 冲 文 件 系 统 ( 即 低 级 磁 盘 I/O 系 统 ) 不 要 求 1. 文 件 类 型 指 针 (FILE 类 型 指 针 ) 2. 文 件 的 打 开 与 关 闭 (fopen,fclose) 3. 文 件 的 读 写 (fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf 函 数 的 应 用 ), 文 件 的 定 位 (rewind, fseek 函 数 的 应 用 ) 考 试 题 型 (1) 选 择 40 (2) 程 序 填 空 18 (3) 程 序 改 错 18 (4) 程 序 编 程 24 考 试 时 间 3.26 120min 无 纸 化 考 试 - 2 -
总 体 上 必 须 清 楚 的 : 1) 程 序 结 构 是 三 种 : 顺 序 结 构, 循 环 结 构 ( 三 个 循 环 结 构 ), 选 择 结 构 (if 和 switch) 2) 读 程 序 都 要 从 main() 入 口, 然 后 从 最 上 面 顺 序 往 下 读 ( 碰 到 循 环 做 循 环, 碰 到 选 择 做 选 择 ) 3) 计 算 机 的 数 据 在 电 脑 中 保 存 是 以 二 进 制 的 形 式. 数 据 存 放 的 位 置 就 是 他 的 地 址. 4)bit 是 位 是 指 为 0 或 者 1 byte 是 指 字 节, 一 个 字 节 = 八 个 位. 5) 一 定 要 记 住 二 进 制 如 何 划 成 十 进 制 概 念 常 考 到 的 : 1 编 译 预 处 理 不 是 C 语 言 的 一 部 分, 不 再 运 行 时 间 C 语 言 编 译 的 程 序 称 为 源 程 序, 它 以 ASCII 数 值 存 放 在 文 本 文 件 中 2 每 个 C 语 言 程 序 中 main 函 数 是 有 且 只 有 一 个 3 在 函 数 中 不 可 以 再 定 义 函 数 4 算 法 的 是 一 定 要 有 输 出 的, 他 可 以 没 有 输 入 5 break 可 用 于 循 环 结 构 和 switch 语 句 6 逗 号 运 算 符 的 级 别 最 低 第 一 章 1) 合 法 的 用 户 标 识 符 考 查 : 合 法 的 要 求 是 由 字 母, 数 字, 下 划 线 组 成 有 其 它 元 素 就 错 了 并 且 第 一 个 必 须 为 字 母 或 则 是 下 划 线 第 一 个 为 数 字 就 错 了 关 键 字 不 可 以 作 为 用 户 标 识 符 号 main define scanf printf 都 是 关 键 字 迷 惑 你 的 地 方 If 是 可 以 做 为 用 户 标 识 符 因 为 If 中 的 第 一 个 字 母 大 写 了, 所 以 不 是 关 键 字 2) 实 型 数 据 的 合 法 形 式 : 2.333e-1 就 是 合 法 的, 且 数 据 是 2.333 10 1 考 试 口 诀 :e 前 e 后 必 有 数,e 后 必 为 整 数. 3) 字 符 数 据 的 合 法 形 式 :: '1' 是 字 符 占 一 个 字 节,"1" 是 字 符 串 占 两 个 字 节 ( 含 有 一 个 结 束 符 号 ) '0' 的 ASCII 数 值 表 示 为 48,'a' 的 ASCII 数 值 是 97,'A' 的 ASCII 数 值 是 65 4) 整 型 一 般 是 两 个 字 节, 字 符 型 是 一 个 字 节, 双 精 度 一 般 是 4 个 字 节 : 考 试 时 候 一 般 会 说, 在 16 位 编 译 系 统, 或 者 是 32 位 系 统 碰 到 这 种 情 况, 不 要 去 管, 一 样 做 题 掌 握 整 型 一 般 是 两 个 字 节, 字 符 型 是 一 个 字 节, 双 精 度 一 般 是 4 个 字 节 就 可 以 了 - 3 -
5) 转 义 字 符 的 考 查 : 在 程 序 中 int a = 0x6d, 是 把 一 个 十 六 进 制 的 数 给 变 量 a, 注 意 这 里 的 0x 必 须 存 在 在 程 序 中 int a = 06d, 是 一 个 八 进 制 的 形 式 在 转 义 字 符 中, \x6d 才 是 合 法 的,0 不 能 写, 并 且 x 是 小 写 \141 是 合 法 的 \108 是 非 法 的, 因 为 不 可 以 出 现 8 转 义 字 符 意 义 ASCII 码 值 ( 十 进 制 ) \a 响 铃 (BEL) 007 \b 退 格 (BS) 008 \f 换 页 (FF) 012 \n 换 行 (LF) 010 \r 回 车 (CR) 013 \t 水 平 制 表 (HT) 009 \v 垂 直 制 表 (VT) 011 \\ 反 斜 杠 092 \? 问 号 字 符 063 \' 单 引 号 字 符 039 \" 双 引 号 字 符 034 \0 空 字 符 (NULL) 000 \ddd 任 意 字 符 三 位 八 进 制 \xhh 任 意 字 符 二 位 十 六 进 制 6) 算 术 运 算 符 号 的 优 先 级 别 : 同 级 别 的 有 的 是 从 左 到 右, 有 的 是 从 右 到 左 7) 强 制 类 型 转 换 : 一 定 是 (int)a 不 是 int(a), 注 意 类 型 上 一 定 有 括 号 的 注 意 (int)( a+b) 和 (int)a+b 的 区 别 前 是 把 a+b 转 型, 后 是 把 a 转 型 再 加 b - 4 -
8) 表 达 式 的 考 查 : 是 表 达 式 就 一 定 有 数 值 赋 值 表 达 式 : 表 达 式 数 值 是 最 左 边 的 数 值,a=b=5; 该 表 达 式 为 5, 常 量 不 可 以 赋 值 自 加 自 减 表 达 式 : 假 设 a=5,++a( 是 为 6), a++( 为 5); 运 行 的 机 理 :++a 是 先 把 变 量 的 数 值 加 上 1, 然 后 把 得 到 的 数 值 放 到 变 量 a 中, 然 后 再 用 这 个 ++a 表 达 式 的 数 值 为 6, 而 a++ 是 先 用 该 表 达 式 的 数 值 为 5, 然 后 再 把 a 的 数 值 加 上 1 为 6, 再 放 到 变 量 a 中 进 行 了 ++a 和 a++ 后 在 下 面 的 程 序 中 再 用 到 a 的 话 都 是 变 量 a 中 的 6 了 考 试 口 诀 :++ 在 前 先 加 后 用,++ 在 后 先 用 后 加 逗 号 表 达 式 : 优 先 级 别 最 低 ; 表 达 式 的 数 值 逗 号 最 右 边 的 那 个 表 达 式 的 数 值 (2,3,4) 的 表 达 式 的 数 值 就 是 4 9) 位 运 算 的 考 查 : 会 有 一 到 二 题 考 试 题 目 总 的 处 理 方 法 : 几 乎 所 有 的 位 运 算 的 题 目 都 要 按 这 个 流 程 来 处 理 ( 先 把 十 进 制 变 成 二 进 制 再 变 成 十 进 制 ) 例 1: char a = 6, b; b = a<<2; 这 种 题 目 的 计 算 是 先 要 把 a 的 十 进 制 6 化 成 二 进 制, 再 做 位 运 算 一 定 要 记 住, 在 没 有 舍 去 数 据 的 时 候,<< 左 移 一 位 表 示 乘 以 2;>> 右 移 一 位 表 示 除 以 2 10)018 的 数 值 是 非 法 的, 八 进 制 是 没 有 8 的, 逢 8 进 1 11)% 符 号 两 边 要 求 是 整 数 不 是 整 数 就 错 了 12) 两 种 取 整 丢 小 数 的 情 况 : 1 int a =1.6; 2 (int)a; 第 二 章 1)printf 函 数 的 格 式 考 查 : %d 对 应 整 型 ;%c 对 应 字 符 ;%f 对 应 单 精 度 等 等 宽 度 的, 左 对 齐 等 修 饰 %ld 对 应 long int;%lf 对 应 double - 5 -
2)scanf 函 数 的 格 式 考 察 : 注 意 该 函 数 的 第 二 个 部 分 是 &a 这 样 的 地 址, 不 是 a; Scanf( %d%d%*d%d,&a,&b,&c); 跳 过 输 入 的 第 三 个 数 据 3)putchar,getchar 函 数 的 考 查 : char a = getchar() 是 没 有 参 数 的, 从 键 盘 得 到 你 输 入 的 一 个 字 符 给 变 量 a putchar( y ) 把 字 符 y 输 出 到 屏 幕 中 4) 如 何 实 现 两 个 变 量 x,y 中 数 值 的 互 换 ( 要 求 背 下 来 ) 不 可 以 把 x=y,y=x; 要 用 中 间 变 量 t=x;x=y;y=t 5) 如 何 实 现 保 留 三 位 小 数, 第 四 位 四 舍 五 入 的 程 序,( 要 求 背 下 来 ) x=(int)(x*1000+0.5)/1000.0 这 个 有 推 广 的 意 义, 注 意 x = (int)x 这 样 是 把 小 数 部 分 去 掉 第 三 章 特 别 要 注 意 :c 语 言 中 是 用 非 0 表 示 逻 辑 真 的, 用 0 表 示 逻 辑 假 的 1) 关 系 表 达 式 : 表 达 式 的 数 值 只 能 为 1( 表 示 为 真 ), 或 0( 表 示 假 ) 当 关 系 的 表 达 是 为 真 的 时 候 得 到 1 如 9>8 这 个 是 真 的, 所 以 表 达 式 的 数 值 就 是 1; 2) 逻 辑 表 达 式 : 只 能 为 1( 表 示 为 真 ), 或 0( 表 示 假 ) a) 共 有 &&! 三 种 逻 辑 运 算 符 号 b)!>&&> 优 先 的 级 别 c) 注 意 短 路 现 象 考 试 比 较 喜 欢 考 到 d) 要 表 示 x 是 比 0 大, 比 10 小 的 方 法 0<x<10 是 不 可 以 的 ( 一 定 记 住 ) 是 先 计 算 0<x 得 到 的 结 果 为 1 或 则 0; 再 用 0, 或 1 与 10 比 较 得 到 的 总 是 真 ( 为 1) 所 以 一 定 要 用 (0<x)&&(x<10) 表 示 比 0 大 比 10 小 3)if 语 句 else 是 与 最 接 近 的 if 且 没 有 else 的 相 组 合 的 4) 条 件 表 达 式 : 表 达 式 1? 表 达 式 2 : 表 达 式 3-6 -
注 意 是 当 非 0 时 候 是 表 达 式 2 的 数 值, 当 为 0 是 就 是 表 达 式 3 的 数 值 考 试 口 诀 : 真 前 假 后 5)switch 语 句 : a) 一 定 要 注 意 有 break 和 没 有 break 的 差 别, 没 有 break 时 候, 只 要 有 一 个 case 匹 配 了, 剩 下 的 都 要 执 行, 有 break 则 是 直 接 跳 出 了 swich 语 句 b)switch 只 可 以 和 break 一 起 用, 不 可 以 和 continue 用 第 四 章 1) 三 种 循 环 结 构 : a)for() ; while(); do- while() 三 种 b)for 循 环 当 中 必 须 是 两 个 分 号, 千 万 不 要 忘 记 c) 写 程 序 的 时 候 一 定 要 注 意, 循 环 一 定 要 有 结 束 的 条 件, 否 则 成 了 死 循 环 d) do-while() 循 环 的 最 后 一 个 while(); 的 分 号 一 定 不 能 够 丢 ( 当 心 上 机 改 错 ) 2) break 和 continue 的 差 别 记 忆 方 法 : break: 是 打 破 的 意 思,( 破 了 整 个 循 环 ) 所 以 看 见 break 就 退 出 整 个 一 层 循 环 continue: 是 继 续 的 意 思,( 继 续 循 环 运 算 ), 但 是 要 结 束 本 次 循 环, 就 是 循 环 体 内 剩 下 的 语 句 不 再 执 行, 跳 到 循 环 开 始, 然 后 判 断 循 环 条 件, 进 行 新 一 轮 的 循 环 3) 嵌 套 循 环 就 是 有 循 环 里 面 还 有 循 环, 这 种 比 较 复 杂, 要 一 层 一 层 一 步 一 步 耐 心 的 计 算, 一 般 记 住 两 层 是 处 理 二 维 数 组 的 4) while((c=getchar())!= \n ) 和 while(c=getchar()!= \n ) 的 差 别 先 看 a = 3!= 2 和 (a=3)! =2 的 区 别 : - 7 -
(!= 号 的 级 别 高 于 = 号 所 以 第 一 个 先 计 算 3!=2) 第 一 个 a 的 数 值 是 得 到 的 1; 第 二 个 a 的 数 值 是 3 考 试 注 意 点 : 括 号 在 这 里 的 重 要 性 第 五 章 函 数 : 是 具 有 一 定 功 能 的 一 个 程 序 块 ; 1) 函 数 的 参 数, 返 回 数 值 ( 示 意 图 ): main() { int a = 5,b=6,c; c = add(a,b); printf( %d,c); } 调 用 函 数 a,b 是 实 参 整 个 函 数 得 到 一 个 数 值 就 是 Add 函 数 的 返 回 数 值 int add ( int x, int y) { int z; z=x+y; return z; } 被 调 用 函 数 x,y 是 形 式 参 数 函 数 返 回 数 值 是 整 型 z 就 是 这 个 add 函 数 计 算 后 得 到 的 结 果, 就 是 函 数 返 回 给 主 程 序 的 返 回 数 值 程 序 是 在 从 上 往 下 顺 序 执 行, 当 碰 到 了 函 数 add 后, 把 a,b 的 数 值 穿 给 调 用 函 数, 程 序 暂 时 中 断 等 待 返 回 数 值 当 得 到 了 返 回 数 值 后, 再 顺 序 的 往 下 执 行 2) 一 定 要 注 意 参 数 之 间 的 传 递 实 参 和 形 参 之 间 传 数 值, 和 传 地 址 的 差 别 ( 考 试 的 重 点 ) 传 数 值 的 话, 形 参 的 变 化 不 会 改 变 实 参 的 变 化 传 地 址 的 话, 形 参 的 变 化 就 会 有 可 能 改 变 实 参 的 变 化 - 8 -
3) 函 数 声 明 的 考 查 : 一 定 要 有 : 函 数 名, 函 数 的 返 回 类 型, 函 数 的 参 数 类 型 不 一 定 要 有 : 形 参 的 名 称 第 六 章 指 针 变 量 的 本 质 是 用 来 放 地 址, 而 一 般 的 变 量 是 放 数 值 的 int *p 中 *p 和 p 的 差 别 : *p 可 以 当 做 变 量 来 用 ;* 的 作 用 是 取 后 面 地 址 p 里 面 的 数 值 p 是 当 作 地 址 来 使 用 *p++ 和 (*p)++ 的 之 间 的 差 别 : 改 错 题 目 中 很 重 要 *p++ 是 地 址 会 变 化 (*p)++ 是 数 值 会 要 变 化 三 名 主 义 :( 考 试 的 重 点 ) 数 组 名 : 表 示 第 一 个 元 素 的 地 址 数 组 名 不 可 以 自 加, 他 是 地 址 常 量 名 ( 考 了 很 多 次 ) 函 数 名 : 表 示 该 函 数 的 入 口 地 址 字 符 串 常 量 名 : 表 示 第 一 个 字 符 的 地 址 第 七 章 1 一 维 数 组 的 重 要 概 念 : 对 a[10] 这 个 数 组 的 讨 论 1 a 表 示 数 组 名, 是 第 一 个 元 素 的 地 址, 也 就 是 元 素 a[0] 的 地 址 2 a 是 地 址 常 量, 所 以 只 要 出 现 a++, 或 者 是 a=a+2 赋 值 的 都 是 错 误 的 3 a 是 一 维 数 组 名, 所 以 它 是 列 指 针, 也 就 是 说 a+1 是 跳 一 列 对 a[3][3] 的 讨 论 a[0] a[1] a[2] 也 都 是 地 址 常 量, 不 可 以 对 它 进 行 赋 值 操 作, 同 时 它 们 都 是 列 指 针,a[0]+1,a[1]+1, a[2]+1 都 是 跳 一 列 注 意 a 和 a[0] a[1] a[2] 是 不 同 的, 它 们 的 基 类 型 是 不 同 的 前 者 是 一 行 元 素, 后 三 者 是 一 列 元 素 - 9 -
二 维 数 组 做 题 目 的 技 巧 : 如 果 有 a[3][3]={1,2,3,4,5,6,7,8,9} 这 样 的 题 目 步 骤 一 : 把 他 们 写 成 : 第 一 列 第 二 列 第 三 列 a[0]à 1 2 3 -> 第 一 行 a[1]à 4 5 6 > 第 二 行 a[2]à 7 8 9 -> 第 三 行 步 骤 二 : 这 样 作 题 目 间 很 简 单 : *(a[0]+1) 我 们 就 知 道 是 第 一 行 的 第 一 个 元 素 往 后 面 跳 一 列, 那 么 这 里 就 是 a[0][1] 元 素, 所 以 是 1 *(a[1]+2) 我 们 就 知 道 是 第 二 行 的 第 一 个 元 素 往 后 面 跳 二 列 那 么 这 里 就 是 a[1][2] 元 素, 所 以 是 6 一 定 记 住 : 只 要 是 二 维 数 组 的 题 目, 一 定 是 写 成 如 上 的 格 式, 再 去 做 题 目, 这 样 会 比 较 简 单 数 组 的 初 始 化, 一 维 和 二 维 的, 一 维 可 以 不 写, 二 维 第 二 个 一 定 要 写 int a[]={1,2} 合 法 int a[][4]={2,3,4} 合 法 但 int a[4][]={2,3,4} 非 法 二 维 数 组 中 的 行 指 针 int a[1][2]; 其 中 a 现 在 就 是 一 个 行 指 针,a+1 跳 一 行 数 组 元 素 搭 配 (*)p[2] 指 针 a[0],a[1] 现 在 就 是 一 个 列 指 针 a[0]+1 跳 一 个 数 组 元 素 搭 配 *p[2] 指 针 数 组 使 用 还 有 记 住 脱 衣 服 法 则 : a[2] 变 成 *(a+2) a[2][3] 变 成 *(a+2)[3] 再 可 以 变 成 *(*(a+2)+3) 这 个 思 想 很 重 要! 第 一 章 C 语 言 概 述 一 选 择 题 : 1 一 个 C 程 序 的 执 行 是 从 ( A ) A 本 程 序 的 main 函 数 开 始, 到 main 函 数 结 束 B 本 程 序 文 件 的 第 一 个 函 数 开 始, 到 本 程 序 文 件 的 最 后 一 个 函 数 结 束 C 本 程 序 的 main 函 数 开 始, 到 本 程 序 文 件 的 最 后 一 个 函 数 结 束 D 本 程 序 文 件 的 第 一 个 函 数 开 始, 到 本 程 序 main 函 数 结 束 2 在 C 语 言 中, 每 个 语 句 必 须 以 ( D ) 结 束 A. 回 车 符 B. 冒 号 C. 逗 号 D. 分 号 3 C 语 言 规 定 : 在 一 个 源 程 序 中,main 函 数 的 位 置 ( C ) A. 必 须 在 最 开 始 B. 必 须 在 系 统 调 用 的 库 函 数 的 后 面 C. 可 以 任 意 D. 必 须 在 最 后 4 一 个 C 语 言 程 序 是 由 ( B ) A. 一 个 主 程 序 和 若 干 子 程 序 组 成 B. 函 数 组 成 - 10 -
C. 若 干 过 程 组 成 D. 若 干 子 程 序 组 成 5 下 列 说 法 中 错 误 的 是 ( D ) A. 主 函 数 可 以 分 为 两 个 部 分 : 主 函 数 说 明 部 分 和 主 函 数 体 B. 主 函 数 可 以 调 用 任 何 非 主 函 数 的 其 他 函 数 C. 任 何 非 主 函 数 可 以 调 用 其 他 任 何 非 主 函 数 D. 程 序 可 以 从 任 何 非 主 函 数 开 始 执 行 6 用 C 语 言 编 写 的 源 文 件 经 过 编 译, 若 没 有 产 生 编 译 错 误, 则 系 统 将 ( C ) A. 生 成 可 执 行 目 标 文 件 B. 生 成 目 标 文 件 C. 输 出 运 行 结 果 D. 自 动 保 存 源 文 件 二 填 空 题 : 1 C 语 言 只 有 32 个 关 键 字 和 9 种 控 制 语 句 2 每 个 源 程 序 有 且 只 有 一 个 main 函 数, 系 统 总 是 从 该 函 数 开 始 执 行 C 语 言 程 序 3 C 语 言 程 序 的 注 释 可 以 出 现 在 程 序 中 的 任 何 地 方, 它 总 是 以 \* 符 号 作 为 开 始 标 记, 以 */ 符 号 作 为 结 束 标 记 4 C 语 言 中, 输 入 操 作 是 由 库 函 数 scanf 完 成 的, 输 出 操 作 是 由 库 函 数 printf 完 成 的 5 系 统 默 认 的 C 语 言 源 程 序 文 件 的 扩 展 名 是.c, 经 过 编 译 后 生 成 的 目 标 文 件 的 扩 展 名 是.obj, 经 过 连 接 后 生 成 的 可 执 行 文 件 的 扩 展 名 是.exe 6 C 语 言 的 标 识 符 只 能 由 字 母 数 字 和 下 划 线 三 种 字 符 组 成 第 三 章 数 据 类 型 运 算 符 和 表 达 式 一 选 择 题 : 1 以 下 选 项 中, 不 正 确 的 C 语 言 浮 点 型 常 量 是 ( C ) A. 160. B. 0.12 C. 2e4.2 D. 0.0 2 以 下 选 项 中,( D ) 是 不 正 确 的 C 语 言 字 符 型 常 量 A. 'a' B. '\x41' C. '\101' D. "a" 3 在 C 语 言 中, 字 符 型 数 据 在 计 算 机 内 存 中, 以 字 符 的 ( C ) 形 式 存 储 A. 原 码 B. 反 码 C. ASCII 码 D. BCD 码 4 若 x i j 和 k 都 是 int 型 变 量, 则 计 算 下 面 表 达 式 后,x 的 值 是 ( C ) x=(i=4,j=16,k=32) A. 4 B. 16 C.32 D.52 5 算 术 运 算 符 赋 值 运 算 符 和 关 系 运 算 符 的 运 算 优 先 级 按 从 高 到 低 依 次 为 ( B ) A. 算 术 运 算 赋 值 运 算 关 系 运 算 B. 算 术 运 算 关 系 运 算 赋 值 运 算 C. 关 系 运 算 赋 值 运 算 算 术 运 算 D. 关 系 运 算 算 术 运 算 赋 值 运 算 - 11 -
6 若 有 代 数 式 3ae bc, 则 不 正 确 的 C 语 言 表 达 式 是 ( C ) A.a/b/c*e*3 B. 3*a*e/b/c C.3*a*e/b*c D. a*e/c/b*3 7 表 达 式!x a==b 等 效 于 ( D ) A.!((x a)==b) B.!(x y)==b C.!(x (a==b)) D. (!x) (a==b) 8 设 整 型 变 量 m,n,a,b,c,d 均 为 1, 执 行 (m=a>b)&&(n=c>d) 后, m,n 的 值 是 ( A) A. 0,0 B. 0,1 C. 1,0 D. 1,1 9 设 有 语 句 int a=3;, 则 执 行 了 语 句 a+=a-=a*=a; 后, 变 量 a 的 值 是 ( B ) A. 3 B. 0 C. 9 D. -12 10 在 以 下 一 组 运 算 符 中, 优 先 级 最 低 的 运 算 符 是 ( D ) A. * B.!= C. + D. = 11 设 整 型 变 量 i 值 为 2, 表 达 式 (++i)+(++i)+(++i) 的 结 果 是 ( B ) A. 6 B. 12 C. 15 D. 表 达 式 出 错 12 若 已 定 义 x 和 y 为 double 类 型, 则 表 达 式 x=1,y=x+3/2 的 值 是 ( C ) A. 1 B. 2 C. 2.0 D. 2.5 13 sizeof (double) 的 结 果 值 是 ( A ) A. 8 B. 4 C. 2 D. 出 错 14 设 a=1,b=2,c=3,d=4, 则 表 达 式 :a<b? a : c<d? a : d 的 结 果 为 ( D ) A. 4 B. 3 C. 2 D. 1 15 设 a 为 整 型 变 量, 不 能 正 确 表 达 数 学 关 系 :10<a<15 的 C 语 言 表 达 式 是 ( A ) A. 10<a<15 B. a= =11 a= =12 a= =13 a= =14 C. a>10 && a<15 D.!(a<=10) &&!(a>=15) 16 设 f 是 实 型 变 量, 下 列 表 达 式 中 不 是 逗 号 表 达 式 的 是 ( D ) A. f= 3.2, 1.0 B. f>0, f<10 C. f=2.0, f>0 D. f=(3.2, 1.0) 17 表 达 式 18/4*sqrt(4.0)/8 值 的 数 据 类 型 是 ( C ) A. int B. float C. double D. 不 确 定 18 已 知 字 母 A 的 ASCII 码 为 十 进 制 数 65, 且 c2 为 字 符 型, 则 执 行 语 句 C2= A + 6-3 ; 后 c2 中 的 值 是 ( A ) A. D B. 68 C. 不 确 定 的 值 D. C 19 以 下 用 户 标 识 符 中, 合 法 的 是 ( B ) A. int B. nit C. 123 D. a+b 20 C 语 言 中, 要 求 运 算 对 象 只 能 为 整 数 的 运 算 符 是 ( A ) A. % B. / C. > D. * 21 若 有 说 明 语 句 :char c='\72'; 则 变 量 c 在 内 存 占 用 的 字 节 数 是 ( A ) A. 1 B. 2 C. 3 D. 4 22 字 符 串 "ABC" 在 内 存 占 用 的 字 节 数 是 ( B ) A. 3 B. 4 C. 6 D. 8 23 要 为 字 符 型 变 量 a 赋 初 值, 下 列 语 句 中 哪 一 个 是 正 确 的 ( B ) A. char a="3"; B. char a= 3 ; C. char a=%; D. char a=*; 24 下 列 不 正 确 的 转 义 字 符 是 ( C ) - 12 -
A. \\ B. \' C. 074 D. \0-13 -