1 运算符
1.算数运算符
定义:+ - * / %
2.关系运算符
定义:> < >= <= == !=
// int a = 4;
// int b = 3;
// printf("%d\n",a>b); //关系运算符成立为1,不成立为0
// printf("%d\n",a<b);
// printf("%d\n",a>=b);
// printf("%d\n",a<=b);
// printf("%d\n",a==b);
// printf("%d\n",a!=b);
3.逻辑运算符
定义:! && ||
// int a;
// int b;
// scanf("%d %d",&a,&b);
// printf("%d\n",a&&b);
// printf("%d\n",a||b);
// printf("%d\n",!a,!b);
4.赋值运算符
定义:= += -= *= /= %=
// int a;
// int b;
// scanf("%d %d",&a,&b);
// int c;
// a = a+b;//与下行代码等价
// a +=b;
// printf("%d\n",a);
// a -=b;//等价于a=a-b
// printf("%d\n",a);
// a *=b;//等价于a=a*b
// printf("%d\n",a);
// a /=b;//等价于a=a/b
// printf("%d\n",a);
// a %=b;//等价于a=a%b
// printf("%d\n",a);
5.自增自减运算符
定义:++ --
// int i = 4;
// int j;
// j = i++;
// j = ++i;
// printf("%d\n",i);//前置++是先加1在使用,后置++是先使用后加1
// printf("%d\n",j);
6.条件运算符
定义:表达式1?表达式2:表达式3(三目运算符)
// int a = 4;
// int b =5;
// int c;
// c = a>b?a:b;//三目运算符:意思是 是如果a>b的结果为真,那么表达式的结果会是a,表达式的结果为假,那么表达式的结果就会是b。
// printf("%d\n",c);
7.位运算符
定义:& | ~ ^ >> <<
// int a = 3;//3转2进制011 //位与是两个都是1相与才是1
// int b = 4;//4转2进制100
// printf("%d\n",a&b);//每位相与判断
// int a = 3;//011//或是有一个是一则是1
// int b = 5;//101
// //每位相或为111则结果为7
// printf("%d\n",a|b);
// int a = 3; //011
// //100
// printf("%d",~a);//先转换为二进制对每一位取反,存储为补码,然后再转换为原码除符号位其余位取反+1
// int a = 4;
// int b = 12;
// printf("%d",a^b);//相同为0相异为1
// char a =3;//011向右移 1位
// char b = 1;
// printf("%d\n",a>>b);
// char a =3;//011向左移 1位
// char b = 1;
// printf("%d\n",a<<b);
2 表达式的优先级与结合性
1.表达式
定义:用运算符将运算对象(比如变量、常量等)连接起来,符合C语言规则
如:a*b/c-2.4+‘a’
优先级高的先计算,同等级的按结合性进行计算(左右结合)
2.不同类型数据的混合运算
1.混合运算时,那个数据类型精度更高,最终结果就是那个数据类型,此事有编译系统自行完成。
2.有符号数低于无符号数
3.float类型按照double类型进行计算