您的位置:首页 > 编程语言 > C语言/C++

C语言操作符小结

2017-11-22 16:17 330 查看
C语言运算符是说明特定操作的符号,它是构造C语言表达式的工具。C语言的运算异常丰富,除了控制语句和输入输出以外的几乎所有的基本操作都为运算符处理。除了常见的三大类,算术运算符、关系运算符与逻辑运算符之外,还有一些用于完成特殊任务的运算符,比如位运算符。

C语言操作符具体分为以下类别:1、算数操作符,2、移位操作符,3、位操作符,4、赋值操作符,5、单目操作符,6、关系操作符,7、逻辑操作符,8、条件操作符,9、逗号表达式,10、下标引用、函数调用和结构成员。下面,我们就对这些操作符逐一进行介绍。

算数操作符中包含+、-、*、/、%(取余)。除了%只可以作用于整数之外,其他的都可以作用于整数和浮点数;对于/操作符,如果两个操作数都为整数,执行整数除法,而只要有浮点数就进行的是浮点数除法。

移位操作符之中有右移操作符“》”和左移操作符“《”(箭头朝哪边就是哪个操作符),它们的是二进制序列。对于左移操作符“《”来说,他的规则是位移之后左边抛弃,右边补0。对于右移操作符“》”来说,他的运算规则分为两种:1、逻辑移位:左边用0填充,右边丢弃;2、算术移位:左边用原该值的符号位填充,右边丢弃。通常情况下,右移操作符的操作规则一般都选算数移位,这样不会改变原值的正负,比较合理。警告:对于移位运算符,不要移动负位数,这个标准未定义。

赋值操作符是一个很棒的操作符,你可以用它给变量重新赋值。

单目操作符包括!(逻辑反操作)-(负)、+(正)、&(取地址)、sizeof(操作数的类型长度)、~(对一个数的2进制按位取反)、--、++、*、(类型)(强制类型转换)。对于--、++,前置和后置的意义是不同的,i--、i++表示的是先使用再加减或加,--i、++i表示的是先减或加再使用。

关系操作符中有>、>=、<、<=、!=(不等)、==(相等)(注意,=标识的是赋值,两者不要混淆)。

逻辑操作符中有:逻辑与&&、逻辑或||。逻辑与的运算规则是:符号前后条件都满足时为真,其他情况下都为假。逻辑或的运算规则是:符号前后至少有一个条件满足,结果为真。(注意区分按位或|和按位与&,按位值得是对二进制位进行操作。)

条件操作符,我们用一个表达式来看吧:exp1?exp2:exp3,条件操作符就是其中的?:,它表达的意思就是如果问号前边的表达式为真则选择exp2作为运算结果,否则选择exp3。

逗号表达式,就是用逗号隔开的多个表达式,他从左到右依次执行,整个表达式的结果是最后一个表达式的结果。

下标引用、函数调用和结构成员:1、[ ],操作数:一个数组名+一个索引值,例:

                                                      int arr[10];//创建数组

                                                      arr[9]=10;//使用下标操作引用符

                                                      [ ]的两个操作数是arr和9                                                                                                                                     2、(),函数调用操作符,接受一个或多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。3、访问一个结构的成员:.结构体.成员名、->结构体指针->成员名。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: