表达式
一个表达式是一系列运算符和算子的组合,用来计算一个值;例如以下的都是表达式
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;
说点什么