C语言条件运算符
条件运算符也称为三元运算符。条件语句是决策表达式,它取决于表达式的输出。它由两个符号表示,即"?"
由于条件运算符对三个操作数起作用,因此也称为三元运算符。
条件运算符的行为类似于' if-else "语句作为" if-else"语句也是一种决策语句。
条件运算符的语法
Expression1? expression2: expression3;
上述语法的图形表示如下所示:
上述语法的含义。
在上述语法中,expression1是一个布尔条件,可以为true或false值。
如果expression1的结果为真值,则将执行expression2、
仅当expression2返回非零值时,才称其为true。
如果expression1返回假值,则expression3将执行。
仅当expression3返回零值时,才称其为false。
让我们通过示例来了解三元或条件运算符。
#include <stdio.h>
int main()
{
int age; // variable declaration
printf("Enter your age");
scanf("%d",&age); // taking user input for age variable
(age>=18)? (printf("eligible for voting")) : (printf("not eligible for voting")); // conditional operator
return 0;
}
在上面的代码中,我们将输入作为用户的"年龄"。输入后,我们使用条件运算符应用了条件。在这种情况下,我们正在检查用户的年龄。如果用户的年龄大于或等于18,则执行statement1,即(printf("有资格投票")),否则,执行statement2,即(printf("不具备投票权") )。
让我们观察上述程序的输出。
如果我们提供18岁以下的用户年龄,则输出为:
如果我们提供18岁以上的用户年龄,则输出将是:
从以上两个输出可以看出,如果条件为真,则执行statement1;否则为false。
到目前为止,我们已经观察到条件运算符如何检查条件,并根据条件执行语句。现在,我们将看到如何使用条件运算符将值分配给变量。
让我们通过示例来了解这种情况。
#include <stdio.h>
int main()
{
int a=5,b; // variable declaration
b=((a==5)?(3):(2)); // conditional operator
printf("The value of 'b' variable is : %d",b);
return 0;
}
在上面的代码中,我们声明了两个变量,即'a'和'b',并为'a'变量分配了5个值。声明之后,我们通过使用条件运算符将值分配给'b'变量。如果" a"的值等于5,则为" b"分配3值,否则为2、
输出
上面的输出显示'b'变量的值为3,因为'a'变量的值为等于5、
我们知道条件运算符和'if-else'的行为相似,但有一些区别。让我们看看它们之间的差异。
条件运算符是单个编程语句,而'if-else'语句是其中语句位于括号内的编程块。
还可以使用条件运算符为变量赋值,而'if-else'语句不能用于赋值目的。
当语句为多个时,对执行语句没有用,而在执行多个语句时,'if-else'语句更适用。
嵌套的三元运算符更加复杂,无法轻松调试,而嵌套的'if-else'语句易于读取和维护。