C语言基本运算符

几大基本运算符

  • 赋值运算符
  • 算术运算符
  • 关系运算符
  • 逻辑运算符
  • 位运算符

赋值运算符

  • 单等号=
    计算顺序:从左往右
  • 例如:
    double salary = 3200.0;
    double total = salary *2;
    char sex = ‘F’;
    int score =98;
#include <stdio.h>
int main() 
{	
//复合运算符
	int num = 8;
	num %= 5;
	printf("%d\n",num);
 } 
#include <stdio.h>
int main()
{
	//复合运算符
	int x = 5;
	x += 10;			//等价 x = x + 10;
	printf ("%d\n", x);
	x -= 10;			//等价 x = x - 10;
	printf ("%d\n", x);
	x *= 10;			//等价 x = x * 10; 
	printf ("%d\n", x);
	x /= 10;			//等价 x = x / 10;
	printf ("%d\n", x);
	x %= 10;			//等价 x = x % 10;
	printf ("%d\n", x);	
	return 0; 	
}

算术运算符

  • ** 一元运算符:++、–**
#include <stdio.h>
int main() 
{
	int num = 10;
	num++;					//num= num + 1;
	num = num + 5; 			// num += 5; 等价写法
	printf ("%d\n ",num);
 } 
  • 二元运算符:+、-、*、/、%
#include <stdio.h>
int main()
{
	//定义两个整型变量
	int num1 = 5, num2 =2;
	//4个double型变量用来存放计算结果
	double result1,result2,result3,result4;
	result1 = num1 / num2;		//除法 
	result2 = num1 % num2;		//取模
	result3 = num1++;			//后置,num1先赋值给result3,后在进行自加1
	result4 = --num2;			//前置,num1先自减1,然后赋值给result4
	printf ("num1 / num2 = %lf \n", result1);
	printf ("num1 %% num2 = %lf \n",result2);
	printf ("num1++ = %lf\n",result3); 
	printf ("--num2 = %lf\n",result4);
}

关系运算符

  • 关系运算符:>、<、>=、<=、==、!=
#include <stdio.h>
int main()
{
	printf("5 > 8吗? %d\n",5 > 8);
	printf("6 < 9吗? %d\n",6 < 9);		//C语言中,0表示假,1(非零)表示真 
}

逻辑运算符

  • &&(条件1 && 条件2):两个条件同时为真时,结果为真
  • || 条件1 || 条件2):两个条件有一个为真时,结果为真
  • !(!条件):条件为真时,结果为假;条件为假时,结果为真

位运算符

在这里插入图片描述

#include <stdio.h>
int main()
{
	//算术运算符 + - * / %
	//关系运算符 > < >= <= == !=
	printf ("%d\n", 8 == 9);
	printf("%d\n", 5 > 9 && 4 < 7) ;
	//逻辑运算符 && || !
	//赋值运算符 = += -= /= *=
	int num = 10;		//	10 > 11
	int result = num++ > 11 &&  --num < 20; //短路运算, --num < 20是不会被执行的 
	//问题:result
	printf("result = %d\t num= %d\n",result, num); 

}

运算符的优先级

  • ()、 sizeof 、++、 –
  • !
  • 算术运算符
  • 关系运算符
  • &&
  • ||
  • 赋值运算符
int main()
{
	printf("%d\n", !((18+45%3*5)>16)); 			// !18>16,!取反,
}
  • 记忆技巧
    1、单目运算符包括 !、~、++、–、sizeof,优先级别高
    2、优先级别最低的是赋值运算符
    3、可以通过()控制表达式的运算顺序,()优先级最高
    4、从右向左结合性的只有赋值运算符、三目运算符和单目运算符
    5、算术运算符 >关系运算符>逻辑运算符

猜你喜欢

转载自blog.csdn.net/qq_38778137/article/details/83444303