当前位置:首页 >> 工学 >>

百度文库C语言专升本辅导第一二章


C 语言程序设计详解

1

第一章
一、主要知识点 (一 ) 程 序 设 计 语 言 的 发 展 1、 机 器 语 言 设计语言

C 语言程序设计初步

2、 汇 编 语 言

3、 面 向 过 程 的 语 言

4、 面 向 对 象 的 程 序

(二 ) C 程 序 设 计 语 言 的 执 行 过 程 1、 编 辑 2、 编 译 3、 连 接 4、 执 行

(三 ) 用 库 函 数 组 装 C 程 序 例 1 : 计 算 2.1715 的 正 弦 值 。 #inc lude “ ma th.h” main ( { floa t a ; a=sin(2.1715 ); prin tf(“%f\n”,a ); } 详解: 1、 在 本 例 中 用 到 的 sin 函 数 称 为 数 学 函 数 , 它 是 为 了 用 户 使 用 方 便 , 由 一 批厂家开发编写的函数,并不是 C 语言的一部分。在使用数学函数时,往往要 用 到 函 数 执 行 时 所 需 的 一 些 信 息 ( 例 如 宏 定 义 ) 这 些 信 息 包 含 在 “ ma th.h ” 中 。 , 因 此 在 程 序 开 头 用 # inc lude “ ma th.h”将 有 关 的 标 头 文 件 包 括 到 程 序 中 。 2、 一 个 C 语 言 源 程 序 文 件 由 一 个 或 多 个 函 数 组 成 , C 语 言 的 基 本 组 成 单 位 是 函 数 。 一 个 完 整 的 C 语 言 程 序 有 且 只 有 一 个 称 为 主 函 数 的 ma in 函 数 , 程 序 总 是 从 ma in 函 数 开 始 执 行 , 调 用 其 它 函 数 后 再 回 到 ma in 函 数 , 在 main 函 数 中 结 束整个程序的运行。 3、 main 是 函 数 名 称 , 没 有 参 数 可 以 不 写 , 但 圆 括 号 不 能 省 略 , main( ) 后 面 有 一 对 花 括 号 , 花 括 号 内 的 部 分 称 为 函 数 体 , main 函 数 可 以 在 程 序 的 任 意 位 置。 /*定 义 a 为 实 型 变 量 */ /*调 用 sin 函 数 */ /*调 用 printf 函 数 , 输 出 a 的 值 */ )

C 语言程序设计详解

2

4、 C 规 定 每 个 语 句 以 分 号 ( ; 结 束 , 分 号 是 语 句 不 可 缺 少 的 组 成 部 分 , 每 ) 行中可以写多条语句。 5 、 /*与 */ 之 间 为 注 释 信 息 , 对 程 序 运 行 结 果 不 发 生 影 响 , 也 不 被 编 译 , 注 释说明可以放在语句的任意位置。 6、 flo at a; 此 语 句 是 把 a 定 义 为 一 个 实 型 变 量 。 7、 C 语 言 本 身 没 有 输 入 、 输 出 语 句 , 本 例 使 用 prinft 函 数 输 出 数 据 。 prin ft 函 数 的 括 号 内 包 括 两 部 分 内 容 :双 引 号 内 的 部 分 、双 引 号 外 的 部 分 。双 引 号 内 的 部分是“格式字符串” 用于指定输出双引号外的变量的打印格式。此例中双引 , 号 中 有 一 个 ”%f”,它 是 输 出 一 个 保 留 小 数 点 后 6 位 数 字 的 格 式 字 符 ,小 数 点 前 的 位数不指定。 二、练习 (一 ) 选 择 题 1、 以 下 叙 述 正 确 的 是 ____。 ( A) 在 C 程 序 中 , main 函 数 必 须 位 于 程 序 的 最 前 面 ( B) C 程 序 的 每 行 中 只 能 写 一 条 语 句 ( C) C 语 言 本 身 没 有 输 入 输 出 语 句 ( D) 在 对 一 个 C 程 序 进 行 编 译 的 过 程 中 , 可 发 现 注 释 中 的 拼 写 错 误 2、 C 语 言 规 定 : 在 一 个 源 程 序 中 , main 函 数 的 位 置 ____。 ( A) 必 须 在 最 开 始 ( B) 必 须 在 系 统 调 用 库 函 数 的 后 面 ( C) 可 以 任 意 ( D) 必 须 在 最 后 3、 一 个 C 语 言 程 序 是 由 ____。 ( A) 一 个 主 程 序 和 若 干 子 程 序 组 成 ( B) 函 数 组 成 ( C) 若 干 过 程 组 成 ( D) 若 干 子 程 序 组 成 4、 一 个 C 程 序 的 执 行 是 从 ____。 ( A) 本 程 序 的 ma in 函 数 开 始 , 到 main 函 数 结 束 ( B) 本 程 序 文 件 的 第 一 个 函 数 开 始 , 到 本 程 序 文 件 的 最 后 一 个 函 数 结 束

C 语言程序设计详解
( C) 本 程 序 的 ma in 函 数 开 始 , 到 本 程 序 文 件 的 最 后 一 个 函 数 结 束 ( D) 本 程 序 文 件 的 第 一 个 函 数 开 始 , 到 本 程 序 ma in 函 数 结 束 5、 以 下 叙 述 不 正 确 的 是 ____。 ( A) 一 个 C 源 程 序 可 由 一 个 或 多 个 函 数 组 成 ( B) 一 个 C 源 程 序 必 须 包 含 一 个 main 函 数 ( C) C 程 序 的 基 本 组 成 单 位 是 函 数 ( D) 在 C 程 序 中 , 注 释 说 明 只 能 位 于 一 条 语 句 后 面 (二 ) 填 空 题 : 1、 一 个 C 源 程 序 中 至 少 包 括 一 个 __ ma in 函 数 ____。

3

2 、 在 一 个 C 源 程 序 中 , 注 释 部 分 两 侧 的 分 界 符 分 别 为 ____/*____ 和 _ */_______ 。

第二章
一、主要知识点 (一 ) C 的 基 本 数 据 类 型 节

数据描述与基本操作

短 整 型 ( short) 整型 整型 长整型 (in t) (long )

基本类型

字 符 型 (cha r)

实 型 ( 浮 点 型 ) 单 精 度 型 (flo at) 枚举类型 数据类型 构造类型 数组类型 结 构 类 型 (struct) 指针类型 空 类 型 (vo id) (二 ) 常 量 和 符 号 常 量 1、 常 量 定 义 : 在 程 序 运 行 过 程 中 , 其 值 不 能 被 改 变 的 量 称 为 常 量 。 常 量 常 区 分 不 同 的 类 型 , 如 1 2、 0、 -3 为 整 型 常 量 , ’a’、 ’D’为 字 符 常 量 。 2、 符 号 常 量 : 用 一 个 标 识 符 代 表 一 个 常 量 的 , 称 为 符 号 常 量 , 即 标 识 符 形 共 用 类 型 (un ion) 文 件 类 型 (FILE ) 双 精 度 型 (do uble )

