zoukankan      html  css  js  c++  java
  • C运算符,简单却常被忽略,很有用的东西

    一、各类运算符的优先级(从高至低):

    初等运算符 ( )、[ ]、·

    单目运算符 !、+ +、– –、+ 、– 、(类型)
    算术运算符 *、/ 、% ,+、 –
    关系运算符 <、>、<=、>= ,= =、! =
    逻辑运算符 &&、¦¦

    条件运算符 ? :
    赋值运算符 =、+=、 –=、*=、/=、%=
    逗号运算符 ,

    1. 运算符
    C语言具有丰富的运算符。 Turbo C 提供了44种数据操作运算符,其使用范围很宽。
    运算符是一种向编译程序说明特定的运算或操作的符号。每一种运算符都具有特定的数据操作规则。

    2. 运算符的分类
    (1)按运算符要求运算对象的个数分类:单目运算符、双目运算符、三目运算符。
    (2)按其数据操作功能分类:算术运算符、关系运算符、逻辑运算符、位运算符、C的特殊运算符 。

    3.运算符的优先级
    当一个表达式中出现多个运算符时,表达式的求值运算按运算符的优先级别从高到低的顺序执行。在C语言中,将44种运算符的优先级从高到低共分为15个等级。如表所示。

    4.运算符的结合性
    (1)运算符的左结合性:当一个操作数两侧的运算符具有相同的优先级时,操作数先与左边的运算符结合,即自左至右的结合方向。
    (2)运算符的右结合性: 即自右至左的结合方向。。
    除单目运算符、赋值运算符和条件运算符是右结合性外,其它运算符都是左结合性。

    运算符
    解释
    结合方式
    () [] -> . 括号(函数等),数组,两种结构成员访问
    由左向右
    ! ~ ++ -- + - 

    * & (类型) sizeof

    否定,按位否定,增量,减量,正负号,

    间接,取地址,类型转换,求大小

    由右向左
    * / % 乘,除,取模
    由左向右
    + - 加,减
    由左向右
    << >> 左移,右移
    由左向右
    < <= >= > 小于,小于等于,大于等于,大于
    由左向右
    == != 等于,不等于
    由左向右
    & 按位与
    由左向右
    ^ 按位异或
    由左向右
    | 按位或
    由左向右
    && 逻辑与
    由左向右
    || 逻辑或
    由左向右
    ? : 条件
    由右向左
    = += -= *= /= 

    &= ^= |= <<= >>=

    各种赋值
    由右向左
    , 逗号(顺序)
    由左向右






    Back To: Totti's 技术文档 Totti's Homepage
  • 相关阅读:
    Deno下一代Nodejs?Deno初体验
    2018年JavaScript现状报告
    国企程序员是一种怎样的体验
    前端面试送命题(二)-callback,promise,generator,async-await
    Nodejs mongoose 详解
    JS的进阶技巧
    Nodejs经验谈
    给腾讯云Linux主机创建Swap文件
    LVS跨网段DR模式并使用ldirectord实现RS高可用性
    LAMP配置NFS页面共享,autofs实现挂载,DNS实现名称解析,纯手动操作
  • 原文地址:https://www.cnblogs.com/zjulion/p/1088604.html
Copyright © 2011-2022 走看看