C语言中逻辑运算符有三个:
1、&&:与运算,表示两个对象只要有一个为0,结果就为0,全为1则结果为1
2、||:或运算,表示两个对象只要有一个为1,则结果为1,全为0则结果为0
3、!:非运算,表示对运算对象取反,对象为0,结果为1,对象为1,结果为0
#include<stdio.h>
#include<windows.h>
int main()
{
int a=1;
int b=0;
int c,c2;
c=a&&b;
c2=a||b;
printf("%d\n%d\n",c,c2);
system("pause");
return 0;
}
结果为:
算数操作符
++:自加:对原有的数据进行+1
- -:自减:对原有的数据进行-1
参与运算使用: 当++在变量后面(i++),会先将变量中的值取出做赋值操作,再自身+1
当++在变量前面(++i),会先自身+1,然后再将+1后的结果赋值
#include<stdio.h>
#include<windows.h>
int main()
{
int a=3; /*定义变量,赋值为3*/
int b=3;
int i, j; /*声明变量,得到自增运算的结果*/
int m,n; /*声明变量,得到自减运算的结果*/
j=++a; /*前缀自增运算*/
i=b++; /*后缀自增运算*/
printf("自增操作 ...\n");
printf("a的值是:%d\n",a); /*显示自增运算后自身的数值*/
printf("j的值是:%d\n",j); /*得到自增表达式中的结果*/
printf("b的值是:%d\n",b); /*显示自增运算后自身的数值*/
printf("i的值是:%d\n",i); /*得到自增表达式中的结果*/
a=3; /*恢复变量的值为3*/
b=3;
m=--a; /*前缀自减运算*/
n=b--; /*后缀自减运算*/
printf("自减操作 ...\n");
printf("a的值是:%d\n",a); /*显示自减运算后自身的数值*/
printf("m的值是:%d\n",m); /*得到自减表达式中的结果*/
printf("b的值是:%d\n",b); /*显示自减运算后自身的数值*/
printf("n的值是:%d\n",n); /*得到自减表达式中的结果*/
return 0;
system("pause");/*程序结束*/
}
结果:
逗号运算符
逗号运算符的优先级是所有运算符中级别最低的,通常配合 for 循环使用。逗号表达式最右边的子表达式的值即为逗号表达式的值。 上例中,c++ 的值(c 自增之前的值)即为该表达式的值。
可以把两个以上(包含两个)的表达式连接成一个表达式,称为逗号表达式。
其一般形式为: 子表达式1, 子表达式2, ..., 子表达式n
例如: a + b, c = b, c++ 逗号运算符的优先级是所有运算符中级别最低的,通常配合 for 循环使用。
上例中,c++ 的值(c 自增之前的值)即为该表达式的值。
#include<stdio.h>
int main()
{
int a=4,b=6,c=8,res1,res2;
res1=a+b,b+c; /*计算逗号表达式*/
res2=(a+b,b+c); /*计算逗号表达式*/
printf("y=%d,x=%d\n",res1,res2); /*将res1、res2输出*/
}
结果为:
这是因为赋值运算符比逗号运算符优先级高