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

1、第15题 (1.0分) 题号:594设int x=1,y=1;表达式(!x++ || y--)的值是_( )。

A
0
B
1
C
2
D
-1

答案解析

正确答案:B

解析:

这道题考查的是 C 语言中逻辑运算符的**短路求值(Short-circuit evaluation)**特性以及自增/自减运算符的优先级和返回值。 ### 详细解析步骤: 1. **初始状态**: `int x = 1, y = 1;` 2. **分析表达式**: 表达式为 `(!x++ || y--)`。 该表达式由逻辑或运算符 `||` 连接左右两部分: * 左边:`!x++` * 右边:`y--` 3. **计算左边部分 `!x++`**: * `x++` 是**后置自增**。它的规则是:**先取值,后自增**。 * 所以,`x++` 这个表达式的值是 `x` 当前的值,即 `1`。 * 紧接着,`x` 的值变为 `2`(副作用发生)。 * 然后对取出的值 `1` 进行逻辑非运算 `!`。 * 在 C 语言中,非零值为真,`!1` 的结果为 `0`(假)。 * 因此,左边部分 `!x++` 的计算结果为 **0**。 4. **处理逻辑或 `||` 的短路特性**: * 逻辑或运算符 `||` 的规则是:如果左操作数为真(非零),则整个表达式结果为真,不再计算右操作数;如果左操作数为假(零),则**必须计算右操作数**来确定最终结果。 * 因为左边部分的结果是 `0`(假),所以程序**会继续执行**右边的 `y--`。 5. **计算右边部分 `y--`**: * `y--` 是**后置自减**。规则同样是:**先取值,后自减**。 * 所以,`y--` 这个表达式的值是 `y` 当前的值,即 `1`。 * 紧接着,`y` 的值变为 `0`(副作用发生)。 * 因此,右边部分 `y--` 作为表达式的值为 **1**。 6. **得出最终结果**: * 整个表达式变成了 `0 || 1`。 * 逻辑或运算:`0 || 1` 的结果为 **1**(真)。 ### 结论: 表达式 `(!x++ || y--)` 的值是 **1**。 故正确答案选 **B**。
题目纠错
c语言选择判断题库

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

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