博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言操作符总结
阅读量:3959 次
发布时间:2019-05-24

本文共 1364 字,大约阅读时间需要 4 分钟。

C语言操作符分类:

算数操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式、下标引用、函数调用和结构成员。
1.算数操作符:(+ - * \ %)
%操作符的两个操作数必须都为整数。
移位操作符:(<<左移 >>右移)
左移:左边抛弃,右边补0。
右移:1、逻辑移位(逻辑右移):右边抛弃,左边补0。
2、算数移位(算数右移):右边抛弃,左边用原该值的符号位填充。
注:1、对于移位运算符,不要移动负数位,这个是标准未定义的。
2num<<1,num的值并未改变,因为计算机计算过程发生在CPU寄存器中,所以只有赋值才会改变num的值。
位操作符:(&按位与 | 按位或 ^按位异或)
&:只有同为1结果才为1,其余全为0。
|:任何数和1按位或都为1,任何数和0按位或都为它本身。
^:相同为0;相异为1。
注:位操作符的操作数必须是整数。
赋值操作符:(=)
1、可连续赋值。eg: a = x = y + 1;(不建议使用,代码不容易被理解)
2、复合赋值符:(使代码简洁)
+= -= *= /= %= >>= <<= &= |= ^=
注:= 不可与 == 混淆使用 (易错点)
单目操作符:
! (逻辑反操作)

  • ( 负值)
  • (正值)

& (取地址)

sizeof (操作数的类型长度(以字节为单位)(不是函数))
~ (对一个数的二进制按位取反)

    • (前置 后置- -(前置:先使用后自增   后置:先自增后使用))

++ (前置 后置++(规则同上))

  • (间接访问操作符(解引用操作符))

(类型)(强制类型转换)eg: int a= 9; folat f = (float) a;

注:C语言中没有布尔型,用 1、0 表示 真、假
关系操作符:(> >= < <= != ==)
比较简单没什么说的:
唯一要注意:= 不可与 == 混淆使用 (易错点)
逻辑操作符:(&&逻辑与 ||逻辑或)
1、区分 & 和 && ;| 和 || ; eg: if(a < 10 && a !=0)
2、&&(可理解为 并且);||(可理解为 或者)
条件操作符:(也叫三目运算符)
exp ? exp 1 : exp 2 ;
eg: a>b? a : b; (如果a>b则a=a,否则a=b)
逗号表达式:
exp1,exp2.exp3,…expn;
就是用逗号隔开的多个表达式。逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。
eg: a = get_val(); 可改成 while( a = get_val(); count_val(a); a > 0 )
count_val(a); {
while(a > 0) //业务处理
{ }
//业务处理
a = get_val();
count_val(a);
}
优点:代码更简洁
下标引用、函数调用和结构成员:
1、[ ] 下标引用操作符:操作数为 一个数组名 + 一个索引值
eg: arr[ 9 ] = 10;
2、()函数调用操作符,接受一个或者多个操作数:第一个操作数为函数名,剩余的操作数就是传递给函数的参数。
eg: text( n);
3、访问一个结构的成员
. 结构体 . 成员名

转载地址:http://wilzi.baihongyu.com/

你可能感兴趣的文章
jsp 2.0标记文件
查看>>
Hibernate中Criteria的完整用法
查看>>
sql jsp
查看>>
Word生成目录
查看>>
JSP彩色验证码源程序编写
查看>>
java操作Excel、PDF文件
查看>>
java 获得系统变量
查看>>
window.event对象用法讲解
查看>>
jive license保护原理
查看>>
java des加密
查看>>
struts&hibernate&spring例子
查看>>
inno使用教程
查看>>
网吧系统母盘制作(系统分区整体考虑优化配置篇)
查看>>
spring beans beanfactory applicationcontext
查看>>
使用ORM工具进行数据访问
查看>>
使用ORM工具进行数据访问
查看>>
Quartz 使用手记 --转
查看>>
编译与部署Eclipse+Tomcat+MySQL+Liferay4.1.2
查看>>
MySQL用户授权
查看>>
mysql忘记密码怎么办?~
查看>>