logo

Operatore condizionale in C

L'operatore condizionale è noto anche come a operatore ternario . Le istruzioni condizionali sono le dichiarazioni decisionali che dipendono dall'output dell'espressione. È rappresentato da due simboli, ad esempio '?' E ':'.

Poiché l'operatore condizionale funziona su tre operandi, è anche noto come operatore ternario.

Il comportamento dell'operatore condizionale è simile a ' se altro Anche l'affermazione 'if-else' è una dichiarazione decisionale.

Sintassi di un operatore condizionale

 Expression1? expression2: expression3; 

La rappresentazione pittorica della sintassi di cui sopra è mostrata di seguito:

Operatore condizionale in C

Significato della sintassi precedente.

  • Nella sintassi precedente, l'espressione1 è una condizione booleana che può avere un valore vero o falso.
  • Se l'espressione1 restituisce un valore vero, verrà eseguita l'espressione2.
  • L'espressione2 è detta vera solo quando restituisce un valore diverso da zero.
  • Se l'espressione1 restituisce un valore falso, verrà eseguita l'espressione3.
  • Si dice che l'espressione3 sia falsa solo quando restituisce valore zero.

Comprendiamo l'operatore ternario o condizionale attraverso un esempio.

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

Nel codice sopra, prendiamo come input l''età' dell'utente. Dopo aver ricevuto l'input, abbiamo applicato la condizione utilizzando un operatore condizionale. In questa condizione, stiamo controllando l'età dell'utente. Se l'età dell'utente è maggiore o uguale a 18 anni, verrà eseguita l'istruzione 1, ovvero (printf('idoneo al voto')) altrimenti verrà eseguita l'istruzione2, ovvero (printf('non idoneo al voto') ).

Osserviamo l'output del programma sopra.

Se forniamo l'età dell'utente inferiore a 18 anni, l'output sarebbe:

Operatore condizionale in C

Se forniamo l'età dell'utente superiore a 18 anni, l'output sarebbe:

Operatore condizionale in C

Come possiamo osservare dai due output precedenti, se la condizione è vera, viene eseguita l'istruzione1; in caso contrario, verrà eseguita l'istruzione2.

Fino ad ora, abbiamo osservato che l'operatore condizionale controlla la condizione e, in base alla condizione, esegue le istruzioni. Ora vedremo come viene utilizzato un operatore condizionale per assegnare il valore a una variabile.

stringa Java di concatenazione

Cerchiamo di comprendere questo scenario attraverso un esempio.

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

Nel codice precedente, abbiamo dichiarato due variabili, ovvero 'a' e 'b', e assegnato il valore 5 alla variabile 'a'. Dopo la dichiarazione, assegniamo valore alla variabile 'b' utilizzando l'operatore condizionale. Se il valore di 'a' è uguale a 5 allora a 'b' viene assegnato il valore 3 altrimenti 2.

Produzione

Operatore condizionale in C

L'output precedente mostra che il valore della variabile 'b' è 3 perché il valore della variabile 'a' è uguale a 5.

Come sappiamo, il comportamento dell'operatore condizionale e di 'if-else' è simile ma presentano alcune differenze. Diamo un'occhiata alle loro differenze.

  • Un operatore condizionale è una singola istruzione di programmazione, mentre l'istruzione 'if-else' è un blocco di programmazione in cui le istruzioni sono racchiuse tra parentesi.
  • Un operatore condizionale può essere utilizzato anche per assegnare un valore alla variabile, mentre l'istruzione 'if-else' non può essere utilizzata per lo scopo dell'assegnazione.
  • Non è utile per eseguire istruzioni quando le istruzioni sono multiple, mentre l'istruzione 'if-else' si rivela più adatta quando si eseguono istruzioni multiple.
  • L'operatore ternario annidato è più complesso e non è possibile eseguire facilmente il debug, mentre l'istruzione annidata 'if-else' è facile da leggere e gestire.