C 语言程序设计详解

4

式的常量。常量不同于变量,它的值在作用域内不能改变,也不能再被赋值。 例 1: 已 知 商 品 的 单 价 及 数 量 求 商 品 的 总 价 值 。 #define ma in ( { int nu m=10, to ta l; total=nu m*P R ICE; prin tf(“ to tal=%d ”,to ta l); } 输 出 结 果 : tota l=300 详解: 1、 程 序 中 用 #de fine 命 令 行 定 义 P RICE 代 表 常 量 30, 此 后 凡 在 此 文 件 中 出 现 的 P RICE 都 代 表 30, 可 以 和 常 量 一 样 进 行 运 算 。 2、符 号 常 量 不 同 于 变 量 ,它 的 值 在 其 作 用 域 内 不 能 改 变 ,也 不 能 再 被 赋 值 。 如 再 用 以 下 赋 值 语 句 给 P RICE 赋 值 : P RICE=40;是 错 误 的 。 (三 ) 变 量 1、 变 量 定 义 : 其 值 可 以 改 变 的 量 称 为 变 量 。 2、 标 识 符 的 命 名 规 范 和 其 它 高 级 语 言 一 样 ,用 来 标 识 变 量 名 、符 号 常 量 名 、函 数 名 、数 组 名 、类 型名、文件名的有效字符序列称为标识符,C语言中的标识符命名规范为: ① 变 量 名 只 能 由 字 母 、数 字 和 下 划 线 三 种 字 符 组 成 ,且 第 一 个 字 符 必 须 为 字 母或下划线。 ②C 语言中标识符的长度(字符个数)无统一规定,随系统而不同。许多系 统 ( 如 IBM P C 的 MS C) 取 前 7 个 字 符 , 假 如 程 序 中 出 现 的 变 量 名 长 度 大 于 7 个字符,则只有前面 7 个字符有效,后面的不被识别。 ③ C 语 言 有 32 个 关 键 字( 例 如 if、e lse、wh ile)它 们 已 有 专 门 含 义 ,不 应 用 采用与它们同名的变量名。 ④C 语言将大写字母和小写字母认为是两个不同字。 例 2: 在 下 列 符 号 中 , 可 以 选 用 哪 些 作 变 量 名 ? 哪 些 不 可 以 ? a3B 3aB ∏ +a -b *x $ _b 5_ if nex t_ day e _2 O K? ) P RICE 30

C 语言程序设计详解
integer MAXNUMBER a3B i*j n ext_ da y

5

答 案 : _b5_

e_2 integ er MAXNUMBER 可 作 变 量 名 ,

其它的作变量名不可以。 详解: ① MAXNUMBER 可 作 变 量 名 。 习 惯 上 符 号 常 量 名 用 大 写 , 变 量 名 用 小 写 以 示区别,但大写字母作变量名并无错误。 ② if、 属 于 保 留 字 , 保 留 字 不 可 作 变 量 名 。 ③∏ +a -b *x $ O K? i*j 不 可 作 变 量 名 ,因 为 变 量 名 只 能 由 字 母 、

数字和下划线三种字符组成。 ④ 3aB 不 可 作 变 量 名 , 因 为 变 量 名 的 第 一 个 字 母 必 须 为 字 母 或 下 划 线 。 (四 ) 整 型 数 据 1、 整 型 常 量 整型常量即整常数。C 语言整常数可用以下三种表示形式。 ① 十 进 制 表 示 。 如 231 、 -56.478 ② 八 进 制 表 示 。 以
8 =1 *8 2

0 开 头 的 数 是 八 进 制 数 。 如

012 3 即 ( 12 3 )

+2 *8 1 +3 *8 0 =64+16+3=83。

③ 十 六 进 制 表 示 。 以 0x 开 头 的 数 是 16 进 制 。 如 0x123 即 ( 123 )
1 6 =1 *16 2

+2 *1 6 1 +3 *16 0 =256+32+3=291。

2、 整 型 变 量 整型变量分为:基本型、短整型、长整型、和无符号型四种。 ① 基 本 型 , 以 in t 表 示 ② 短 整 型 , 以 short in t 表 示 或 以 short 表 示 ③ 长 整 型 , 以 long in t 表 示 , 或 以 long 表 示 ④ 无 符 号 型 ,存 储 单 元 中 全 部 二 进 制 位 (bit)用 作 存 放 数 本 身 ,而 不 包 括 符 号 。 无 符 号 型 中 又 分 为 无 符 号 整 型 、无 符 号 短 整 型 和 无 符 号 长 整 型 ,分 别 以 unsigned int 、 un sign ed sho rt 和 unsigned long 表 示 。 3、 整 型 数 据 的 取 值 范 围 C 标 准 没 有 具 体 规 定 各 类 型 所 占 内 存 字 节 数 ,各 种 机 器 处 理 上 有 所 不 同 ,以 IBM P C 为 例 , 数 的 范 围 如 表 2.1 所 示 。
表 2.1

C 语言程序设计详解
所占位数 Int short[in t] Long [in t] Unsigned [in t] Unsigned short Unsigned long 16 16 32 16 16 32 -32768~ 3276 7 -32768~ 3276 7 数的范围

6
即 -2 1 5 ~ ( 2 1 5 -1) 即 -2 1 5 ~ ( 2 1 5 -1) 即 -2 3 1 ~ ( 2 3 1 -1 ) 即 0~ ( 2 1 6 -1) 即 0~ ( 2 1 6 -1) 即 0~ ( 2 3 2 -1)

-2147483648 ~ 214748 3647 0~ 65535 0~ 65535 0~ 4294967295

