c语言,本人菜鸟,高手来

已知:x=2.5,a=7,y=5.3:表达式x+a%3*(int)(x+y)%2/4的值为多少
算法也说明一下

第1个回答  2012-09-19
先看下运算符的优先级

()
/ 除 表达式/表达式 左到右 双目运算符
* 乘 表达式*表达式 双目运算符 左到右
% 余数(取模) 整型表达式/整型表达式 双目运算符 左到右
+ 加 表达式+表达式 左到右

先算(),x+a%3*(int)(x+y)%2/4 = x+a%3*7%2/4
先算除,x+a%3*7%2/4 = x+a%3*7%(2/4)
再算 * ,x+a%3*7%(2/4) = x+7%21%(2/4)
所以个人觉得,7%21%(2/4)= 0,最终就是x的值,
但是在vc中结果是这样的
#include<stdio.h>
void main(){
int a=7;
float x=2.5,y=5.3;
float b;
b = x+a%3*(int)(x+y)%2/4;
printf("b=%d",b);
}
b=0 Press any key to continue本回答被网友采纳
第2个回答  2012-09-17
结果是:2.5
算法
先算a%3结果是1你该会算吧
在算(int)(x+y)
x+y本来是7.8你前面加了一个int类型强制转换结果去int型结果为7
接着是算a%3*(int)(x+y)的质1*7=7
7%2=1应该没问题吧
1/4因为你的基本类型是(int)结果取整为0
x+0=2.5
好了就是这么算的
加QQ可以一起学习我也是新手呵呵
1394481913本回答被提问者采纳
第3个回答  2012-09-15
2.5追问

可以说一下怎么算吗

C语言不会,求高手,我是菜鸟
b5=b5+4;printf("b1=%c\\nb2=%c\\nb3=%c\\nb4=%c\\nb5=%c\\n",b1,b2,b3,b4,b5);

c语言,本人菜鸟,高手来
先看下运算符的优先级 ()\/ 除 表达式\/表达式 左到右 双目运算符 乘 表达式*表达式 双目运算符 左到右 余数(取模) 整型表达式\/整型表达式 双目运算符 左到右 + 加 表达式+表达式 左到右 先算(),x+a%3*(int)(x+y)%2\/4 = x+a%3*7%2\/...

C语言高手进!我是菜鸟请教
printf("公鸡%d个母鸡%d个小鸡%d个\\n",a,b,c);} }

我是菜鸟,C语言高手进!
c语言是一门入门语言,而且语法没多少,把几个循环语句记住,知道怎么开数组,用数组,链表自己先在纸上好再上机自己写一遍就好了。。知道这个大部分c语言基础就在这了。。include<stdio.h> int main(){ int a[10];int i,sum=0;for(i=0;i<2;i++)scanf("%d",&a[i]);for(i=0;i<2;...

本人是C语言菜鸟,大神求打救,简述一下什么是指针,什么是的地址,以下...
指针是地址,指针变量是存储地址的变量。一个变量的地址称为该变量的“指针”。内存的每个存储单元都是有编码的,每个编码都不同,这些编码称为地址。例如:int i=3;int是类型 告诉系统需要的存储单元。假如系统分配了编码为2000的地址给i,日后在调用i的时候实际上就是通过i找到地址为2000的存储单元,...

C语言关于简单的数组中元素的运算,本人菜鸟新手,求高手指点。
这个就是叠加,先把1,0,1,0,1,0,1,0付给a的数组中,然后进行加法就是由第3项开始等于前两项之和; a[i]+=a[i-1]+a[i-2];就等同于{ a[i]=a[i]+(a[i-1]+a[i-2]); } 如第一次运算a[2]=a[2]+(a[1]+a[0])=1+(1+0)=2,再运算a[3]=a[3]+(a[2]+a...

c语言 数据结构 本人不才看不出问题 ,希望各位大虾指教,谢谢、、请说...
呵呵,菜鸟能写出这么长的代码,不错,帮你看看 include <stdlib.h> \/\/因为要用到malloc函数,因此,加上此头文件 \/\/这个函数声明与定义不相符,注意变量顺序int ListInsert(sequenlist *L, datatype e, int i);\/\/在线性表L中第i个位置上插入元素e。int ListInsert(sequenlist *L, int i, ...

C语言高手来教教《我是菜鸟》
main(){ int i;long t;for(i=1,t=1;i<=100;t=i*t,i++);printf("zui hou jie guo:%ld\\n",t);system("PAUSE");} include <stdio.h> main(){ int i;long t;for(t=1,i=3;i<=11;t=t*i,i=i+2);printf("zui hou jie guo:%ld\\n",t);system("PAUSE");} 阶乘的...

本人菜鸟一枚 现在需要用c语言编译小点程序 在此谢谢大神了
Sum=0; for(int i=0; i<X ; i++ )\/\/ 先对Y求和 再对X求和 { for(int j=0; j<Y ;j++ ) { if( i+2<X ) { Sum+=(Pic[j][i+2].contrast-Pic[j][i].contrast)*(Pic[j][i+2].contrast-Pic[j][i].contrast); } } } return Sum;} ...

C语言该怎么学啊 本人是个菜鸟中的菜鸟啊(类似于数学中1+1不知道等于...
么?你要机器做什么,不就是帮你算1+1的么?好吧,开玩笑的,总之不用担心,认真地去学,别人能学会的,你为什么学不会呢 C语言入门的话主要还是考逻辑思维,看书很重要,还有就是好好的认真的上机实践,犯错不可怕,关键是犯错后知道为什么错,以及尽量做到以后不再重犯这样的错误 ...

相似回答
大家正在搜