C语言中的运算符详解
什么是操作符?操作符也称运算符,是一种表示对数据进行某种运算处理的符号。C语言的运算符按完成的运算操作性质可以分为算术运算符、关系运算符、逻辑运算符、赋值运算符和其他运算符。按参与运算的运算数又可以分为单目运算符、双目运算符和三目运算符。接下来让我们详细了解这些操作符的种类。
算数操作符:+ - * / %(均为双目运算符)
关系运算符:< <= > >= == !=(均为双目运算符)
赋值运算符:= += -= /= &= ^= |= >>= <<=(均为双目)
逻辑运算符:与&&(双目) 或||(双目) 非 !(单目)
移位操作符:右移>> 左移<<(移动的是二进制位)(均为双目)
位操作符:按位与 &
按位或 |
按位异或 ^(均为双目)
条件操作符(三目运算符):语句一?语句二:语句三
如果语句一成立,整个表达式的结构是语句二的结果,反之是语句三的结果。
让我们看一个例子:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int a = 1;
int b = 3;
int max = 0;
max = a > b ? a : b;
printf("%d", max);
return 0;
}
它的运行结果为3,是否和你想的一样呢?
下标引用操作符:[ ]
函数调用操作符:( )
逗号表达式:逗号隔开的一串表达式,从左到右依次计算,整个表达式的结果是最后一个表达式的结果。
接下来总结一下单目运算符:
单目运算符:
! |
逻辑反操作 |
- |
负值 |
+ |
正值 |
& |
取地址 |
sizeof |
操作数的类型长度(以字节为单位) |
~ |
对一个数的二进制按位取反(二进制中所有数字0变成1,1变成0) |
-- |
前置、后置-- |
++ |
前置、后置++ |
(类型) |
强制类型转换 |
很多人对前置++和后置++比较混淆,那么我们来区分一下这对好兄弟。下面会给出程序及运行结果。
前置++(++a):先++,后使用
后置++ (a++):先使用,后++
最后,了解 #define定义常量和宏
define是一个预处理指令
#define定义常量:
#define _CRT_SECURE_NO_WARNINGS
#define MAX 100
#include<stdio.h>
int main()
{
printf("%d", MAX);
return 0;
}
#define定义宏:
#define ADD(x,y) x+y
#include<stdio.h>
int main()
{
printf("%d", ADD(3,2));
return 0;
}
注意:宏是完成替换的,是一个表达式,也就是说,最好给它带上括号,保证它是一个整体。
今天的分享就到这里啦!
上一篇: C语言新手必看!运算符和操作符的完整指南(超级实用)
下一篇: C++运算符详解,让你轻松掌握开心档