一、关机运算符与逻辑运算符
关系运算符包括:> >= < <=
他们具有相同的优先级。优先级仅次于他们的时相等性运算符:== !=
关系运算符的优先级比算数运算符底。
逻辑运算符:&& | |
运算符&&的优先级比||的优先级高,但两者都比关系运算符和相等性运算符的优先级低。
二、自增运算符与自减运算符
C语言有两个用于变量递增与递减的特殊运算符。自增运算符++使其操作数递增1,自减运算符--使其操作数递减1.我们经常使用++与--运算符递增与递减变量的值,如下所示:
#include <stdio.h>
int main()
{
/*
int a = 10;
a = a + 1;
a += 1;
a++;
++a;
a--;
*/
int b;
int a = 10;
//b = (a++) + (++a);
b = (++a) + (a++);
return 0;
}
三、逻辑运算
逻辑与:条件1 && 条件2
逻辑或:条件1 | | 条件2
逻辑非: !条件
#include <stdio.h>
int main()
{
//逻辑与 条件1 && 条件2
int a = 10>3 && 7<6;
printf("a=%d\n", a);
/*
int a = 10;
int b = 10;
//int c = (a>5) && (++b>=11);
int c = (a<5) && (++b>=11);
// 逻辑或 条件1 || 条件2
//int a = 0 || 11;
/*
int a = 10;
int b = 10;
int c = (a<5) || (b++ - 10);
*/
// 逻辑非 !条件
// 如果条件成立,就返回0;如果条件不成立,就返回1
//int a = !(10>8);
//int a = !-10;
//int a = !10>8;
return 0;
}
四、三目运算符
三目运算符: 条件 ? 数值1 :数值2
条件成立返回数值1,条件不成立返回数值2;
#include <stdio.h>
int main()
{
/* 计算2个整数之间的最大值
int a = 10;
int b = 99;
int c = a>b ? a : b;
printf("c is %d\n", c);
*/
// 计算3个整数之间的最大值
int a = 10;
int b = 999999;
int c = 1000;
// 求出a、b的最大值
int abMax = (a > b) ? a : b;
// 求出最终的最大值
int d = (abMax > c) ? abMax : c;
//int d = (((a > b) ? a : b) > c) ? ((a > b) ? a : b) : c;
printf("d is %d\n", d);
return 0;
}