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

1、〖第28题〗400) 下列语句的输出结果是()。 printf(”%d\n”,(int)(2.5+3.0)/3);

A
 有语法错误不能通过编译
B
2
C
1
D
0

答案解析

正确答案:C

解析:

这道题考查的是 C 语言中的**类型转换**、**运算符优先级**以及**整数除法**的规则。 ### 详细解析步骤: 1. **分析表达式结构**: 需要计算的表达式为 `(int)(2.5+3.0)/3`。 根据运算符优先级,括号 `()` 的优先级最高,其次是强制类型转换 `(int)`,最后是除法 `/`。 2. **第一步:计算括号内的加法** `2.5 + 3.0` 这两个数都是浮点数(double 或 float),直接相加得到结果 **5.5**。 3. **第二步:执行强制类型转换** `(int)(5.5)` 将浮点数 `5.5` 强制转换为整型 `int`。在 C 语言中,浮点数转整数时会**直接截断小数部分**(而不是四舍五入)。 因此,`(int)5.5` 的结果是 **5**。 4. **第三步:执行整数除法** `5 / 3` 此时,被除数 `5` 是整数,除数 `3` 也是整数。在 C 语言中,两个整数相除,结果依然是**整数**,小数部分会被舍去。 $5 \div 3 = 1.666...$ 取整数部分,结果为 **1**。 5. **第四步:输出结果** `printf("%d\n", 1);` 格式化字符串 `%d` 用于输出十进制整数,因此最终输出 **1**。 ### 选项分析: * A. 语法正确,可以通过编译。 * B. 如果误以为会四舍五入或者进行了浮点除法,可能会选错,但这里既不是四舍五入也不是浮点除法。 * **C. 正确。** 经过截断和整数除法后结果为 1。 * D. 如果分子小于分母(如 2/3)才会得 0,这里是 5/3。 ### 结论: 正确答案是 **C**。
题目纠错
c语言选择判断题库

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

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