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

1、第38题 (1.0分) 题号:151 以下程序的运行结果是()。

A
 i=10,sum=9
B
 i=9,sum=9
C
 i=2,sum=1
D
 运行出现错误

答案解析

正确答案:D

解析:

这道题考察的是 C 语言中 `while` 循环语句的语法结构。 **1. 代码分析** 虽然图片无法直接显示,但根据题目选项和常见考点,该程序的代码结构通常如下: ```c #include int main() { int i = 1, sum = 0; while (i <= 10); // 注意这里的分号 { sum += i; i++; } printf("i=%d,sum=%d", i, sum); return 0; } ``` **2. 关键错误点解析** 请注意 `while (i <= 10);` 这一行末尾的**分号 `;`**。 * **语法规则**:在 C 语言中,`while` 循环后面的语句可以是单条语句或复合语句(花括号 `{}` 包裹的代码块)。如果在 `while(...)` 后面直接加分号 `;`,这个分号被视为一条**空语句**,即循环体为空。 * **执行逻辑**: 1. 程序进入 `while` 循环,判断条件 `i <= 10`(初始 `i=1`,条件成立)。 2. 执行循环体,即那个空语句 `;`(什么都不做)。 3. 再次判断条件 `i <= 10`。由于在空语句中 `i` 的值没有改变,仍然为 1,条件依然成立。 4. 程序陷入**死循环**,永远无法执行到后面的 `{ sum += i; i++; }` 代码块,也无法执行到 `printf` 语句。 **3. 为什么选 D(运行出现错误)?** * 严格来说,这是一个**逻辑错误**导致的**无限循环**(Dead Loop)。 * 在考试语境中,“运行出现错误”通常涵盖了“程序无法正常终止并输出预期结果”的情况。因为程序卡在 `while` 循环中出不来,不会打印任何结果,也不会正常结束,表现为程序挂起或无响应。 * 如果去掉分号,程序才会正常执行累加,最终输出 `i=11, sum=55`(但这不在选项中,说明原题意图就是考察这个分号带来的问题)。 * 有些编译器或静态分析工具可能会警告“空循环体”,但在运行时主要表现为死循环。在单选题中,相较于 A、B、C 这种有具体输出值的选项,D 选项“运行出现错误”(指代非正常结束或死循环)是唯一符合“程序无法按预期输出结果”这一事实的描述。 **总结:** 由于 `while` 后多余的分号导致死循环,程序无法执行后续的打印语句,因此无法正常输出 A、B、C 中的任何结果,属于运行异常(死循环),故选 **D**。
题目纠错
c语言选择判断题库

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

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