4、 整 型 常 量 的 分 类 ① 一 个 整 常 量 ,如 果 其 值 在 -32768 ~ 32767 范 围 内 ,认 为 它 是 in t 型 ,它 可 以 赋 值 给 in t 型 和 long in t 型 变 量 。 ② 一 个 整 常 量 , 如 果 其 值 超 过 了 上 述 范 围 , 而 在 -2147 483648 ~ 2147483647 范 围 内 , 则 认 为 它 是 long in t 型 , 可 以 将 它 赋 值 给 一 个 long in t 型 变 量 。 ③ 如 果 某 一 计 算 机 系 统 的 C 版 本 确 定 的 sho rt in t 与 in t 型 在 内 存 中 占 据 的 长 度 相 同 , 则 一 个 in t 型 的 常 量 出 同 时 一 个 sho rt in t 型 常 量 。 ④ 常 量 中 无 unsigne d 型 。 一 个 非 负 值 的 整 常 量 可 以 赋 值 给 un sig ned 型 整 变 但 量 , 要 它 的 范 围 不 超 过 变 量 的 取 值 范 围 即 可 。 如 : 50000 赋 给 一 个 unsigned 只 例 将 int 型 变 量 是 可 以 的 , 而 将 70000 赋 给 它 是 不 行 的 ( 溢 出 ) 。 ⑤ 在 一 个 整 常 量 后 面 加 一 个 字 母 l 或 L, 则 认 为 是 long in t 型 常 量 。 (五 ) 实 型 数 据 1、 实 型 常 量 实数在 C 语言中又称为浮点数。实数有两种表示形式: ①十进制形式。它由数字和小数点组成(注意必须有小数点) 例如: 。 0.123、 .123、 1 23.0、 0.0 都 是 十 进 制 数 形 式 。 ② 指 数 形 式 。 如 123.56e4 或 123.56E4 都 代 表 123.56 *10 4 。 但 字 母 e ( 或 E ) 之 前 必 须 有 数 字 , e 后 面 指 数 必 须 为 整 数 。 例 如 : e3 、 2.1e 3.5、 .e 3、 e 等 都 不 是 合法的指数形式。 例 3 : 下 面 四 个 选 项 中 , 均 是 不 合 法 的 浮 点 数 的 选 项 是 _____。 ( A) 160. 0. 12 e3 0.0 ( B) 1 23 ( D) -.e3 2e4.2 .234 .e5 1e3

( C) -.18 123 e4

C 语言程序设计详解
答案:B 详解: ① 160. 形式。 ② e3 2e4.2 . e5 0.1 2 -.18 123e4 0.0 .234

7

1 e3 是 实 数 的 十 进 制 形 式 或 指 数

-.e3 不 是 正 确 的 指 数 形 式 。 因 为 正 确 的 字 母 e( 或 E)

