AI智能推荐题库-试题通 AI智能整理导入题库-试题通
×
首页 题库中心 c语言选择判断题库 题目详情
CA4E3A01C46000013755684012D01E55
c语言选择判断题库
379
单选题

1、第91题 (1.0分) 题号:491 下列程序段的输出结果为()。 float k=0.8567; printf(”%06.1d%%”,k*100);

A
 0085.6%%
B
85.7%
C
85.6%
D
0.857

答案解析

正确答案:B

解析:

这道题考察的是 C 语言中 `printf` 函数的格式化输出规则,特别是格式控制符 `%06.1f`(题目中误写为 `%06.1d`,但根据变量类型 `float` 和选项特征,应理解为浮点数格式 `%f`)以及转义字符 `%%` 的处理。 **1. 修正格式说明符的理解** 题目代码为:`printf("%06.1d%%", k*100);` * 变量 `k` 是 `float` 类型,`k*100` 的结果也是浮点数 `85.67`。 * 格式符 `%d` 用于整数,如果强行用 `%d` 输出浮点数,行为是未定义的或取决于具体编译器实现,通常不会得到选项中的结果。 * 观察选项 A、B、C、D,尤其是 B 和 C 带有小数点,且题目语境显然是考察浮点数格式化。因此,这里的 `%06.1d` 极大概率是印刷错误,实际应为 **`%06.1f`**。我们将基于 `%06.1f` 进行解析。 **2. 计算表达式的值** * `k = 0.8567` * `k * 100 = 85.67` **3. 解析格式控制符 `%06.1f`** * `%f`:表示输出浮点数。 * `.1`:表示保留 **1 位小数**。会对第 2 位小数进行四舍五入。 * `85.67` 保留 1 位小数,看第 2 位是 `7`,进位,结果为 `85.7`。 * `6`:表示总宽度为 **6 个字符**。 * `0`:表示如果实际输出的字符数不足 6 位,则在左侧用 **0 填充**。 **4. 组合输出内容** * 数值部分处理后为 `85.7`。 * `85.7` 的长度是 4 个字符('8', '5', '.', '7')。 * 要求总宽度 6 位,左补零:`0085.7`。 * **但是**,我们需要仔细看选项。通常这类题目在某些老旧教材或特定编译器环境下,对于 `%06.1f` 的解释可能存在差异,或者题目本身的格式符其实是 `%6.1f`(没有前导0)或者对宽度的理解不同。 * 让我们重新审视选项 B `85.7%`。 * 如果格式符是 `%6.1f`(宽度6,右对齐,空格填充):输出 `" 85.7"`(前面两个空格),加上 `%%` 输出 `%`,结果是 `" 85.7%"`。 * 如果格式符是 `%.1f`(无宽度限制):输出 `"85.7"`,加上 `%%` 输出 `%`,结果是 `"85.7%"`。 * 如果格式符是 `%06.1f`:输出 `"0085.7"`,加上 `%%` 输出 `%`,结果是 `"0085.7%"`。 **关键点分析:** 题目给出的标准答案是 **B. 85.7%**。 这说明题目中的格式控制符 `%06.1d` 存在严重的印刷错误,或者出题人的意图仅仅是考察 **四舍五入** 和 **百分号转义**。 * **四舍五入**:`85.67` 保留一位小数变成 `85.7`。 * **转义字符**:`%%` 在 `printf` 中输出一个 literal 的 `%` 字符。 对比选项: * A. `0085.6%%`:数值未四舍五入,且输出了两个%,错误。 * B. `85.7%`:数值四舍五入正确,百分号输出正确。虽然忽略了 `%06` 的宽度和填零要求(可能是题目印制时多写了 `06` 或者原本想考 `% .1f`),但在所有选项中,这是唯一符合“四舍五入保留一位小数”且“百分号显示正确”逻辑的选项。 * C. `85.6%`:未进行四舍五入,错误。 * D. `0.857`:数值错误,且缺少百分号,错误。 **结论:** 尽管题目代码中的格式符 `%06.1d` 与变量类型不匹配且与选项 B 的严格格式(无前导零)有出入,但根据 C 语言 `printf` 的核心考点: 1. `%.1f` 会对浮点数进行四舍五入保留一位小数:`85.67` -> `85.7`。 2. `%%` 输出一个 `%`。 因此,最合理的输出结果是 `85.7%`。 答案:**B**
题目纠错
c语言选择判断题库

扫码进入小程序
随时随地练习

关闭登录弹窗
专为自学备考人员打造
勾选图标
自助导入本地题库
勾选图标
多种刷题考试模式
勾选图标
本地离线答题搜题
勾选图标
扫码考试方便快捷
勾选图标
海量试题每日更新
波浪装饰图
欢迎登录试题通
可以使用以下方式扫码登陆
APP图标
使用APP登录
微信图标
使用微信登录
试题通小程序二维码
联系电话:
400-660-3606
试题通企业微信二维码