1. 关系运算符
可以做一些大小判断,返回值位Boolean值,0或1,将来可以用来进行条件判断
2. 逻辑运算符
3. 赋值运算符
可以给变量赋值,除了"="外,下面的所有赋值运算符的运算效率都会快一些,并且占用更少的内存,真的佩服以前的计算机工作者,为了省内存想尽了办法
4. 自增运算符
运算符写在前面是先运算再输出,运算符写在后面是先输出在运算
#include<stdio.h>
//自增运算符
int main()
{
int i;
scanf("%d", &i);
printf("%d\n", ++i);
printf("%d\n", i++);
printf("%d\n", i--);
printf("%d\n", --i);
return 0;
}
这里我输入6,那么在进行第一条语句时,加一输出是7,第二条语句输出7再+1,进入到下一条语句的时候,i已经变成了8,再输出8之后-1,进入到下一条语句的时候已经变成了7,再-1输出就输出了7
5. 三元运算符
如果表达式1位真则输出表达式2,否则输出表达式3
#include<stdio.h>
//三元运算符
int main()
{
int a;
int b;
int c;
scanf("%d %d %d", &a, &b, &c);
printf("最大的数是:%d\n", (a > b ? a : b) > c ? (a > b ? a : b) : c);
printf("最小的数是:%d\n", (a < b ? a : b) < c ? (a < b ? a : b) : c);
return 0;
}
学了这个其实就可以做一个很简单的判断了
这里可以做一个练习:
某超市做抽奖活动,如果你的vip的4位数字相加为16,则可以中奖,否则只能得到小礼品
#include<stdio.h>
int main()
{
int vip;
int ge;
int shi;
int bai;
int qian;
printf("请输入你的四位会员卡号:");
scanf("%d", &vip);
ge = vip % 10;
shi = vip / 10 % 10;
bai = vip / 100 % 10;
qian = vip / 1000;
printf("%s", (ge + shi + bai + qian) == 16 ? ("恭喜你中大奖了") : ("很遗憾您没有中奖但是可以得到小礼品"));
}
6. 位运算符
与& 或 | 非~ ^异或 >>右移运算符 <<左移运算符
& 与运算 将每位进行与运算,最后输出结果 有0就0,都1才1
| 或运算 将每位进行或运算,最后输出结果 有1就1,都0才0
~ 对每一位进行非运算,对每一位取反,符号位也会取反
^ 异或运算,是相同位0,相异为1
a >> b 右移运算,将a所有位数向右移b位
a << b 左移运算,将a所有位数向左移b位
这些都是对其二进制数数字进行操作
学了这些,就可以用位运算做一些事情:
比如可以用与运算判断数字的奇偶性,就将得到的数字&1就好了,其实就在判断最后一位是否为1
也可以不用借用第三个变量,来使两个变量的值交换:
#include<stdio.h>
int main()
{
int a = 5;
int b = 3;
a ^= b;
b ^= a;
a ^= b;
printf("%d, %d", a, b);
}
这样就可以
7. if语句
if条件判断语句可以判断条件,然后进行对应的运算