一、算术运算符
1.加法运算符+
#include<stdio.h>
int main()
{
int a=2;
int b=3;
printf("a+b=%d\n",a+b);
return 0;
}
运行结果:
2.减法运算符-
#include<stdio.h>
int main()
{
int a=4;
int b=3;
printf("a-b=%d\n",a-b);
return 0;
}
运行结果:
3.乘法运算符*
#include<stdio.h>
int main()
{
int a=4;
int b=3;
printf("a*b=%d\n",a*b);
return 0;
}
运行结果:
4.除法运算符/
#include<stdio.h>
int main()
{
int a=4;
int b=3;
printf("a/b=%d\n",a/b);
//整型和整型相除等于整型
return 0;
}
运行结果:
#include<stdio.h>
int main()
{
float a=5;
float b=2;
printf("a/b=%\n",a/b);
//浮点型相除结果为浮点型
return 0;
}
运行结果:
5.求余运算符%
#include<stdio.h>
int main()
{
int a=5;
int b=2;
printf("%d\n",a%b);
return 0;
}
6.自增自减运算符
(1).前缀模式
- ++运算对象;//表示在本次使用变量前自增
- --运算对象;//表示在本次使用变量前自减
#include<stdio.h>
int main()
{
int a=10;
int b=10;
printf("++a的值是:%d\n--b的值是:%d\n",++a,--b);
printf("a的值是:%d\nb的值是:%d\n",a,b);
return 0;
}
运行结果:
(2).后缀模式
- 运算对象++;//表示在本次使用变量后再自增
- 运算对象--;//表示在本次使用变量后再自减
#include<stdio.h>
int main()
{
int a=10;
int b=10;
printf("a++的值是:%d\nb++的值是:%d\n",a++,b++);
printf("a的值是:%d\nb的值是:%d\n",a,b);
return 0;
}
运行结果:
二、赋值运算符
运算符 | 用法 |
简单赋值= | c=a+b将把a+b的值赋给c |
加法赋值+= | c+=a相当于c=c+a |
减法赋值-= | c-=a相当于c=c-a |
乘法赋值*= | c*=a相当于c=c*a |
除法赋值/= | c/=a相当于c=c/a |
求模赋值%= | c%=a相当于c=c%a |
#include<stdio.h>
int main()
{
int a=10;
int b=2;
int c=20;
c=a;
printf("c=%d\n",c);
c+=a;
printf("c=%d\n",c);
c-=b;
printf("c=%d\n",c);
c*=b;
printf("c=%d\n",c);
c=200;
c/=a;
printf("c=%d\n",c);
c=111;
c%=a;
printf("c=%d\n",c);
return 0;
}
运行结果:
三、关系运算符
- 大于>
- 大于等于>=
- 小于<
- 小于等于<=
- 不等于!=
- 等于==(用于测试左右两边的运算对象是否相等)
#include<stdio.h>
int main()
{
printf("%d\n",1>2);//关系不成立为假,用0表示假
printf("%d\n",1<2);//关系成立为真,用1表示真
return 0;
}
运行结果:
#include<stdio.h>
int main()
{
printf("%d\n",10==10);
printf("%d\n",10==9);
printf("%d\n",10!=10);
printf("%d\n",10!=9);
return 0;
}
运行结果:
四、逻辑运算符
- 逻辑与&&
- 逻辑或||
- 逻辑非!
//错误示例
#include<stdio.h>
int main()
{
printf("%d\n",2<=3<=10);
printf("%d\n",2<=0<=10);
return 0;
}
运行结果出现错误:所以引入与(&&)和非(|)
1.逻辑与和逻辑非的应用
#include<stdio.h>
int main()
{
int a = 10;
int b = 20;
int c;
printf("请输入一个整数:");
scanf("%d", &c);
if (a <= c && c <= b) {
printf("a<=c<=b\n");
}
if (c <= a || c >= b) {
printf("c的值不在ab之间");
}
return 0;
}
五、位运算符
1.六种位运算符
位运算符 | 含义 | 举例 |
&(and) | 按位与 | a&b |
| (or) | 按位或 | a|b |
^ (xor) | 按位异或 | a^b |
~ (not) | 按位取反 | ~a |
<<(shi) | 左移 | a<<1 |
>>(shr) | 右移 | a>>1 |
2.位逻辑运算规则
a | b | a&b | a|b | a^b | ~a | ~b |
0 | 0 | 0 | 0 | 0 | 1 | 1 |
0 | 1 | 0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 0 | 0 | 0 |
六、条件运算符(?和:)
c=(a>b)?a:b;
表示如果a大于b,那么a赋值给c,否则把b赋值给c;
//等价于:
if(a>b)
c=a;
else
c=b;
七、逗号运算符
- 其功能是把两个表达式连接起来组成一个表达式
#include<stdio.h>
int main()
{
int a=2,b=3,c=4,x,y;
y=a+b,x=b+c;
printf("y=%d,x=%d",y,x);
return 0;
}
八、运算符优先级
图片来自360百科
标签:return,int,这篇,C语言,运算符,includeint,printf,main From: https://blog.51cto.com/u_15420562/5721035