2.2.1
表达式:一个表达式是一系列运算符和算子的组合,用来计算一个值。
运算符:(operater)指运算的动作....加减乘除等
算子:(operand)是指参与运算的值,这个值可能是常数,也可能是变量,还可能是一个方法的返回值。
计算时间差程序(输入两个时间,每个时间每个时间分别输入小时和分钟的值,然后输出两个时间只差,也以几小时几分表示
#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;
}
hour l*60+minute l--->转化为分钟为单位
t/60--->小时部分;t%62,0--->分钟部分。
2.2.2
求平均值:写一个程序,输入两个整数,输出它们的平均值
#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;
}
运算符优先级
| 优先级 | 运算符 | 运算 | 结合关系 | 举例 |
| 1 | + | 单目不变 | 自左向右 | a*+b |
| 1 | - | 单目取负 | 自右向左 | a*-b(先做-b在和a相乘) |
| 2 | * | 乘 | 自左向右 | a*b |
| 2 | / | 除 | 自左向右 | a/b |
| 2 | % | 取余 | 自左向右 | a%b |
| 3 | + | 加 | 自左向右 | a+b |
| 3 | - | 减 | 自左向右 | a-b |
| 4 | =(是运算符) | 赋值 | 自右向左 | a=b |
赋值运算符
赋值也算运算符,也有结果
a=6的结果是a被赋予的值,也就是6
a=b=6----->a=(b=6)自右向左
2.2.3
交换变量(两杯水怎么把水交换呢?需要三个杯子就可以啦~)
#include <stdio.h>
int main()
{
int a=5;
int b=6;
int t;
t=a;
a=b;
b=t;
printf("a=%d,b=%d\n",a,b);
return 0;
}
程序是按步骤执行的
程序表达的是顺序执行的动作,而不是关系a=b;b=a;是依次执行的,结果使得a和b都得到了b原来值。
2.2.4
复合赋值
5个算数运算符,= - * /%,可以和赋值运算符”=“结合起来,形成复合赋值运算符:
"+=","-=","*=","/=","%="
注意两个运算符中间不要有空格
total+=5就是total=total+5
total+=(sum+100)/2就是total=total+(sum+100)/2
total*=sum+12就是total=total*(sum+12)
total/=12+6就是total=total/(12+6)
递增递减运算符
”++“和”--“是两个很特殊的运算符,他们是单目运算符,这个算子还必须是变量。这两个运算符分别叫做递增和递减运算符,他们的作用就是给这个变量+1或者-1。
count++就是count+=1就是count=count+1
前缀后缀
++和--可以放在变量的前面,叫做前缀形式,也可放在变量的后面,叫做后缀形式。
a++的值是a加1以前的值,++a的值是加了1以后的值,无论哪一个a自己都加1了。
#include <stdio.h>
int main()
{
int a;
a=10;
printf("a++=%d\n",a++);
printf("a=%d\n",a);
printf("++a=%d\n,++a);
printf("a=%d\n",a);
return 0;
}
2.2.5如何在PAT系统来做题目
3.1.2习题课







3.1.3 0的故事
这篇博客介绍了C语言中的基本概念,包括表达式、运算符和算子的区别,以及计算时间差、求平均值的程序实现。讲解了运算符优先级,特别是复合赋值和递增递减运算符的使用。此外,还提到了在PAT系统中做题的方法。
3万+





