编程学习网 > 编程语言 > C/C++开发 > c语言编程:三元运算符
2022
11-07

c语言编程:三元运算符


今天编程学习网为大家讲解c语言编程:三元运算符,有需要的小伙伴可以参考一下:

在本文中,我们将了解C / C ++中的三元运算符。

三元运算符( ? : :)是非常有用的运算符,它与if-else语句非常相似。 对于程序员来说,这是一个有用的选项,可以避免使用嵌套的if-else条件使代码混乱。让我们使用一些说明性示例快速浏览使用此简单运算符!



三元运算符 (The Ternary Operator)

在使用三元运算符之前,让我们看一下简单的if-else语句的格式。

  1. if (condition) {
  2. variable = expression1;
  3. }
  4. else {
  5. variable = expression2;
  6. }


尽管这很简单,但将其写成一行并直接分配给variable可能会更方便!我们可以通过三元运算符来实现。

三元运算符的工作方式与上面的if-else块相同。

  1. variable = (condition != 0) ? expression1 : expression2;


看看有多简单?!这表示如果condition成立,则将为variable分配expression1的值。 否则,它将被赋予expression2的值。因此,这基本上与原始的“ if-else”语句相同。现在让我们看一个简单的例子。



使用三元运算符-一些示例 (Using the Ternary Operator – Some Examples)

考虑下面的程序,它将基于奇数还是偶数将变量分配给-1

  1. #include <stdio.h>
  2. int main() {
  3. int a = 10;
  4. int b = 5;
  5. int c = (a % 2 == 0) ? a : -1;
  6. int d = (b % 2 == 0) ? b : -1;
  7. printf("a = %d, c = %d\n", a, c);
  8. printf("b = %d, d = %d\n", b, d);
  9. return 0;
  10. }


Output

输出量

  1. a = 10, c = 10
  2. b = 5, d = -1


如您所见,由于a是偶数,因此现在将评估第一部分(在?之后)并将其分配给c。在第二种情况下,由于b为奇数,因此现在评估第二部分(在:之后)并将其分配给d。三元运算符还使编写递归函数非常容易阅读。考虑下面的程序,该程序使用三元运算符从1开始使用递归函数查找斐波那契序列!

如果n <= 1 ,则递归函数将返回1,否则将返回fib(n-1) + fib(n-1) !


  1. #include <stdio.h>
  2. int fibonacci(int n) {
  3. return (n <= 1) ? 1 : fibonacci(n-1) + fibonacci(n - 2);
  4. }
  5. int main() {
  6. int val = fibonacci(10);
  7. printf("Starting from 1, fibonacci(%d) = %d\n", 10, val);
  8. return 0;
  9. }


Output

输出量

  1. Starting from 1, fibonacci(10) = 89


如果计算出来,您确实可以验证1之后的第十个斐波那契数是89。由于三元运算符,递归函数现在是一个简单的线性函数。希望这为您提供了另一个更频繁使用三元运算符的理由!



结论 (Conclusion)

我们学习了如何使用三元运算符( ? : :),这是一个不错的技巧,可以避免编写嵌套的if-else条件。这使得可以在一行中编写简单的条件语句,这对于C / C ++程序员是一个不错的选择。

以上就是“c语言编程:三元运算符”的详细内容,想要了解更多C语言教程欢迎持续关注编程学习网

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取