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

1、第139题 (1.0分) 题号:150 经过以下语句定义后,表达式z+=x>y?++x:++y的值为()。 int x=1,y=2,z=3;

A
2
B
3
C
6
D
5

答案解析

正确答案:C

解析:

**解析:** 本题考查 C 语言中运算符的优先级、结合性以及三元运算符(条件运算符)的执行逻辑。 **1. 初始状态** 变量定义为:`int x=1, y=2, z=3;` **2. 表达式分析** 表达式为:`z += x > y ? ++x : ++y` 我们需要根据运算符优先级来确定计算顺序: * **优先级最高**:关系运算符 `>` * **其次**:条件运算符 `? :` * **最低**:复合赋值运算符 `+=` 因此,表达式的执行逻辑等价于:`z += ( (x > y) ? (++x) : (++y) )` **3. 逐步执行过程** * **第一步:判断条件 `x > y`** * 当前 `x = 1`, `y = 2`。 * `1 > 2` 为假(False)。 * **第二步:执行三元运算符的分支** * 因为条件为假,所以执行冒号后面的表达式 `++y`,跳过 `++x`。 * 执行 `++y`(前置自增): * `y` 的值先增加 1,变为 `3`。 * 表达式 `++y` 的结果值为 `3`。 * 此时变量状态:`x = 1`, `y = 3`, `z = 3`。 * **第三步:执行赋值运算 `z += ...`** * 三元运算符的结果为 `3`。 * 表达式变为 `z += 3`。 * 即 `z = z + 3`。 * 当前 `z` 为 `3`,所以 `z = 3 + 3 = 6`。 **4. 最终结果** 整个表达式 `z += x > y ? ++x : ++y` 的值即为赋值后 `z` 的值,也就是 **6**。 故正确答案为 **C**。
题目纠错
c语言选择判断题库

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

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