今天编程学习网为大家讲解c语言编程:三元运算符,有需要的小伙伴可以参考一下:
在本文中,我们将了解C / C ++中的三元运算符。
三元运算符( ? : :)是非常有用的运算符,它与if-else语句非常相似。 对于程序员来说,这是一个有用的选项,可以避免使用嵌套的if-else条件使代码混乱。让我们使用一些说明性示例快速浏览使用此简单运算符!
三元运算符 (The Ternary Operator)
在使用三元运算符之前,让我们看一下简单的if-else语句的格式。
-
if (condition) {
-
variable = expression1;
-
}
-
else {
-
variable = expression2;
-
}
尽管这很简单,但将其写成一行并直接分配给variable可能会更方便!我们可以通过三元运算符来实现。
三元运算符的工作方式与上面的if-else块相同。
-
variable = (condition != 0) ? expression1 : expression2;
看看有多简单?!这表示如果condition成立,则将为variable分配expression1的值。 否则,它将被赋予expression2的值。因此,这基本上与原始的“ if-else”语句相同。现在让我们看一个简单的例子。
使用三元运算符-一些示例 (Using the Ternary Operator – Some Examples)
考虑下面的程序,它将基于奇数还是偶数将变量分配给-1
-
#include <stdio.h>
-
-
int main() {
-
int a = 10;
-
int b = 5;
-
-
int c = (a % 2 == 0) ? a : -1;
-
int d = (b % 2 == 0) ? b : -1;
-
-
printf("a = %d, c = %d\n", a, c);
-
printf("b = %d, d = %d\n", b, d);
-
-
return 0;
-
}
Output
输出量
-
a = 10, c = 10
-
b = 5, d = -1
如您所见,由于a是偶数,因此现在将评估第一部分(在?之后)并将其分配给c。在第二种情况下,由于b为奇数,因此现在评估第二部分(在:之后)并将其分配给d。三元运算符还使编写递归函数非常容易阅读。考虑下面的程序,该程序使用三元运算符从1开始使用递归函数查找斐波那契序列!
如果n <= 1 ,则递归函数将返回1,否则将返回fib(n-1) + fib(n-1) !
-
#include <stdio.h>
-
-
int fibonacci(int n) {
-
return (n <= 1) ? 1 : fibonacci(n-1) + fibonacci(n - 2);
-
}
-
-
int main() {
-
int val = fibonacci(10);
-
printf("Starting from 1, fibonacci(%d) = %d\n", 10, val);
-
return 0;
-
}
Output
输出量
-
Starting from 1, fibonacci(10) = 89
如果计算出来,您确实可以验证1之后的第十个斐波那契数是89。由于三元运算符,递归函数现在是一个简单的线性函数。希望这为您提供了另一个更频繁使用三元运算符的理由!
结论 (Conclusion)
我们学习了如何使用三元运算符( ? : :),这是一个不错的技巧,可以避免编写嵌套的if-else条件。这使得可以在一行中编写简单的条件语句,这对于C / C ++程序员是一个不错的选择。
以上就是“c语言编程:三元运算符!”的详细内容,想要了解更多C语言教程欢迎持续关注编程学习网
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/10315/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料