求表达式运算后a的值 a%=(n%=2),n的值等于5 设原来a=12
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/01 07:54:32
1)a=12+5=172)a=12*5=603)a=12%5=24)a=12-(2+5)=55)a=12/(12+5)=06)a+=a-=a*=n这一句相当于a*=n;//a=12*5=60a-=a;
(1)先算a%b=3,再算b/a=1,最后相加得结果4.a、b值不变.规则:先乘除/取模,后加减,和数学习惯一样.(2)先算a/b=0,再加c得结果5,最后c++.a、b值不变,c=5+1=6.规则:
(1)a=12%(n%2)=12%1=0(2)a=a/(a+a)=0(3)a=a*a=144;a=a-144=0;a=a+0=0;最后a=0
void main(){int n=5, a=10;a+=a; printf("%d",a);a-=2; printf("%d",a);a*=2+3; printf("%d",a);a/=a+a;
a=('m'>'n')?a+2:a-2,a+3,3*a等同于a=true?a+2:a-2;等同于a=a+2;a=5;,的运算顺序是自左向右.a+3,3*a在这里没有意义.再问:为什么a+3,3*a在这
n%=2//n=1a%=1//结果是0不好意思给错了结果应当是0仔细说一下n%2相当于5/2以后的余数自然是1而12能整除1当然就没有余数所以最后是0
n%=2返回1a%=1返回0a也等于0
运算后a的值是a=a*(2+3),也就是60.
如果题目没抄错的话答案就是1,0,2,3可以运行一下嘛要相信自己
++a是前加加,先计算后,再用a的值,经过计算后a=11a--是后减减,先用,再计算,所以此时a=11所有(++a)+(a--)=11+11=22
这种称为讨论题:1)向量a=b=0则n,m∈R2)a=0b不等于0时-2mb+nb=5b-2m+n=5,m=∈R,n=(5+2m)3)a不等于0b=0时3ma+4na=2a;3m+4n=2;m∈R,n
&&是需要左右两边都为真时,才是真.x&&y也就是需要x和y为真,x&&y为真,当x为假时,编译器已经能判断出x&&y为假了,不可能为真了,此时编译器就不再往下判断了,也就是说y代表的东西不再执行了.
因为a>b不成立所以m=0所以原式=0&&(n=c>d)=0所以选A
*和++同优先级,结合方向是自右向左,所以a=*p++等同于a=*(p++)即:a=*p;p=p+1;
1&&b==1&&0||1答案为1
(1)24(2)10(3)60(4)0(5)0(6)0
先运算n%2,由于n=5,故n%2的值为1(%表示取模,即余数)然后运算a=a%1,故a最后的值为0
++值为3,c++值为4,--a值为0,但是此题考查的是++或者--在前还是在后,例如:b++,则先拿b去运算在将b+1,而++b是先把b+1再拿结果去运算,所以执行表达式后:d=1,a=0,b=3,
(a=(((m=(a>b))&&(n=(c>d)))||(++a)))==(b--)按照我加括号的顺序运算.算符优先级的问题所有的c语言教材后面都有详细说明.真正的程序也没有这样写的,因为有一个最简单