学习C语言时,在我们已经学习了类型,常量与变量,接下来就是通过学习运算符与表达式对类型,常量与变量进行运算。简单说一下概念,用来对数据进行运算的符号,就可以称为运算符。C中运算符和数据构成的式子,就称为表达式。表达式再在其后加一个分号,即构成C 语言语句。
先说一下运算符吧。C语言的运算符多,一般记住一些常见的就ok了。由于整理的表格过大。在这里就不展示了。说一下三种比较重要的运算符类型:
① 单目运算符,即一元运算符,只需要一个运算分量,eg:-8,!a;
② 双目运算符,即二元运算符,需要两个运算分量,eg:a+b,x||y,c&&d;
③ 三目运算符,即三元运算符,需要三个运算分量,eg:a>b?a:b。(特别的一点是:条件运算符(?:)是C语言中唯一的三目运算符。)
接下来说一下表达式吧。根据运算符的分类,C语言的表达式分为以下8类:
算术表达式、关系表达式、逻辑表达式、赋值表达式、条件表达式、逗号表达式、位表达式和其它表达式等。这里就不一一列举了。重要说一下表达式的优先级和结合性。
优先级是指当不同的运算符进行混合运算时,运算顺序是根据运算符的优先级而定的,优先级高的运算符先运算,优先级低的运算符后运算。
算术>关系>逻辑>赋值(这是比较常见的,比较复杂还得查一下表的)
eg:“>”、“>=”、“<”和“<=”的优先级相同;“==”和“!=”的优先级相同。
结合性是指运算符可以和左边的表达式结合,也可以与右边的表达式结合,即:左结合性和右结合性。在复杂的算术表达式中:“()”的优先级最高,“*、/、%”运算符的优先级高于”+、-”运算符。算术运算符中的结合性均为“左结合”。