C语言学习(三)表达式

1.表达式

一个表达式是一系列运算符与算子的组合,用来计算一个值。

运算符:进行运算的动作
算子:可以是值、常数或者变量。

例1:计算时间差
输入两个时间,每个时间分别输入小时与分钟的值,然后输出两个时间之间的差。

分析:
① 输入两个时间:

    int hour1,minute1;
	int hour2,minute2;

	scanf("%d %d",&hour1,&minute1);
	scanf("%d %d",&hour2,&minute2);

② 相减可能出现借位
分析:我们可以将时间转化为分钟进行相减计算,然后再转化为几时几分进行输出。
关于结果的转化,由于整数除法会把小数部分除掉,所以小时计算只需要用时间除以60;分钟部分可以用取余,用时间除以60取余既可。

代码如下:

    t1=hour1*60+minute1;
	t2=hour2*60+minute2;

	t=t2-t1;

	printf("时差为%d小时%d分",t/60,t%60);
	

2.运算符优先级

例2:平均数计算
分析:由于两个数相加再进行除法,得到的结果不是整数,所以结果可以赋值给一个double的变量。

代码如下:

   int a,b;
	double c;
	
	scanf("%d %d",&a,&b);
	c=(a+b)/2.0;

	printf("平均值=%f\n",c);

在上面的运算中由于除法算术优先级比加法高,所以用到了括号。
在C语言中也和平时一样,乘除以及%比加减优先级要高。

3.赋值运算符
赋值也是运算,也有结果,如a=6的结果是将6这个值赋给a这个变量;
赋值语句是从右到左;
赋值运算符的优先级最低,a=b+5语句中先计算b+5,再将结果赋值给a。

4.交换两个变量

例3:交换两个变量a、b的值
分析:
① 在C语言中是按照代码顺序进行运算的,如果直接写a=b;b=a;是不会一起进行运算的,所以这样并不能完成变量交换的需求。
② 要完成交换,就需要一个中间变量c,先将a的东西存入c,再将b的值赋给a,c的值赋给b既可完成交换。

代码如下:

    int a=5;
	int b=6;
	int c;

	c=a;
	a=b;
	b=c;

	printf("a=%d,b=%d\n",a,b);

5.复合赋值

五个算术运算符±/%,可以与赋值运算符=结合起来形成复合运算符:“+=”、“-+”、“=”、“/=”、“%=”。

a += 5;
a=a+5;

6.递增递减运算符

“++”与“- -”是两个特殊的运算符,表示递增与递减运算。

a++;
a +=1;
a=a+1;

前缀后缀:
a++表示a加1之前的值,加一是附带动作;++a表示a加1之后的值。

猜你喜欢

转载自blog.csdn.net/qq_33523925/article/details/86652782