1.表达式计算
2.运算符
2.1
3. 计算
4. 计算时间差
输⼊两个时间,每个时间分别输⼊⼩时和 分钟的值,然后输出两个时间之间的差, 也以⼏⼩时⼏分表⽰
#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; }
5. 求平均值
#include <stdio.h> int main() { int a,b; scanf("%d %d",&a,&b); double c=(a + b)/2.0; printf("%d和%d的平均值=%f\n",a,b,c); return 0; }
6.运算符优先级
7. 单目运算符
只有⼀个算⼦的运算符:+、-
8. 赋值运算符
9. “嵌⼊式赋值”
int a = 6;
int b;
int c = 1+ (b=a);
10. 结合关系
result = a = b = 3 + c;
result = 2;
result = (result = result * 2) * 6 * (result = 3 + result);
这样的表达式太复杂,不容易阅读和理解,容易造成读程序时的误解。所以,要避免写出这样的复杂表达式来的。这个表达式应该被拆成诺干个表达式,然后以明显的正确的顺序来进行计算。
11. 计算复利
#include <stdio.h> int main() { int x; scanf("%d",&x); double amount = x * (1 + 0.033) * (1 + 0.033) * (1 + 0.033); printf("%f", amount); return 0; }
要计算任意年以后的本息金额,就需要做(1+0.033)^n的计算
#include <stdio.h> int main() { int year,i; double money,total=0,rate=0.033; printf("请输入您的本金:\n"); scanf("%lf",&money); printf("请输入您要存的年数:\n"); scanf("%d",&year); for(i=1;i<=year;i++) { total=(1+rate)*money; //该年的本息和 money=total; //下年的本金换算成本年的本息和 } printf("%d年后,你的本息和为%f。\n",year,total); return 0; } /* 这是一个计算复利的程序 变量 本金money 每年利率rate 多少年year 多少年后的本息合计total 初始化rate=0.033 输入本金数 将其存入money 循环 */
12.交换两个变量
如果已经有
int a = 6;
int b = 5;
如何交换a、b两个变量的值?
程序是按步执⾏的
程序表达的是顺序执⾏的动作,⽽不是关系a=b; b=a;,是依次执⾏的,结果使得a和b都得到b原来的值
交换
int t = a;
a = b;
b = t;
13.复合赋值
复合赋值
14.递增递减运算符
“++”和“--”是两个很特殊的运算符,它们 是单⺫运算符,这个算⼦还必须是变量。 这两个运算符分别叫做递增和递减运算符, 他们的作⽤就是给这个变量+1或者-1。
count++;
count += 1;
count = count + 1;
前缀后缀
++和--可以放在变量的前⾯,叫做前缀形 式,也可以放在变量的后⾯,叫做后缀形 式。
a++的值是a加1以前的值,⽽++a的值是加 了1以后的值,⽆论哪个,a⾃⼰的值都加 了1了。
++--