C语言:运算符,表达式与语句

1.赋值预算 =

//给变量赋值,在赋值过程中存在左值和右值

左值:
在赋值号=左边的变量
左值必须是变量
表示变量在内存中的空间
右值:
在赋值号=右边的值
右值可以是常量,变量,表达式等
表示一个数值
赋值:从右到左赋值,就是将右边的值保存到左边的变量空间中。
例如:

int a,b,c ;
		
		a = 10;   //正确
		10 = a;   //错误
		
		b = a;  //正确
		c = 2+4;  //正确

2.算数运算符:+ - / % ++ –

取余运算%:

左右两边必须是整数

++和–:

对某个变量空间中的值加1;然后再保存到变量的空间中
如果++和–在变量的右边,则先取变量的值参与其他运算,最后再对变量++或–
例如:

int a = 5,b = 3,c;
		
		c = a + b++;	
		
		a = ?    //5 
		b = ?    //4 
		c = ?    //8 

如果++或–在变量的左边,则先对变量++或–,然后再取出变量的值,参与其他运算
例如:

int a = 5,b = 3,c;
		
		c = a + ++b;	
		
		a = ?    //5 
		b = ?    //4 
		c = ?    //9 

3.逻辑运算:! && ||

逻辑运算一般用于条件判断句中
//真假值运算
逻辑取反: !----------- 把真变假,把假变真

逻辑与:&& ----------- 按下面的真值表运算
表达式A && 表达式B = 结果

表达式A表达式B结果

//如果表达式A为假,则表达式B不会执行,结果直接为假

逻辑或: || -------- 按羡慕的真值表运算
表达式A || 表达式B = 结果

表达式A表达式B结果

//如果表达式A为真,则表达式B就不会执行,结果直接为真

4.位运算: ~ & | ^ << >>

整数的位运算,指的是按二进制位进行逻辑运算
例如:

char a = 5, b = 3;	

		a :  0000 0101 
		~a:  1111 1010   ---> -6   
		//对应二进制位取反
				
			a :  0000 0101 
			b :  0000 0011
		a & b :	 0000 0001 ----> 1  
		 //对应的二进制位同为1,结果则为1,否则结果为0
		
			a :  0000 0101 
			b :  0000 0011
		a | b :	 0000 0111 ----> 7  
		//对应的二进制位同为0,结果则为0,否则结果为1
		
			a :  0000 0101 
			b :  0000 0011
		a ^ b :	 0000 0110 ----> 6  
		//对应的二进制位相同为0,不同为1
		
		//左移位:在最右边补0即可	
		  a :    0000 0101 
		a<<2: 00 00 010100  ---->20   
		
		//右移位:无符号数:在左边补0;有符号数:整数左边补0,负数左边补1
		a 	:  0000 0101	
		a>>2:  0000 0001-->01     ---->1
		
		-6  :  1111 1010
	   -6>>2:  1111 1110-->10    -----> -2 

5.关系运算:> >= < <= == !=

//比较两个数的大小,关系运算的结果为bool类型的值

int a = 5, b = 3;
	
	a > b  ---> 真 	
	a < b  ---> 假
		
	a == b ---> 假
	a != b --->

6.复合运算:+= *= <<= &= !=

//算数运算,位运算和赋值运算合并使用,就是复合运算
//当一个变量即出现在左值,又出现在右值,则可以使用复合运算
例如:

int a = 5, b = 3;
	
	a = a + b;  ---->  a += b;
	a = a <<2;  ---->  a <<= 2;

7.条件运算: ? :

格式:
表达式1 ? 表达式2 : 表达式3
//如果表达式1为真,则结果取表达式2的值,否则为表达式3的值
例如:

int a = 5, b = 3;
	a < b ? 20 : 10      //如果a<b为真,则结果为20,否则,结果为10

8.逗号运算: ,

将多个表达式一起运算,运算结果取最右边的表达式的值
例如:

int a = 5, b = 3;
	c = (a=1,b=2,a+=b,a+b)    //c = 5

9.sizeof运算符

//用于计算变量在内存中的空间长度,或者类型的大小
char a;
short b;
double d;

//变量空间的大小
sizeof(a) --> 1 或 sizeof a --> 1
sizeof(d) --> 8 或 sizeof d -->8

//计算类型长度
sizeof(char) = 1
sizeof(double) = 8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sashimi69

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值