单目操作符
#include<stdio.h>
int main()
{
int a = 0;//初始化
a = 20;//赋值
a += 3;//a=23,相当于a=a+3
a -= 3;//a=17,相当于a=a-3
int b = 10;
int sum = a + b;
//+属于双目操作符,对两个数据进行操作,
//!属于单目操作符,对一个数据进行操作
if (!(a == 30))//注意运算的优先级,所以要把a==30加上括号
//!非代表取反结果
//a≠30,所以为假也就是0,取非之后也就是1,
//C语言中0代表假,非0代表真
{
printf("a不等于30\n");
}
//sizeof不是函数,也属于单目操作符
sum = a + (b++);
//b++是先进行整个式子的运算,然后对b进行加1操作
//++b是在整个式子运算前先对b进行加1操作,再进行运算
//--b和b--同理
printf("%d\n", sum);
sum = a + (++b);
printf("%d\n", sum);
return 0;
}
双目操作符
#include<stdio.h>
int main()
{
//对于3.14这种字面浮点数,编译器默认为是double类型
int a = (int)3.14;
//强制将3.14转化为int型
printf("%d\n", a);
int b = 10;
if (b == 10)
//判断两个值是否相等用==,一个=是赋值操作
{
printf("hello\n");
}
if (a == 3 && b == 10)
//&&代表逻辑与,当a=3并且b=10那么这个条件就为真
{
printf("yes\n");
}
if (a==3||b == 66)
//||代表逻辑或,当a=3或者b=66这个条件都为真
{
printf("yesyes\n");
}
return 0;
}
三目操作符
#include<stdio.h>
int main()
{
int a = 10, b = 20;
int r = a > b ? a : b;
//三目操作符,如果a>b成立,那么返回a,否则返回b
//后面的a,b也可以是语句或者函数
a > b ? printf("%d\n", a) : printf("%d\n", b);
printf("%d\n", r);
return 0;
}
评论区