请教一些c语言方面的基础知识

在下初学c语言,遇到了一些困难,希望那位好心人可以帮帮忙,对一下几题来一个细致的解答。
1表达式(int)((double)(5/2)+2.5)的值
2若有语句“doublr x=17;int y;”,当执行“y=(int)(x/5)%2;"之后y的值是( )

小弟,我想说,你不要搞这么复杂,考试不会这么难的,编程的话,我也没做这么复杂过,我想你还是注重一下算法比较好
1.先做(5/2)答案为2 (double)(5/2)为转成double型答案为2.0 ((double)(5/2)+2.5)两者相加为4.5 (int)((double)(5/2)+2.5)转成int型为4 所以答案为4
2.先做(x/5)答案为3.4 (int)(x/5)转成int型为3 (int)(x/5)%2求模,为1

希望对你有帮助
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-13
1.(int)((double)(5/2)+2.5)
C语言运算从右到左 所以先算)(5/2)+2.5=5;
前面2个是类型转换在输出时会不一样,所以结果等于5
2.“y=(int)(x/5)%2;"括号优先级高所以先算括号内的(x/5)=3.4,但是前面有(int)类型强转,所以结果等于3;然后在对2取余(%2)
最后结果等于1
第2个回答  2010-07-13
1,答案是4
由内向外计算.
5/2==2
(double)2==2.0
2.0+2.5=4.5
(int)4.5=4

2. 不知道,,,,,,
第3个回答  2010-07-13
1. 4,5
2. 1

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网