运算符

 运算符:

/*运算符  逗号,关系及逻辑运算符
(1).优先等级:逗号15(所有运算符中优先级最低);逻辑与11,逻辑或12;等于,不等于7,关系运算符(除了等于和不等于之外)6 
(2).在C语言中,优先级并不完全决定运算顺序;
   1.只有4种运算符(&&,||,逗号,条件运算符)规定了运算顺序,必须自左往右
   2.操作数的求值顺序,不同的编译器可能有所不同---不要依赖任何不可移植的操作,应避免出现
(3).&&和||都先计算左边表达式的值,如果左边表达式的值能够确定整个表达式的值,那么右边表达式的值就不会被计算

*/
#include <stdio.h>
int main()
{	
	//逻辑与运算符
	int a1=0;
	0 && (a1 = 3);    //&&操作的左值为0,整体表达式的值为0,右边表达式的值将不会被计算
	printf("a1的值为%d\n",a1);  //所以输出a1的值为0

	int a11=0;
	1 && (a11 = 3);   //&&操作从左向右计算,左操作数为1,右操作数被计算
	printf("a11的值为%d\n",a11);  //输出a11的值为3
	while(1 && (a11 = 3))        //表达式的值为真
	{
		printf("表达式的值为真\n");
		break;
	}
	
	//逻辑或运算符
	int a2 = 0;
	0 ||(a2 = 3);  //左操作数为假,整体表达式为假,右操作数将不会被计算
	printf("%d\n",a2);  //输出a2的值为0;

	return 0;
}

条件运算符

/*
(1)条件运算符是C语言中唯一的三目运算符,其优先级为13
(2)C语言中条件运算符的运算方向也是必须自左向右的
*/

#include <stdio.h>
int main()
{
	1?printf("哈哈\n"):printf("呵呵\n");
	/*     //与上一句等价
	if(1)
		printf("哈哈\n");
	else
		printf("呵呵\n");
	*/	
  
	1?printf("1\n"),printf("2\n"):(printf("3\n"),printf("4\n"));
	/*    //等价上一句
	if(1)
	{
		printf("1\n");
		printf("2\n");
	}
	else
	{
		printf("3\n");
		printf("4\n");
	}
	*/

	0?printf("A\n"):0?printf("B\n"):printf("C\n");
	/*    //与上一句等价
	if(0)
		printf("A\n");
	else
	{
		if(0)
			printf("B\n");
		else
			printf("C\n");
	}
	*/
	/*   //与上一句等价
	if(0)
		printf("A\n");
	else if(0)
		printf("B\n");
	else
		printf("C\n");
	*/

	return 0;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值