即使有了变量和常量,也不能进行日常程序的处理,需要用某种方式将变量常量的关系表示出来,这就是运算符的作用,就像任何零件都需要导线和一些小部件来进行链接才能发挥作用。
目录
-
运算符种类
- 算术运算符:(加)+ (减) - (乘) * (除) / (求模) % (自增) ++ (自减) --
- 关系运算符:(大于)> (小于) <(等于) ==(小于等于) <= (大于等于) >= (不等于) !=
- 逻辑运算符:(逻辑与)&& (逻辑或) || (逻辑非) !
- 赋值运算符:(等于)=(这个就不用细说了。小学都知道)
- 指针运算符:(取内容)* (取地址)&
- 逗号运算符:,(用处不大)
- 条件运算符:?:(具体例子后面介绍)
- 位操作运算符:(位与)&(位或)|(位非)!(位异或)^(位左移)<<(位右移)>>
(以上可分为单目运算符、双目运算符、三目运算符)//单目指运算一个对象,三目指运算两个对象,双目同理
-
运算符的优先级
-
运算符详解
>>算术运算符(+、-、*、/、%)
//前置 先运算再自增或自减
//后置 先自增或自减再运算
//C语言
//算术运算符的运用
#include<stdio.h>
#include<stdlib.h>
void main() {
int num1=10;
int num2=30;//定义两个参数
int temp=0;//定义一个变量,并初始化
tepm=num1+num2;
printf("%d",temp);//加
tepm=num2-num1;
printf("%d",temp);//减
tepm=num1*num2;
printf("%d",temp);//乘
tepm=num2/num;
printf("%d",temp);//除
tepm=num1++;
printf("%d",temp);//后置自增
tepm=++num1;
printf("%d",temp);//前置自增
tepm=num2--;
printf("%d",temp);//后置自减
tepm=--num2;
printf("%d",temp);//前置自减
tepm=num2%num1;
printf("%d",temp);//求模
system("pause");
}
>>关系运算符(<、>、<=、>=、==、!=)
//注意赋值“=”和关系“==”
//C语言
//关系运算符的运用
//运算过后的返回值是真或假,C语言里是0为假和非零为真
#include<stdio.h>
#include<stdlib.h>
void main() {
int a = 20;
int b = 10;
printf("%d", b <= a);
printf("\n");
printf("%d", b >= a);
printf("\n");
printf("%d", b == a);
printf("\n");
printf("%d", b != a);
printf("\n");
system("pause");
}
>>逻辑运算符(||、&&、!)
//C语言
//关系运算符的运用
//关系的两边是真或者假的条件
#include<stdio.h>
#include<stdlib.h>
void main() {
int a = 20;
int b = 0;
printf("%d\n",a&&b);//有假为假
printf("%d\n",a||b);//有真为真
system("pause");
}
>>指针运算符(*、&)
//C语言
//指针和取地址在指针时详细介绍
#include<stdio.h>
#include<stdlib.h>
void main() {
int a = 20;
int* b =&a;
printf("%d\n",*b);
system("pause");
}
>>条件运算符(?:)
//c语言
//三目运算符的运用
//三目运算符可以当作if语句使用
#include<stdio.h>
#include<stdlib.h>
void main() {
int a = 20;
int b =10;
printf("%d\n",a>b?a:b);
if (a>b) {
printf("%d\n",a);
}
else {
printf("%d\n", b);
}
system("pause");
}
int max(int a, int b){
return a>b?a:b;
}//意思就是a>b吗?是的返回a,不是返回b。
>>位操作运算符(&、|、^、<<、>>)
//位操作符是按二进制位进行比较或运算
// >> 移操作 左边的是被操作的数,右边的是移多少位
//C语言
//位操作的运用
#include<stdio.h>
#include<stdlib.h>
void main() {
int a = 4;//二进制 100
int b =3;//二进制 011
printf("%d\n",a&b);//位与操作,100&011 == 000。二进制位有0为0
printf("%d\n",a|b);//位或操作,100|011 == 111。二进制位有0为1
printf("%d\n",a^b);//位异或,100^011 == 111。二进制位不同为1
printf("%d\n",a<<1);//位左移操作,二进制位左移一位,右边补0,等于乘2
printf("%d\n",b>>1);//位右移操作,二进制位右移一位,左边补0,等于除以2
system("pause");
}
运算符介绍到这儿,奇经八脉已经打通,更高的修为和造化就需要勤加练习,千秋万载,一统江湖!