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

8.设有 int x=11; 则表达式 (x++ * 1/3) 的值是()。

A
3
B
4
C
11
D
12

答案解析

正确答案:A

解析:

这道题考察的是 C/C++ 语言中**后置自增运算符**的优先级、结合性以及**整数除法**的特性。 ### 详细解析步骤: 1. **分析表达式结构**: 表达式为 `(x++ * 1 / 3)`。 这里涉及三个运算符:后置自增 `++`、乘法 `*`、除法 `/`。 2. **确定运算顺序(优先级与结合性)**: * **后置自增 `x++`**:优先级最高。它的含义是“先使用变量当前的值参与表达式运算,然后再将变量的值加 1”。 * **乘法 `*` 和除法 `/`**:优先级相同,且高于赋值等操作,但低于后置自增。它们遵循**从左到右**的结合性。 3. **逐步计算过程**: * **第一步:处理 `x++`** 当前 `x` 的值为 11。 因为是后置自增,所以在该子表达式中,`x++` 取出的值是 **11**。 (注意:此时内存中 `x` 的值尚未改变,或者理解为稍后才会变为 12,但在当前取值瞬间是 11)。 * **第二步:代入原表达式** 表达式变为 `(11 * 1 / 3)`。 * **第三步:执行乘法 `11 * 1`** `11 * 1` 的结果是 **11**。 表达式变为 `(11 / 3)`。 * **第四步:执行除法 `11 / 3`** 在 C/C++ 中,两个整数相除,结果依然是**整数**(向下取整,即截断小数部分)。 $11 \div 3 = 3.666...$ 截断小数部分后,结果为 **3**。 4. **最终结果**: 表达式的值为 3。 (补充说明:表达式计算结束后,变量 `x` 的值会变为 12,但这不影响表达式本身的返回值)。 ### 选项分析: * **A. 3**:正确。整数除法 $11/3$ 的结果。 * B. 4:错误。这是四舍五入的结果,C语言整数除法是截断。 * C. 11:错误。这是 `x` 的初始值,或者是忽略了后续运算。 * D. 12:错误。这是 `x` 自增后的值,或者是误以为先自增再运算(即 `(12*1)/3 = 4`,但也得不出12)。 ### 结论: 正确答案是 **A**。
题目纠错
c语言选择判断题库

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

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