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

1、第223题 (1.0分) 题号:117 设a=12,且a定义为整型变量。执行语句a+=a-=a*=a;后a的值为()。

A
12
B
144
C
0
D
132

答案解析

正确答案:C

解析:

这道题考查的是 C 语言中**赋值运算符的结合性**以及**复合赋值运算符**的执行顺序。 ### 1. 核心知识点 * **结合方向**:赋值运算符(`=`, `+=`, `-=`, `*=`, `/=` 等)在 C 语言中是**从右向左**结合的。 * **表达式解析**:语句 `a += a -= a *= a;` 等价于 `a += (a -= (a *= a));`。这意味着我们需要先计算最右边的 `a *= a`,然后依次向左计算。 ### 2. 逐步推导过程 已知初始值 `a = 12`。 **第一步:计算最右侧的 `a *= a`** * 表达式为 `a = a * a`。 * 代入当前值:`a = 12 * 12`。 * 计算结果:`a` 变为 **144**。 * 此时,整个子表达式 `(a *= a)` 的值也为 144。 * 原表达式简化为:`a += (a -= 144);` (注意:此时内存中的 `a` 已经是 144 了)。 **第二步:计算中间的 `a -= 144`** * 表达式为 `a = a - 144`。 * 注意:这里的 `a` 使用的是上一步更新后的值,即 144。 * 代入计算:`a = 144 - 144`。 * 计算结果:`a` 变为 **0**。 * 此时,整个子表达式 `(a -= 144)` 的值也为 0。 * 原表达式简化为:`a += 0;` (注意:此时内存中的 `a` 已经是 0 了)。 **第三步:计算最左侧的 `a += 0`** * 表达式为 `a = a + 0`。 * 注意:这里的 `a` 使用的是上一步更新后的值,即 0。 * 代入计算:`a = 0 + 0`。 * 计算结果:`a` 保持为 **0**。 ### 3. 最终结论 执行完所有步骤后,变量 `a` 的最终值为 **0**。 因此,正确选项是 **C**。
题目纠错
c语言选择判断题库

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

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