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

1、〖第21题〗433) 下列程序的输出为()。 main() { int y=10; while(y--) ; printf(”y=%d\n”,y); }

A
 y=0
B
 while构成无限循环
C
 y=1
D
 y=-1

答案解析

正确答案:D

解析:

这道题主要考察 C 语言中 `while` 循环的执行机制以及后置自减运算符 `y--` 的特性。 **1. 代码逻辑分析** * **初始化**:`int y = 10;`,变量 `y` 初始值为 10。 * **循环条件**:`while(y--)` * 这里使用的是**后置自减**运算符。其执行规则是:**先使用 `y` 当前的值作为表达式的值进行判断,然后再将 `y` 的值减 1**。 * `while` 循环会一直执行,直到括号内的表达式值为假(即 0)时停止。 * 注意循环体是一个空语句 `;`,这意味着循环体内没有实际操作,所有的变化都发生在条件判断中。 **2. 逐步推导过程** 让我们模拟循环的最后几次迭代,因为前面的迭代只是让 `y` 逐渐变小,关键看何时退出循环: * ...(中间过程省略,y 逐渐减小)... * **当 y = 1 时**: 1. 判断条件:取 `y` 的当前值 `1` 作为表达式结果。`1` 为真(True),进入循环(虽然循环体为空)。 2. 执行自减:`y` 变为 `0`。 * **当 y = 0 时**: 1. 判断条件:取 `y` 的当前值 `0` 作为表达式结果。`0` 为假(False),**循环终止**。 2. 执行自减:**注意**,即使是判断为假导致循环退出,后置自减运算符 `y--` 中的“减 1”操作依然会执行。这是后置运算符的关键特性。 3. 执行自减后:`y` 从 `0` 变为 `-1`。 **3. 输出结果** 循环结束后,程序执行 `printf("y=%d\n", y);`。 此时 `y` 的值已经是 **-1**。 因此,输出结果为 `y=-1`。 **4. 选项分析** * A. `y=0`:错误。如果使用的是前置自减 `--y` 或者在判断为假时不执行自减,才可能是 0,但后置自减在判断后仍会执行。 * B. `while构成无限循环`:错误。`y` 每次都在减小,最终会变为 0 从而退出循环。 * C. `y=1`:错误。 * D. `y=-1`:正确。符合上述推导。 **结论** 正确答案是 **D**。
题目纠错
c语言选择判断题库

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

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