之 前 必 须 有 数 字 , e 后 面 指 数 必 须 为 整 数 。 对 于 数 据 表 示 形 式 .e5 以 及 -.e3, e 前 的 .与 -.不 是 有 效 的 数 字 表 示 形 式 。 ③ 123 是 整 数 形 式 。 2、 实 型 变 量 C 实 型 变 量 分 为 单 精 度 ( float 型 ) 和 双 精 度 ( double 型 ) 两 类 。 在 一 般 系 统 中 , 个 单 精 度 型 数 据 在 内 存 中 占 4 个 字 节 32 位 ) 一 个 double 一 ( , 型 数 据 占 8 个 字 节 。 一 个 单 精 度 型 变 量 能 接 收 7 位 有 效 数 字 , 一 个 double 型 变 量 能 接 收 17 位 有 效 数 字 , 数 值 的 范 围 随 机 器 系 统 而 异 。 在 IBM P C 中 , 单 精 度 实 数 的 范 围 约 为 ± 3 .4 E10 - 3 8 ~ 3.4E10 3 8 ) 双 精 度 实 数 的 范 围 约 为 ±(1.7E10 - 3 0 8 ~ ( , 1.710 3 0 8 )。 例 4: main ( ) { floa t a ; a=111111.666666 ; p rintf(“ %f”, a); } 输 出 结 果 : 111111.640621 详解: ① 一 个 实 型 常 量 不 分 floa t 型 和 doub le 型 。 一 个 实 型 常 量 可 以 赋 给 一 个 floa t 型 或 double 型 变 量 。 根 据 变 量 的 类 型 截 取 实 型 常 量 中 相 应 的 有 效 位 数 字 。 ② 由 于 flo at 型 变 量 只 能 接 收 7 位 有 效 数 字 , 因 此 在 把 111111.666666 赋 给 a 时 ,a 只 接 收 了 111111.6,由 于 输 出 函 数 prin tf 中 的 %f 格 式 表 示 输 出 小 数 点 后 的 6 位 小 数 , 所 以 111111.6 后 的 40621 属 于 无 意 义 数 字 。 ③ 如 果 a 改 为 dou ble 型 , 则 能 全 部 接 收 上 述 12 位 数 字 。 (六 ) 字 符 型 数 据

C 语言程序设计详解
1、 字 符 常 量 :

8

①普通形式的字符常量:用引号(即撇号) 括起来的一个字符, 如 ’a’、 ’D’、 ’$’、 ’? ’等 都 是 字 符 常 量 。 ② 转 义 符 : 以 “ \” 开 头 的 字 符 序 列 。 常 用 的 以 “ \” 开 头 的 特 殊 字 符 见 表 2.2
表 2.2

字符形式 \n \t \v \b \r \f \\ \’ \ddd \xhh

功能 换行 横向跳格 竖向跳格 退格 回车 走纸换页 反斜杠字符 单引号字符 1 到 3 位 8 进进制所代表的字符 1 到 2 位 16 进 制 数 所 代 表 的 字 符

例 5 : 若 有 说 明 语 句 : char c=’\729 ’;则 变 量 c _____。 ( A) 包 含 1 个 字 符 ( C) 包 含 3 个 字 符 答案:D 详 解 : ”\”后 可 以 有 1 到 3 位 8 进 制 所 代 表 的 字 符 , 本 题 中 ” \”后 的 ”72”属 于 8 进 制 所 代 表 的 字 符 , 而 ”9”则 不 属 于 8 进 制 位 所 代 表 的 字 符 , 则 ’\729’中 包 含 了 两 个 字 符 常 量 ’\72 ’和 ’9’。 而 字 符 常 量 是 用 引 号 ( 即 撇 号 ) 括 起 来 的 一 个 字 符 , 所 以 答 案 为 D。 2、 字 符 变 量 字符变量是用来存放字符常量的存储单元。 3、 字 符 数 据 在 内 存 中 的 存 储 形 式 将一个字符常量存放到一个字符变量中, 际上并不是把该字符本身存放到 实 内 存 单 元 中 去 , 而 是 将 该 字 符 的 相 应 的 AS CII 码 值 存 放 到 存 储 单 元 中 去 。 ( B) 包 含 2 个 字 符 ( D) 说 明 不 合 法

C 语言程序设计详解
例 6: 将 小 写 字 母 转 换 成 大 写 字 母 main ( ) { char c1=’a ’; c1=c1 -32 ; printf(“%c”, c1); } 输出结果:A 详解: ① ’a’的 ASCII 码 为 97 , 所 以 c1=’a ’;语 句 的 功 能 是 把 97 赋 值 给 了 c1。 ② c1=c1 -32 ;语 句 的 功 能 是 把 97 -32 的 值 65 赋 值 给 c1。

9

③ prin tf 函 数 中 的 %c 格 式 表 示 以 字 符 方 式 输 出 。 ASCII 码 值 为 65 的 字 符 为 A, 所以运行结果为:A (七 ) 字 符 串 常 量 字 符 常 量 是 用 一 对 双 引 号 括 起 来 的 零 个 或 多 个 字 符 序 列 。 C 规 定 以 字 符 ’\0’ 作 为 字 符 串 结 束 标 志 。 所 以 字 符 串 ”a ”实 际 上 包 含 2 个 字 符 : ’a’、 ’\0 ’, 因 此 下 面的语句: char c=”a ”; 把一个串赋值给一个字符变量 c 是错误的。 例 7 : 下 面 不 正 确 的 字 符 串 常 量 是 ______ 。 ( A) ’abc’ 答案:A 详 解 : ’abc’是 用 单 引 号 引 来 的 , 所 以 ’abc ’不 是 正 确 的 字 符 串 常 量 。 (八 ) 算 术 运 算 符 和 算 术 表 达 式 1、 基 本 算 术 运 算 符 ①C 语言中有 5 个基本算术运算符: + ( 加 法 运 算 符 。 如 3 +5、 +3) - ( 减 法 运 算 符 。 如 5 -2、 -3 ) * ( 乘 法 运 算 符 , 如 3 *5) / ( 除 法 运 算 符 , 如 5 /3, 5.0 /3) % ( 求 余 运 算 符 , 要 求 %两 侧 均 为 整 型 数 据 ) ( B) ” 12’12” ( C) ”0” ( D) ” ”

C 语言程序设计详解
例 8 : 在 C 语 言 中 , 要 求 运 算 数 必 须 是 整 型 的 运 算 符 是 ____ 。 ( A) / 答案:D ( B) ++ ( C) = ! ( D) %

10

详 解 : 对 于 %运 算 符 来 说 , 要 求 两 侧 均 为 整 型 数 据 , 所 以 表 达 式 3.5%2 与 3%2.0 是 错 误 的 。 例 9: 写 出 下 列 程 序 的 输 出 结 果 main ( ) { prin tf(“%d ,%d \n”,5 /3,5 %3); prin tf(“%d ,%d \n”, -5/-3 , -5%-3); prin tf(“%d ,%d \n”, -5/3 , -5%3); prin tf(“%d ,%d \n”,5 /-3 , 5%-3); } 输出结果: 1, 2 1, -2 -1, -2 -1, 2 详 解 : 两 个 同 号 整 数 相 除 时 结 果 为 正 整 数 , 如 5/3、 -5 /-3 的 结 果 值 为 1。 两 个 异 号 整 数 相 除 时 结 果 为 负 整 数 , 多 数 机 器 采 取 “ 向 零 取 整 ” 法 , 即 -5 /3= -1 , 5/-3= -1 , 但 如 果 参 加 运 算 的 两 个 数 中 有 一 个 数 为 实 数 时 结 果 为 实 数 。 对 于 求 余 ( %) 运 算 , 运 算 结 果 与 第 一 个 数 的 符 号 相 同 。 ② 优 先 级 别 : 先 *、 /、 %后 +、 - ③运算量:双元运算量,%前后必须为整数。 ④左右结合性:自左至右参预运算。 2、 自 加 自 减 运 算 符 ①C 语言中有 4 种形式的自加自减运算符: ++i i+ + --i (先 使 i 加 1 后 使 用 ) (先 使 用 后 使 i 加 1) (先 使 i 减 1 后 使 用 )

C 语言程序设计详解
i- - (先 使 用 后 使 i 减 1)

11

②优先级别:高于算术运算。 例 10 : 若 x 和 n 均 是 int 型 变 量 , 且 x 和 n 的 初 值 均 为 5, 则 计 算 表 达 式 后 x 的 值 为 ______, n 的 值 为 ______。 x+=n++ 答 案 : 10 6

详 解 : 根 据 优 先 级 别 选 运 算 表 达 式 n++, 因 为 n++是 后 缀 表 示 形 式 , 所 以 n 先 参 预 运 算 , 再 运 算 表 达 式 x+=n, 则 x 为 10, 最 后 n 自 加 为 6。 例 11 : main ( { int x, y, m,n ; x=2;y=2 m=x++ *5; n=++y*5 ; prin tf(“%d ,%d,%d ,%d” ,x, y, m,n); } 输 出 结 果 : 3,3,10,15 详 解 : 对 于 后 缀 来 说 是 先 使 用 后 运 算 , 所 以 m 的 值 为 x 在 自 加 以 前 的 2 *5 得 10 赋 值 给 m 后 , x 自 加 变 为 3。 对 于 前 缀 来 说 是 先 运 算 后 使 用 , 所 以 m 的 值 为 x 在 自 加 以 后 的 3 *5 得 15 赋 值 给 n。 ③ 运 算 量 : 单 元 运 算 量 , 此 运 算 量 必 须 为 变 量 , 所 以 表 达 式 5+ + 、 (x+ y)++ 是错误的。 ④左右结合性:自右至左参预运算。 (九 ) 关 系 运 算 1、 C 语 言 提 供 的 关 系 运 算 符 有 : >( 大 于 ) <=( 小 于 或 等 于 ) >=( 大 于 或 等 于 ) ==( 等 于 ) 是 <( 小 于 ) !=( 不 等 于 ) )

2、 优 先 级 别 : 关 系 运 算 符 的 优 先 级 别 低 于 纯 算 术 类 , 高 于 赋 值 类 。 后 两 个 的 优 先 级 小 于 前 四 个 。 如 表 达 式 a+b<c+d 完 全 等 价 于 表 达 式 (a+ b)<(c+d)。

C 语言程序设计详解

12

3、运 算 量 :关 系 运 算 符 是 双 元 运 算 符 ,整 型 、实 型 、字 符 都 可 以 参 预 运 算 。 4、 左 右 结 合 性 : 从 左 向 右 的 结 合 方 向 5、 关 于 关 系 运 算 符 的 进 一 步 说 明 : ① 关 系 表 达 式 的 值 是 整 型 数 0 或 1 ,故 也 可 以 将 其 看 成 一 种 整 型 表 达 式 。 如 : 例 int i=1, j=7,a ; a=i+(j%4!=0); 的 执 行 结 果 为 : a 的 值 为 2。 ② 要 说 明 x 在 区 间 [a,b ]中 , 普 通 数 学 中 使 用 表 达 式 a≤ x≥ b。 但 C 语 言 中 应 写 成 a<=x&&x<=b。 ③ 表 达 式 5>2>7>8 在 数 学 上 是 不 允 许 的 ,而 在 C 中 是 允 许 的 。按 自 左 至 右 求 解。 ④ 字 符 数 据 的 比 较 按 其 ASCII 码 值 进 行 。 ⑤在判定两个浮点数是否相等时,由于存储上的误差,会得出错误的结果。 例如: 1.0/3.0 *3.0==1.0 该 表 达 式 的 值 为 0。 (十 ) 逻 辑 运 算 1、 C 语 言 提 供 的 逻 辑 运 算 符 : &&( 逻 辑 与 ) ||( 逻 辑 或 ) !( 逻 辑 非 )

2 、 优 先 级 别 : &&与 || 的 优 先 级 别 低 于 关 系 运 算 符 , 高 于 条 件 运 算 符 , && 的 优 先 级 别 高 于 ||, 的 优 先 级 别 与 自 加 运 算 符 ( ++) 自 减 运 算 符 ( --) 同 级 。 ! 、 3、 运 算 量 : &&和 ||是 双 元 运 算 符 , 是 单 元 运 算 符 。 ! 例 12 :已 知 x=43,ch=’A’, y=0 ;则 表 达( x>= y&&ch<’B’&&!y)的 值 是 ______。 ( A) 0 答案:C , 详解:C 语言不提供逻辑性数据“真”和“假” 在进行逻辑运算时,结果 不 是 1 就 是 0。 4、左 右 结 合 性 :&&和 ||运 算 符 的 结 合 方 向 为 自 左 至 右 , !的 结 合 方 向 为 自 右 至左。 5、 关 于 逻 辑 运 算 符 的 进 一 步 说 明 : ( B) 语 法 错 ( C) 1 ( D) 真 ” “

C 语言程序设计详解

13

① 在 一 个 &&表 达 式 中 , 若 &&的 一 端 为 0,则 不 必 再 计 算 另 一 端 , 该 表 达 式 的 值 肯 定 为 0。 ② 在 一 个 ||表 达 式 中 , 若 ||的 一 端 为 0,则 不 必 再 计 算 另 一 端 ,该 表 达 式 的 值 肯 定 为 1。 例 13 : 写 出 下 面 程 序 的 输 出 结 果 。 ma in ( ) { int x, y, z; x= y=z=0; ++x&&++ y||++z ; p rintf(“ %d,%d, %d” ,x, y,z ); x= y=z=0; ++x ||++ y&&++z; p rintf(“ %d,%d, %d” ,x, y,z ); } 输出结果: 1, 1, 0 1, 0, 0 详解: ① 因 为 &&的 优 先 级 别 高 于 ||, 所 以 表 达 式 ++x&&++ y||++z 是 一 个 或 表 达 式 , 根 据 ||的 一 端 为 0,则 不 必 再 计 算 另 一 端 的 原 则 , 先 计 算 表 达 式 ++x &&++ y 的 值 为 1,因 为 1 或 任 何 值 都 为 1, 所 以 表 达 式 ++z 没 有 运 算 , 输 出 结 果 为 : 1, 1, 0。 ② 表 达 式 ++x ||++ y&&+ +z 也 是 一 个 或 表 达 式 , 同 样 根 据 ||的 一 端 为 0,则 不 必 再 计 算 另 一 端 的 原 则 , 先 计 算 表 达 式 ++z 的 值 为 1, 因 为 1 或 任 何 值 都 为 1,所 以 表 达 式 ++ y&&++z 没 有 运 算 , 输 出 结 果 为 : 1, 0, 0。 (十 一 ) 赋 值 运 算 1、 基 本 的 赋 值 运 算 符 : =( 将 赋 值 运 算 符 右 侧 的 表 达 式 赋 给 左 侧 的 变 量 ) 2、 自 反 算 术 赋 值 运 算 符 C 语言中有 5 个基本自反算术赋值运算符:

C 语言程序设计详解
+ =( a+ =3 - =( a- =3 * =( a* =3 / =( a* =3 % =( a% =3 等 价 于 a=a+ 3) 等 价 于 a=a- 3) 等 价 于 a=a* 3) 等 价 于 a=a* 3) 等 价 于 a=a% 3)

14

3、 优 先 级 别 : 赋 值 运 算 符 与 自 反 算 术 赋 值 运 算 符 属 于 同 等 级 别 , 低 于 条 件 运 算 符 , 高 于 逗 号 运 算 符 。 如 对 于 表 达 式 x %= y+3 完 全 等 价 于 x%=(y+3)。 例 14 : 若 有 以 下 定 义 , 则 能 使 值 为 3 的 表 达 式 是 ______。 Int k=7,x=12; ( A) x%=(k%5) ( C) x%=k -k%5 答案:D 详 解 : 表 达 式 (x%=k)-(k%=5)完 全 等 价 于 (x=x %k)-(k=k%5)等 价 于 5 -2, 此 表 达 式 的 结 果 为 3。 4、 运 算 量 : 双 元 运 算 量 , 赋 值 运 算 符 与 自 反 算 术 赋 值 运 算 的 第 一 个 量 必 须 为 变 量 , 且 % =前 后 必 须 为 整 型 数 据 。 如 对 于 表 达 式 a *3+=2 是 错 误 的 。 因 为 此 表 达 式 完 全 等 价 于 (a *3 )=(a *3)+2。 5、 左 右 结 合 性 : 自 右 至 左 参 预 运 算 。 若 且 则 例 15 : a 是 int 型 变 量 , a 的 初 值 为 6 , 计 算 表 达 式 后 a 的 值 为 ______。 a+=a-=a *a 答 案 : -60 详 解 : 表 达 式 从 左 向 右 运 算 , 先 计 算 表 达 式 a=a -36 后 a 为 -30 , 再 计 算 表 达 式 a=a+a 后 a 的 值 变 为 -60。 (十 二 ) 条 件 运 算 : 1、 条 件 运 算 符 的 基 本 形 式 及 功 能 : 条件运算是一种在两个表达式的值中选择一个的操作。它的一般形式为: e1? e2:e3 它 的 操 作 过 程 为 , 若 e 1 为 真 , 则 表 达 式 的 值 为 e2,若 为 假 表 达 式 的 值 为 e3。 2、 优 先 级 别 : 低 于 逻 辑 运 算 , 高 于 赋 值 运 算 。 3、 运 算 量 : 三 元 运 算 量 , e1 一 般 为 算 术 表 达 式 , e2、 e3 可 以 是 任 意 类 型 的 ( B) x%= (k -k%5 ) ( D) (x%=k)-(k %=5)

C 语言程序设计详解
表 达 式 , 条 件 表 达 式 的 值 的 类 型 为 e2 与 e 3 二 者 中 类 型 较 高 的 。

15

例 16 : 若 有 条 件 表 达 式 ( exp) ? a++:b--,则 以 下 表 达 式 中 能 完 全 等 价 于 表 达 式 ( exp) 的 是 ___ ___ 。 答 案 : exp!=0 详 解 : 对 于 表 达 式 e1? e2:e3 , e 1 一 般 为 算 术 表 达 式 、 逻 辑 表 达 式 、 关 系 表 达 式 , 结 果 为 1( 真 ) 或 0( 假 ) 也 可 以 为 数 值 exp, 结 果 为 结 果 为 非 0( 真 ) 。 或 0( 假 ) 在 本 例 中 与 exp 完 全 等 价 的 表 达 式 是 exp!=0。 4、 左 右 结 合 性 : 自 右 至 左 运 算 。 例 17 : 以 下 程 序 的 运 行 结 果 是 _____ _ 。 ma in() { int k=4,a=3,b=2,c=1 ; printf(“%d”,k< a? k:c<b? c:a); } 答案:1 详 解 : 条 件 表 达 式 是 从 右 向 左 运 算 , 所 以 在 本 例 中 先 计 算 表 达 式 c<b? c:a 的 值 , 把 各 数 值 代 入 此 表 达 式 的 值 为 1。 再 计 算 表 达 式 k<a? k:1 的 值 , 因 为 k<a 为 假 , 所 以 整 个 表 达 式 的 值 为 1。 (十 三 ) 逗 号 运 算 1、 逗 号 运 算 符 的 基 本 形 式 及 功 能 : 逗 号 表 达 式 的 一 般 形 式 为 : 表 达 式 1, 表 达 式 2。 逗 号 表 达 式 的 求 解 过 程 是 : 先 求 解 表 达 式 1, 再 求 解 表 达 式 2。 整 个 表 达 式 的 值 是 表 达 式 2 的 值 。 2、 优 先 级 别 : 逗 号 运 算 符 是 所 有 运 算 符 中 级 别 最 低 的 。 例 18 : 以 下 符 合 C 语 言 语 法 的 赋 值 表 达 式 是 ______。 ( A) d=9+e+f=d+9 ( C) d=9+e,e++,d+9 答案:B 解 析 : 表 达 式 d=9+e+f=d+9 中 9+e+f=d+9 是 不 正 确 的 表 示 形 式 , 因 为 赋 值 号 ( =) 左 边 不 能 是 表 达 式 。 表 达 式 d=9+e,e ++,d+9 是 逗 号 表 达 式 , 因 为 赋 值 运 算 符 ( =) 的 优 先 级 别 高 于 逗 号 运 算 符 ( , 。 表 达 式 d=9+e++=d+7 中 9+e++=d+7 ) ( B) d=( 9+e,f=d+9) ( D) d=9+e++=d+7

C 语言程序设计详解
是 不 正 确 的 表 达 式 , 因 为 赋 值 号 ( =) 左 边 不 能 是 表 达 式 。 3、 运 算 量 : 二 元 运 算 量 。 4、 左 右 结 合 性 : 从 左 向 右 运 算 。

16

例 19 : 假 设 所 有 变 量 均 为 整 型 , 则 表 达 式 a=2,b=5,b++,a+b 的 值 是 ______。 答案:8 根 首 解 析 : 据 逗 号 运 算 符 从 左 向 右 运 算 的 原 则 , 先 把 2 和 5 分 别 赋 值 给 了 a ,b。 再 计 算 表 达 式 b++,b 变 为 6,再 计 算 表 达 式 a +b 的 值 ,最 后 整 个 表 达 式 的 值 是 8。 (十 四 ) 强 制 类 型 转 换 1、 强 制 类 型 一 般 形 式 及 功 能 : 可以利用强制类型转换运算符将一个表达式转换成所需类型。 如: 例 (doub le) a( 将 a 转 换 成 d ouble 类 型 ) 其 一 般 形 式 为 : (类 型 名 )(表 达 式 ) 2、 优 先 级 别 : 强 制 类 型 转 换 运 算 符 与 逻 辑 非 ( ! 、 自 加 ( ++) 自 减 ( --) ) 、 属于同等级别,高于算术运算符。 3、 运 算 量 : 单 元 运 算 量 4、 关 于 强 制 类 型 转 换 运 算 符 的 进 一 步 说 明 : ① 强 制 转 换 表 达 式 时 , 表 达 式 应 该 用 括 号 括 起 来 。 如 果 写 成 (int )x+ y 则 只 将 x 转换成整型,然后与 y 相加。 ② 如 果 x 原 指 定 为 floa t 型 , 行 强 制 类 型 运 算 后 得 到 一 个 in t 型 的 中 间 变 量 , 进 它 的 值 等 于 x 的 整 数 部 分 ( 截 去 小 数 部 分 ) 而 x 的 类 型 不 变 ( 仍 为 floa t 型 ) , 。 例 20: main ( ) { floa t x=3.6 ; int i; i=(in t)x prin tf(“x=%f,i=%d” , x,i); } 输 出 结 果 : x=3.600000, I=3 解 析 : 变 量 x 进 行 强 制 类 型 运 算 后 , 其 类 型 仍 为 floa t 型 , 值 仍 为 3.6。

C 语言程序设计详解
( 十 五 ) printf 函 数 prin tf 函 数 可 以 输 出 任 意 类 型 的 多 个 数 据 。 1、 printf 函 数 的 一 般 格 式 prin tf(格 式 控 制 ,输 出 表 列 )

17

①“格式控制”是用双引号括起来的字符串,也称“转换控制字符串” 它 , 包 括 两 种 信 息 : 格 式 说 明 和 普 通 字 符 。 格 式 说 明 是 由 “ %” 和 格 式 字 符 组 成 , 如 %d,%f 等 。 它 的 作 用 是 将 输 出 的 数 据 转 换 为 指 定 的 格 式 输 出 。 格 式 说 明 总 是 由 ”%”字 符 开 始 的 。 普 通 字 符 即 需 要 原 样 输 出 的 字 符 。 ② 输 出 表 列 是 指 需 要 输 出 的 一 些 数 据 ,可 以 是 表 达 式 ,它 们 之 间 用“ ,”隔 开 。 2、 格 式 控 制 的 完 整 格 式 : % 0 m.n l或 h 格式字符

下面对组成格式说明的各项加以说明: ① %: 表 示 格 式 说 明 的 起 始 符 号 , 不 可 缺 少 。 ② -: 有 -表 示 左 对 齐 输 出 , 如 省 略 表 示 右 对 齐 输 出 。 ③ 0: 有 0 表 示 指 定 空 位 填 0,如 省 略 表 示 指 定 空 位 不 填 。 ④ m.n: m 指 域 宽 , 即 对 应 的 输 出 项 在 输 出 设 备 上 所 占 的 字 符 数 。 N 指 精 度 。 用 于 说 明 输 出 的 实 型 数 的 小 数 位 数 。 为 指 定 n 时 , 隐 含 的 精 度 为 n=6 位 。 ⑤ l 或 h:l 对 整 型 指 lo ng 型 , 对 实 型 指 doub le 型 。 h 用 于 将 整 型 的 格 式 字 符 修 正 为 sho rt 型 。 3、 格 式 字 符 : 格式字符用以指定输出项的数据类型和输出格式。 ①d 格式:用来输出十进制整数。有以下几种用法: %d: 按 整 型 数 据 的 实 际 长 度 输 出 。 %md:m 为 指 定 的 输 出 字 段 的 宽 度 。如 果 数 据 的 位 数 小 于 m,则 左 端 补 以 空 格 , 若 大 于 m, 则 按 实 际 位 数 输 出 。 %ld: 输 出 长 整 型 数 据 。 ② o 格 式 :以 无 符 号 八 进 制 形 式 输 出 整 数 。对 长 整 型 可 以 用“ %lo”格 式 输 出 。 同 样 也 可 以 指 定 字 段 宽 度 用 “ %mo ” 格 式 输 出 。 例 21 : ma in()

C 语言程序设计详解
{ int a= -1 ; p rin tf(“%d,%o”, a,a); } 运 行 结 果 : -1,17777 7

18

程 序 解 析 : -1 在 内 存 单 元 中( 以 补 码 形 式 存 放 )为 (1111111111111111) 2 ,转 换 为 八 进 制 数 为 (1777 77) 8 。 ③ x 格 式 :以 无 符 号 十 六 进 制 形 式 输 出 整 数 。对 长 整 型 可 以 用“ %lx”格 式 输 出 。 同 样 也 可 以 指 定 字 段 宽 度 用 “ %mx” 格 式 输 出 。 ④ u 格 式 :以 无 符 号 十 进 制 形 式 输 出 整 数 。对 长 整 型 可 以 用“ %lu”格 式 输 出 。 同 样 也 可 以 指 定 字 段 宽 度 用 “ %mu ” 格 式 输 出 。 ⑤c 格式:输出一个字符。 ⑥s 格式:用来输出一个串。有几中用法 %s:例 如 :p rin tf(“%s”, ”CHINA”)输 出“ CH IN A”字 符 串( 不 包 括 双 引 号 ) 。 %ms: 输 出 的 字 符 串 占 m 列 , 如 字 符 串 本 身 长 度 大 于 m, 则 突 破 获 m 的 限 制 ,将 字 符 串 全 部 输 出 。 若 串 长 小 于 m, 则 左 补 空 格 。 %-ms: 如 果 串 长 小 于 m, 则 在 m 列 范 围 内 , 字 符 串 向 左 靠 , 右 补 空 格 。 %m.ns:输 出 占 m 列 ,但 只 取 字 符 串 中 左 端 n 个 字 符 。这 n 个 字 符 输 出 在 m 列的右侧,左补空格。 %-m.n s: 其 中 m、 n 含 义 同 上 , n 个 字 符 输 出 在 m 列 范 围 的 左 侧 , 右 补 空 格 。 如 果 n> m, 则 自 动 取 n 值 , 即 保 证 n 个 字 符 正 常 输 出 。 ⑦ f 格 式 :用 来 输 出 实 数( 包 括 单 、双 精 度 ) 以 小 数 形 式 输 出 。有 以 下 几 种 , 用法: %f: 不 指 定 宽 度 , 整 数 部 分 全 部 输 出 并 输 出 6 位 小 数 。 %m.nf: 输 出 共 占 m 列 , 其 中 有 n 位 小 数 , 如 数 值 宽 度 小 于 m 左 端 补 空 格。 %-m. nf: 输 出 共 占 n 列 , 其 中 有 n 位 小 数 , 如 数 值 宽 度 小 于 m 右 端 补 空 格。 ⑧e 格式:以指数形式输出实数。可用以下形式: %e: 数 字 部 分 ( 又 称 尾 数 ) 输 出 6 位 小 数 , 指 数 部 分 占 5 位 或 4 位 。 %m.ne 和 %-m.ne:m、n 和 ” -”字 符 含 义 与 前 相 同 。此 处 n 指 数 据 的 数 字 部

C 语言程序设计详解
分的小数位数,m 表示整个输出数据所占的宽度。

19

⑨ g 格 式 :自 动 选 f 格 式 或 e 格 式 中 较 短 的 一 种 输 出 ,且 不 输 出 无 意 义 的 零 。 4、 关 于 prin tf 函 数 的 进 一 步 说 明 : 如 果 想 输 出 字 符 “ %” ,则 应 该 在 “ 格 式 控 制 ” 字 符 串 中 用 连 续 两 个 %表 示 , 如: prin tf(“%f%%” ,1.0 /3); 输 出 0.333333%。 ( 十 六 ) scanf 函 数 scan f 函 数 可 以 用 来 输 入 任 何 类 型 的 多 个 数 据 。 1、 scan f 函 数 的 一 般 格 式 scanf(格 式 控 制 ,地 址 表 列 ) ① “ 格 式 控 制 ” 的 含 义 同 printf 函 数 。 普 通 字 符 即 需 要 原 样 输 入 的 字 符 。 ② 地 址 表 列 是 指 由 若 干 个 地 址 组 成 的 表 列 , 它 们 之 间 用 “ ,” 隔 开 。 2、 格 式 控 制 的 完 整 格 式 : % * m l或 h 格式字符

① 格 式 字 符 与 p rin tf 函 数 中 的 使 用 方 式 相 同 , %d、 以 %o、 %x、 、 %c %s、 %f、 %e, 无 %u 格 式 、 %g 格 式 。 ②可以指定输入数据所占列宽,系统自动按它截取所需数据。如: scanf(“%3d %3d”, &a,&b); 输 入 : 123456 系 统 自 动 将 123 赋 给 a ,456 赋 给 b。 ③ %后 的 “ *” 附 加 说 明 符 , 用 来 表 示 跳 过 它 相 应 的 数 据 。 例 如 : scanf(“%2d %*3d%2d” , &a,&b ); 如 果 输 入 如 下 信 息 : 1 234567。 将 1 2 赋 给 a , 67 赋 给 b。 第 二 个 数 据 ”345”被 跳 过不赋给任何变量。 ④输入数据时不能规定精度,例如: scanf(“%7. 2f”, &a ); 是 不 合 法 的 , 不 能 企 图 输 入 : 12345.6 7 而 使 a 的 值 为 12345 .67 。 3、 输 入 数 据 流 分 隔 ① 根 据 格 式 字 符 的 含 义 从 输 入 流 中 取 得 数 据 ,当 输 入 流 中 数 据 类 型 与 格 式 字

C 语言程序设计详解
符要求不符时,就认为这一项结束。如: scanf(“%d %c%f”,&a ,&b,&c); 如果输入如下信息: 1234r1234.5 67

20

则 scan f 函 数 在 接 收 数 据 时 发 现 ”r”类 型 不 匹 配 ,于 是 把 ” 1234”转 换 成 整 型 赋 值 给 a, 把 ” r”赋 给 变 量 b, 最 后 把 ”123 4.56 7”转 换 成 实 型 数 据 赋 给 c。 ② 根 据 格 式 项 中 指 定 的 域 宽 分 隔 出 数 据 项 。 如 语 句 : scanf(“%2d %3f%4 f”, &a,&b, &c); 如果输入如下信息: 123456789012345 则 scan f 函 数 在 接 收 数 据 时 根 据 域 宽 把 1 2 赋 值 给 a,345 赋 值 给 b,6789 赋 值 给 c。 ③ 隐 示 分 隔 符 。 空 格 、 跳 格 符 ( ’\t’) 换 行 符 ( ’\n’) 都 是 C 语 言 认 定 的 数 、 据分隔符。 ④ 显 示 分 隔 符 。 在 sca nf 函 数 的 两 个 格 式 说 明 项 间 有 一 个 或 多 个 普 通 字 符 , 那么在输入数据时,在两个数据之间也必须以这一个或多个字符分隔。如语句: scanf(“a=%d,b=%f,c= %f”, &a,&b ,&c ); 则输入数据应该为: a=1234 ,b=67.8,c=9 8.123 4、 关 于 scan f 函 数 的 进 一 步 说 明 : ① scanf 函 数 中 的 “ 格 式 控 制 ” 后 面 应 当 是 变 量 地 址 , 而 不 应 是 变 量 名 。 例 如 , 如 果 a、 b 为 整 型 变 量 , 则 scanf(“%d, %d”,a ,b); 是 不 对 的 , 应 将 ” a, b ”改 为 ”&a ,&b”。 ② 如 果 在“ 格 式 控 制 ”字 符 串 中 除 了 格 式 说 明 以 外 还 有 其 它 字 符 ,则 在 输 入 数据时应输入与这些字符相同的字符。例如: scanf(“%d, %d”, &a,&b); 输 入 时 应 输 入 : 3, 4 。 3 与 4 之 间 的 逗 号 应 与 scanf 函 数 中 的 “ 格 式 控 制 ” 中 的 逗号相对应,输入其它符号是不对的。 ③ 在 用 “ %c” 格 式 输 入 字 符 时 , 空 格 字 符 和 转 义 字 符 都 作 为 有 效 字 符 输 入 。

C 语言程序设计详解
scanf(“%c %c%c” ,&c1, &c2,&c 3);

21

如 输 入 : a b c 。 字 符 ’a’赋 给 c1,字 符 ( 空 格 ) ’ ’赋 给 c 2,字 符 ’b’ 赋 给 c3。 5、 scan f 的 停 止 与 返 回 ① 格 式 参 数 中 的 格 式 项 用 法 ----正 常 结 束 。 ② 发 生 格 式 项 与 输 入 域 不 匹 配 时 ----不 正 常 退 出 : ( 十 七 ) getchar 、 putch ar 函 数 1、 getch ar 函 数 getcha r 函 数 是 从 终 端 输 入 一 个 字 符 。 ge tch a r 函 数 没 有 参 数 , 其 一 般 形 式 为 :ge tcha r( )。 2、 putch ar 函 数 putcha r 函 数 的 作 用 是 向 终 端 输 出 一 个 字 符 。 二、练习 (一)选择题 1、 下 面 四 个 选 项 中 , 均 是 不 合 法 的 用 户 标 识 符 的 选 项 是 ____ 。 ( A) A ( C) b -a P _0 goto do in t ( B) float ( D) _123 la0 te mp _a INT

2、 若 x, i, j 和 k 都 是 int 型 变 量 , 则 计 算 下 面 表 达 式 后 , x 的 值 为 ______。 x=(i=4, j=16,k=32) ( A) 4 ( B) 16 ( C) 32 ( D) 52

3、 下 列 四 个 选 项 中 , 均 是 不 合 法 的 整 型 常 量 的 选 项 是 ______ 。 ( A) --0f1 ( B) -0xcdf ( C) -018 ( D) -0 x48eg -0x ffff 017 999 -06 8 0011 12 ,3456 5e2 03 f

4、 下 面 四 个 选 项 中 , 均 是 合 法 浮 点 数 的 选 项 是 ______。 ( A) 1e1 ( B) -.60 ( C) 123e ( D) -e3 5e -9.4 12e -4 1.2e -.4 .8e -4 03e2 -8 e5 2e -1 5.e -0

5、 下 面 四 个 选 项 中 , 均 是 合 法 字 符 的 选 项 是 ______。

C 语言程序设计详解
( A) ’\’’ ( C) ’\018’ ‘\\’ ‘\f ’ ‘\xf ’ ( B) ’\’ ‘x ab’( D) ’\0’ ‘\017’ ‘\101’ ‘\n’ ‘x lf ’

22

6、 以 下 不 正 确 的 叙 述 是 ______。 ( A) 在 C 程 序 中 , 逗 号 运 算 符 的 优 先 级 最 低 。 ( B) 在 C 程 序 中 , AP H 和 aph 是 两 个 不 同 的 变 量 ( C) 若 a 和 b 类 型 相 同 , 在 计 算 机 了 赋 值 表 达 式 a=b 后 , b 的 值 不 变 。 ( D) 当 从 键 盘 输 入 数 据 时 , 对 于 整 型 变 量 只 能 输 入 整 型 数 值 , 对 于 实 型 变 量只能输入实型数据。


相关文章:
C语言程序第一、二章测试题_百度文库
暂无评价|0人阅读|0次下载|举报文档C语言程序第一二章测试题_电脑基础知识_IT/计算机_专业资料。C 语言程序测试题 一、单项选择题(共 30 题,每题 2 分,...
C语言专升本辅导_百度文库
2财富值 百度文库C语言专升本辅导第... 22页 免费 百度文库C语言专升本辅导第...专升本c语言复习资料专升本c语言复习资料隐藏>> C 语言程序设计详解 1 第一章一...
C语言一二章练习_百度文库
百度文库 教育专区 高等教育 理学C语言一二章练习_理学_高等教育_教育专区 暂无评价|0人阅读|0次下载|举报文档 C语言一二章练习_理学_高等教育_教育专区。1 C...
专升本C语言历年试题及答案_百度文库
专升本C语言历年试题及答案_专升本_成人教育_教育专区。专升本 C 语言历年考试题及答案 一、单项选择题 1. A、 b-b B、float 2. A、a*b/c; 3. A、'n...
2014《C语言程序设计》专升本练习题_百度文库
72 专升本C 语言》练习题一 第 1 页 第 2 页 6 10 第 3 页 第 4 页 第 5 页 第 6 页 第 7 页 第 8 页 专升本C 语言》练习题二 第 9 ...
C语言第1-2章练习题_百度文库
暂无评价|0人阅读|0次下载|举报文档C语言第1-2章练习题_工学_高等教育_教育专区。1 C 语言第 12 章练习题一、选择题 1. 下列运算符中, ( C)结合性...
C语言习题册第一、二章答案_免费下载_百度文库
如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 C语言习题册第一二章答案 隐藏>> 第一章一、选择题 1. C 2. C...
c语言一二章习题_百度文库
暂无评价|0人阅读|0次下载|举报文档c语言一二章习题_计算机软件及应用_IT/计算机_专业资料。1. 以下叙述中正确的是 A)C语言比其他语言高级 B)C语言可以不用编...
C语言第一二章测试题_百度文库
暂无评价|0人阅读|0次下载|举报文档 C​语​言​练​习第1页 C 语言第一二章测试题姓名: 一 单项选择题 )。 B) get character print D) if else...
专升本c语言上机笔记_百度文库
专升本c语言上机笔记_其它考试_资格考试/认证_教育专区 暂无评价|0人阅读|0次下载|举报文档专升本c语言上机笔记_其它考试_资格考试/认证_教育专区。第一部分:能够...
更多相关标签: