English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo articolo, imparerai a creare istruzioni decisionali utilizzando diverse forme di strutture if..else nei programmi C++.
Struttura |
---|
Struttura if |
Struttura if...else |
Strutture if...else annidate |
Operatore ternario |
if (testExpression) { // Istruzioni da eseguire se testExpression è vero }
La struttura if valuta testExpression all'interno dei parentesi.
Se il risultato della calcolazione di testExpression è vero, si eseguono le istruzioni nel corpo if.
Se il risultato della calcolazione di testExpression è falso, si salta le istruzioni nel corpo if.
L'immagine sopra descrive come funziona la struttura if.
// Il programma stampa il numero positivo inserito dall'utente // Se l'utente inserisce un numero negativo, salta #include <iostream> using namespace std; int main() { int number; cout << "Inserisci un intero: "; cin >> number; // Verifica se il numero è positivo if (number > 0) { cout << "Hai inserito un numero intero positivo: " << number << endl; } cout << "Questa struttura viene sempre eseguita."; return 0; }
Output: 1
Inserisci un intero: 5 Hai inserito un numero intero positivo: 5 Questa struttura viene sempre eseguita.
Output: 2
Inserisci un intero: -5 Questa struttura viene sempre eseguita.
Se l'espressione di test (test Expression) è vera, viene eseguito il codice nel corpo if...else all'interno del corpo if e si salta il codice nel corpo else.
Se l'espressione di test (test Expression) è falsa, viene eseguito il codice nel corpo else e si salta il codice nel corpo if.
// Il programma verifica se un numero intero è positivo o negativo // Questo programma considera 0 come un numero positivo #include <iostream> using namespace std; int main() { int number; cout << "Inserisci un intero: "; cin >> number; if (number >= 0) { cout << "Hai inserito un numero positivo: " << number << endl; } else { cout << "Hai inserito un numero negativo: " << number << endl; } cout << "Questa riga viene sempre stampata."; return 0; }
Risultato output
Inserisci un intero: -4 Hai inserito un numero negativo: -4. Questa riga viene sempre stampata.
La frase if...else esegue due codici diversi a seconda che l'espressione di test sia true o false. A volte, è necessario scegliere tra più possibilità.
Con il comando if...else annidato, puoi verificare più espressioni di test e eseguire diversi codici per più condizioni.
Questo significa che puoi usare un altro if o else if all'interno di un if o else if.
if (testExpression1) { // Esegui queste istruzioni se testExpression1 è vero } else if(testExpression2) { // Esegui queste istruzioni se testExpression1 è falso e testExpression2 è vero } else{ if (testExpression 3) { // Esegui queste istruzioni se testExpression1 e testExpression2 sono false e testExpression3 è vero } else { // Esegui queste istruzioni se tutte le espressioni di test sono false } }
// Il programma verifica se un numero intero è positivo, negativo o zero #include <iostream> using namespace std; int main() { int number; cout << "Inserisci un intero: "; cin >> number; if (number > 0) { cout << "Hai inserito un numero positivo: " << number << endl; } else { if (number < 0) { cout << "Hai inserito un numero negativo: " << number << endl; } cout << "Hai inserito 0." << endl; } } cout << "This line is always printed."; return 0; }
Risultato output
Inserisci un intero: 0 Hai inserito 0. Questa riga viene sempre stampata.
L'operatore ternario opera su tre operandi e può essere utilizzato per sostituire una condizione if...else.
Ecco il codice if:
if ( a < b ) { a = b; } else { a = -b; }
Puoi sostituire il codice sopra con un operatore ternario:
a = (a < b) ? b : -b;
Operatore ternario più corto e più leggibile rispetto alla condizione if...else.