C语言-算数 *** 作符

C语言-算数 *** 作符,第1张

C语言-算数 *** 作符 算数 *** 作符

算数运算符 + - * / %

- + * 和数学中是基本一样的
/ 除法就出现的了区别

int a = 10 / 3;//两个整数相除 结果就是整数 如果是10/3.0 那么结果就是浮点数 变量的类型也要注意换成浮点型哦 以及%f
printf("%d",a);
结果:3

%取模 取余 *** 作符 就是在除法之后 最后整除不尽的值取出来
例如:
	int a = 10%3;
	printf("%d",a);
	结果:1


位移 *** 作符 >> <<

位移实际是移动的二进制的位置
int main()
{
	int a = 2;
	 a = a << 2;
	printf("%d",a);
}
结果:
	8
过程:
	2 转换成二进制就是 10 向左边<<移动2位 后面没东西就用0补上  就是 1000
	1000转换成十进制 就是8

位 *** 作符 | & ^

| 位或 *** 作符 也是二进制的对比 进行的或运算
10|3 
实际是下面这种对比 两个都为0的时候才为0
1010
0011
------
1011  也就是11

& 位与 *** 作符 也是二进制的对比 进行与的运算
10&3
实际是下面这种对比 两个都为1的时候才为1
1010
0011
------
0010 也就是2

^  异或  两个一样就为0  不一样就为1
10^3
----
1010
0011
------
1001 结果 9
 

赋值 *** 作符

	=	+=	-=	*=	/=	 %= ^=	|=	>>=	<<=
=是赋值操作符 就是把右边的值 赋给左边的变量
+= 就是左边的值加上右边的值 然后赋值给左边例如 
int a = 10;
a += 12; 就相当于 a = a +12; 后面的-+ *=…都是一个意思


单目 *** 作符

!	//逻辑取反
-	//负号
+  //正号
&	//取地址符 可以取内存地址
sizeof  //注意 sizefo是 *** 作符 在使用的时候可以不加括号
~	一个数的二进制位取反
-- //减减 
++ //加加  前++ 后++之前有说过 --也是一样的
*	间接访问 *** 作符	(解引用)
通过一个指针访问它所指向的地址这个过程叫做间接访问(indirection)或者解引用指针(dereferencing the pointer)。

~ 位取反需要单独拉出来讲一下 原码 反码 补码参考:
https://blog.csdn.net/weixin_44537835/article/details/121177713

逻辑 *** 作符

&& 逻辑与
 || 逻辑或
&& 就是左右两边的表达式 都为true才为true
|| 就是左右两边只要有一边是true 就为true
if(2>1 && 1<3){
	printf("v");//这个就是可以正确输出的 因为两个都为True
}

if(2>1 || 1>3){
	printf("v");//这个就是可以正确输出的 只要有一个是True就足够了
}

三目 *** 作符

exp?exp1:exp2;
如果exp成立为True 那么就执行exp1 否则就执行exp2
	1 > 1 ? printf("1"):printf("0");
	结果 0

逗号表达式

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5115175.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存