C语言 *** 作符

C语言 *** 作符,第1张

C语言 *** 作符 C语言中常见的 *** 作符

算数 *** 作符
加 ( + ) 减 ( - ) 乘 ( * ) 除 ( / ) 取余 ( % )
移位 *** 作符
左移 *** 作符 ( << ) 右移操作符 ( >> )
位 *** 作符
按位与 ( & ) 按位或 ( | ) 按位异或 ( ^ )
赋值 *** 作符
= 使右边的值赋值到左边
+=
-=
*=
/=
&=
^=
|=
>>=
<<=
举例代码

//以下两行代码运行结果相同
	a = a + 3;
	a += 3;

单目 *** 作符
顾名思义,只有一个 *** 作数的 *** 作符叫单目 *** 作符
! 逻辑反 *** 作
- 负值
+ 正值
& 取地址
sizeof *** 作数的类型长度(以字节为单位)
~ 对一个数的二进制按位取反
-- 前置、后置--
++ 前置、后置++
* 间接访问 *** 作符(解引用 *** 作符)
(类型) 强制类型转换
关系 *** 作符
大于 ( > ) 大于等于 ( >= ) 小于( < ) 小于等于 ( <= ) 等于 ( == ) 不等于 ( != )
注意:等于 ( == )不是赋值 *** 作符( = )。
逻辑 *** 作符
逻辑与 ( && )两个条件同时满足时成立
逻辑或 ( || )有一个条件满足时成立

    int a = 0;
	int b = 0;
	if ((a == 0) && (b == 0))
		printf("&&成立n");
	if ((a == 0) || (b == 1))
		printf("||成立n");
	if ((a == 1) || (b == 0))
		printf("||成立n");

运行结果

条件 *** 作符
exp1 ? exp2 : exp3

   //如果a大于b,则m = a,否则m = b
	m = (a > b) ? (a) : (b);//这一行代码和下面四行代码执行的效果相同
	if (a > b)
		m = a;
	else
		m = b;

逗号表达式
exp1, exp2, exp3, …expN
逗号表达式执行的结果为最后一个表达式的结果(不代表只需要运行最后一个表达式)

    int a = 1;
	int b = 2;
	int c = 3;
	int m = 0;
	m = ((a = a + b), (b = a + c), (c = b + c));
	printf("m = %dn", m);


m的值是最后一个表达式的结果,但最后一个表达式的结果受前面表达式的影响,所以逗号表达式的结果不能只运算最后一个表达式。
下标引用、函数调用和结构成员
[]
下标引用 *** 作符
*** 作数:一个数组名+一个索引值
()
函数调用 *** 作符
接受一个或多个 *** 作数:第一个 *** 作数是函数名,剩余的 *** 作数就是传递给函数的参数。
.
结构体成员访问
结构名.成员名
->
解引用 *** 作符
表示对指针指向的内存进行 *** 作

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存