logo

Operador Condicional em C

O operador condicional também é conhecido como operador ternário . As declarações condicionais são as declarações de tomada de decisão que dependem da saída da expressão. É representado por dois símbolos, ou seja, '?' e ':'.

Como o operador condicional funciona em três operandos, também é conhecido como operador ternário.

O comportamento do operador condicional é semelhante ao ' se-outro ' como declaração 'if-else' também é uma declaração de tomada de decisão.

Sintaxe de um operador condicional

 Expression1? expression2: expression3; 

A representação pictórica da sintaxe acima é mostrada abaixo:

Operador Condicional em C

Significado da sintaxe acima.

  • Na sintaxe acima, a expressão1 é uma condição booleana que pode ser um valor verdadeiro ou falso.
  • Se a expressão1 resultar em um valor verdadeiro, a expressão2 será executada.
  • A expressão2 é considerada verdadeira somente quando retorna um valor diferente de zero.
  • Se a expressão1 retornar um valor falso, a expressão3 será executada.
  • A expressão3 é considerada falsa apenas quando retorna valor zero.

Vamos entender o operador ternário ou condicional através de um exemplo.

 #include 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; } 

No código acima, consideramos a entrada como a 'idade' do usuário. Depois de receber a entrada, aplicamos a condição usando um operador condicional. Nesta condição, estamos verificando a idade do usuário. Se a idade do usuário for maior ou igual a 18 anos, então a instrução1 será executada, ou seja, (printf('elegível para votação')) caso contrário, a instrução2 será executada, ou seja, (printf('não elegível para votação') ).

Vamos observar a saída do programa acima.

Se fornecermos a idade do usuário com menos de 18 anos, o resultado seria:

Operador Condicional em C

Se fornecermos a idade do usuário acima de 18 anos, o resultado seria:

Operador Condicional em C

Como podemos observar nas duas saídas acima, se a condição for verdadeira, a instrução1 será executada; caso contrário, a instrução2 será executada.

Até agora, observamos que a forma como o operador condicional verifica a condição e com base na condição, ele executa as instruções. Agora veremos como um operador condicional é usado para atribuir o valor a uma variável.

arraylist e lista vinculada

Vamos entender esse cenário através de um exemplo.

 #include 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; } 

No código acima, declaramos duas variáveis, ou seja, 'a' e 'b', e atribuímos 5 valores à variável 'a'. Após a declaração, estamos atribuindo valor à variável 'b' usando o operador condicional. Se o valor de 'a' for igual a 5, então 'b' receberá um valor 3, caso contrário, 2.

Saída

Operador Condicional em C

A saída acima mostra que o valor da variável 'b' é 3 porque o valor da variável 'a' é igual a 5.

Como sabemos que o comportamento do operador condicional e 'if-else' é semelhante, mas apresentam algumas diferenças. Vejamos suas diferenças.

  • Um operador condicional é uma única instrução de programação, enquanto a instrução 'if-else' é um bloco de programação no qual as instruções ficam entre parênteses.
  • Um operador condicional também pode ser usado para atribuir um valor à variável, enquanto a instrução 'if-else' não pode ser usada para fins de atribuição.
  • Não é útil para executar instruções quando as instruções são múltiplas, enquanto a instrução 'if-else' se mostra mais adequada para executar instruções múltiplas.
  • O operador ternário aninhado é mais complexo e não pode ser facilmente depurado, enquanto a instrução 'if-else' aninhada é fácil de ler e manter.