算数运算符

您所在的位置:网站首页 三目运算符是左结合还是右结合 算数运算符

算数运算符

2023-05-21 04:26| 来源: 网络整理| 查看: 265

那么什么是目呢?目实际就是操作数的数量,两个操作数便是双目,一个操作数就是单目。

优先级相同的运算符,运算次序由结合性决定。

比如 3 * 4 / 5 % 6,其中乘号、除号和求余运算符在同一优先级,结合性是“左到右”,因此先计算 3 * 4,再计算 / 5,最后计算 % 6再如 -i++,符号和自增运算符在同一优先级,结合性是“右到左”,因此 -i++ 相当于 -(i++)

目运算符是指操作数的个数,比如单目运算符只有一个操作数,双目运算符有两个操作数,而三目运算符则有三个操作数。

通过使用小括号可以提升表达式的优先级至最高。

比如 (1 + 2) * (3 - 4),其中加号、减号运算符的优先级本身是要低于乘号运算符的,但由于使用了小括号,且结合性均是“左到右”,所以先计算 (1 + 2),再计算 (3 - 4),最后才将前两者的结果相乘。

 代码示例。

#include #include int main(){ int i, j, k; i = 1 + 2; j = 1 + 2 * 3; k = i + j + -1 + pow(2, 3); printf("i = %d\n", i); printf("j = %d\n", j); printf("k = %d\n", k); return 0; }

 运行结果。

 

代码示例。

#include #include int main(){ printf("整型输出:%d\n", 1 + 2.0); printf("浮点型输出:%f\n", 1 + 2.0); return 0; }

 运行结果。

 那么第一个为什么是错的呢,因为第一个在程序运行时,(1 + 2.0)会自动转换为浮点型,而在输出结果时却要强制成整型,所以才会出错。因此需将(1 + 2.0)中的2.0先转换为整型,程序运行的结果才会是正确的。

修改代码示例。

#include #include int main(){ printf("整型输出:%d\n", 1 + (int)2.0); printf("浮点型输出:%f\n", 1 + 2.0); return 0; }

运行结果正确。

 注:如果觉得有用的话,记得点赞收藏哦!

《带你学C带你飞》——算数运算符 



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3