C语言入门简明教程
0x04 运算
写在开头
运算不止四则运算,计算机上有更多的运算,它们形态各异,运算方式也不同。
1.简单四则运算和取余
+:加
-:减
*:乘
/:除
%:求余数
运算可用于数字和数字、数字和变量、变量和变量
使用方法一看就会,和数学计算没什么两样:
int a=3*2;
int b=2+5;
int c=6/a;
int d=b*c;
int e=a+b+c*d;
int f=2*(a+2*(b+c));
2.自增、自减
通过自增自减,可以方便地进行单个变量的增减,具体如下:
int i=0;
int j=i++;//j=0,该句执行完后i变为1
int k=++j;//k=1,j=1
int a=k--;//a=1,该句执行完后k变为0
int b=--a;//b=0,a=0
3.+=,-=,*=,/=,%=
这就相当于自身+、-、*、/、%上另一个数,例子:
int a=0;
a+=2;//等价于a=a+2;
4.比较运算符
就像数学一样,
大于:>
小于:<
等于:==
大于等于:>=
小于等于:<=
不等于:!=
5.一个三目运算符 ?:
看上去很怪很牛逼,其实很简单:
<条件语句>?<成立时的值>:<不成立时的值>;
//例子
int a=1,b=2;
int c=a>b?a:b;//c=2
6.位运算
计算机的运算怎么能少了位运算呢?
众所周知(也许),以整数来说,数据是由一大堆0和1组成的,对这些0和1的操作便是位运算
符号 | 作用 | a | b | 运算->结果 |
---|---|---|---|---|
~ | 按位取反(1变0,0变1) | 10001010 | - | ~a->01110101 |
& | 按位与(全为1则1,否则为0) | 10001010 | 11100011 | a&b->10000010 |
| | 按位或(有1则为1) | 10001010 | 11100011 | a|b->11101011 |
^ | 按位异或(同为0,不同为1) | 10001010 | 11100011 | a^b->01101001 |
>> | 右移位 | 10001010 | 2 | a >> b->00100010 |
<< | 左移位 | 10001010 | 2 | a << b ->00101000 |
位运算同样也可以以“^=、|=、&=、>>=、<<=“的形式书写
7.逻辑运算
&&:AND,同真时为真,此运算符为短路运算符,第一项不成立则不看第二项是否成立
||:OR,有一项为真则为真,此运算符为短路运算符,第一项成立则不看第二项是否成立
!:在不成立(为假)时结果为真,在成立(为真)时结果为假
8.各运算符优先级
网页链接:运算符优先级
总结
自己试试看吧~
EOF