一个表达式是一系列运算符和算子的组合,用来计算一个值;例如以下的都是表达式
amount=x*(1+0.033)*(1+0.033)*(1+0.033);
total=5;
count=count+1;
value=(min/2)*lastvalue;
运算符(operator)是指进行运算的动作,比如加减法运算符"+",减法运算符"-",乘法运算符"*",除法运算符"/"取余运算符"%",赋值运算符"=";
算子(operand)是指参加运算的值,这个算子可能是常熟,也有个可能是变量,还可能是一个方法的返回值。
a=b+5其中a,b,5都是算子,"=", " + " 都是运算符;
value=(min/2)*lastvalue其中 value ,min,2, lastvalue都是算子,"=","/","*"都是运算符;
#include <stdio.h>
int main()
{
int hour1,minute1;
int hour2,minute2;
scanf("%d","%d",&hour1,&minute1);
scanf("%d","%d",&hour2,&minute2);
int t1=hour1*60+minute1;
int t2=hour2*60+minute2;
int t=t2-t1;
printf("时间差是%d小时%d分钟。",t/60,t%60);
return 0;
}
取余是除法中的术语 ,取余数是指整数除法中被除数未被除尽部分,且余数的取值范围为0到除数之间(不包括除数)的整数;
先用hour*60+minute➡把两个变量(t1跟t2)小时单位转换成分钟单位;再用t2-t1得到两个时间差为t分钟;
t现在为分钟单位,我们让t/60转换成小时单位,没有用浮点数让它留小数部分,所以能得到正确的几小时,t%60取余,取t/60除不完的余数部分,这就是分钟;
括号()里面的跟单目运算(如-b,+b(是取b的正值,和相反值;而不是加b,减b))最优先;运算顺序自右向左;
乘除取余第二算,顺序自左向右;
加减第三算,顺序自左向右;
赋值最后算;顺序自右向左;
赋值运算符"=":复制也是运算,也有结果;a=6的意思是把6的值赋予a,也就是6;a=b=6的结果是a=(b=6)→a=6,而不是a=6;