Operatori dentro C++: Tipi con esempio
โก Riepilogo intelligente
Operatori dentro C++ Gli operatori sono simboli che eseguono operazioni sugli operandi, che spaziano dalle operazioni aritmetiche e di confronto alle operazioni logiche, bit a bit e di assegnazione. Questa risorsa illustra ogni categoria di operatori con esempi di programmi eseguibili, output e le regole di precedenza che determinano l'ordine di valutazione.

Che cosa sono Operatori?
Un operatore รจ un simbolo utilizzato per eseguire operazioni sugli operandi. Un operatore opera sugli operandi e le operazioni possono essere matematiche o logiche. Esistono diversi tipi di operatori in C++ per eseguire diverse operazioni.
Consideriamo la seguente operazione:
a = x + y;
Nell'istruzione precedente, x e y sono gli operandi mentre + รจ un operatore di addizione. Quando il C++ il compilatore incontra l'istruzione precedente, aggiungerร xey e memorizzerร il risultato nella variabile a.
Tipi di Operatori dentro C++
Ci sono principalmente 6 diversi tipi di operatori in C++:
- Aritmetica OperaTors
- Relazionale OperaTors
- logico OperaTors
- bitwise OperaTors
- Assegnazione OperaTors
- Altro OperaTors
Cominciamo con gli operatori aritmetici, la categoria piรน comunemente utilizzata.
Aritmetica OperaTors
Sono i tipi di operatori utilizzati per eseguire operazioni matematiche/aritmetiche. Loro includono:
| Operator | Descrizione |
|---|---|
| + operatore di addizione | Aggiunge due operandi. |
| โ subtracoperatore di zione | Subtracts 2nd operando da 1st operando. |
| *operatore di moltiplicazione | Moltiplica 2 operandi. |
| / operatore di divisione | Divide numeratore per denominatore. |
| Operatore modulo % | Restituisce il resto dopo la divisione. |
| ++ operatore di incremento | Incrementa un valore intero di 1. |
| โ operatore di decremento | Diminuisce un valore intero di 1. |
Per esempio:
#include <iostream> using namespace std; int main() { int a = 11; int b = 5; int c; cout << "a + b is :" << a+b << endl; //11+5 cout << "a - b is :" << a-b << endl; //11-5 cout << "a * b is :" << a*b << endl; //11*5 cout << "a / b is :" << a/b << endl; //11/5 cout << "a % b is :" << a%b << endl; //11%5 cout << "a++ is :" << a++ << endl; //11++ cout << "a-- is :" << a-- << endl; //12-- return 0; }
Produzione:
Ecco uno screenshot del codice:
Code Spiegazione:
- Includere il file di intestazione iostream nel nostro codice. Ci permetterร di leggere e scrivere sulla console.
- Includere lo spazio dei nomi std in modo da utilizzare le sue classi e funzioni senza chiamarlo.
- Chiamata alla funzione main() all'interno della quale deve essere inserita la logica del programma. La parentesi graffa { indica l'inizio del corpo della funzione main().
- Dichiarare una variabile intera a e inizializzarla su 11.
- Dichiarare una variabile intera b e inizializzarla a 5.
- Dichiarare una variabile intera c.
- Stampa del valore dell'operazione a+b insieme ad altro testo sulla console.
- Visualizzazione del valore dell'operazione ab insieme ad altro testo sulla console.
- Stampa del valore dell'operazione a*b insieme ad altro testo sulla console.
- Visualizzazione del valore dell'operazione a/b insieme ad altro testo sulla console.
- Stampa del valore dell'operazione a%b insieme ad altro testo sulla console.
- Stampa il valore dell'operazione a++ insieme ad altro testo sulla console.
- Stampa del valore dell'operazione aโ insieme ad altro testo sulla console.
- La funzione main() dovrebbe restituire un valore se il programma funziona correttamente.
- Fine del corpo della funzione main().
Relazionale OperaTors
Questi tipi di operatori eseguono confronti sugli operandi. Ad esempio, potrebbe essere necessario sapere quale operando รจ maggiore dell'altro o minore dell'altro. Loro includono:
| Operator | Descrizione |
|---|---|
| == uguale all'operatore | Verifica l'uguaglianza dei valori di due operandi. |
| != diverso dall'operatore | Verifica la disuguaglianza tra i valori di due operandi. |
| > operatore maggiore di | Controlla se il valore dell'operando sinistro รจ maggiore del valore dell'operando destro. |
| < operatore minore di | Controlla se il valore dell'operando sinistro รจ minore del valore dell'operando destro. |
| >= operatore maggiore o uguale a | Controlla se il valore dell'operando sinistro รจ maggiore o uguale al valore dell'operando destro. |
| <= operatore minore o uguale a | Controlla se il valore dell'operando sinistro รจ minore o uguale al valore dell'operando destro. |
Per esempio:
#include <iostream> using namespace std; int main() { int a = 11; int b = 5; cout << "a=11, b=5" << endl; if (a == b) { cout << "a == b is true" << endl; } else { cout << " a == b is false" << endl; } if (a < b) { cout << "a < b is true" << endl; } else { cout << "a < b is false" << endl; } if (a > b) { cout << "a > b is true" << endl; } else { cout << "a > b is false" << endl; } return 0; }
Produzione:
Ecco uno screenshot del codice:
Code Spiegazione:
- Includere il file di intestazione iostream nel nostro codice. Ci permetterร di leggere e scrivere sulla console.
- Includere lo spazio dei nomi std in modo da utilizzare le sue classi e funzioni senza chiamarlo.
- Chiamando la funzione main() all'interno della quale va aggiunta la logica del programma.
- Dichiarare una variabile intera a e inizializzarla su 11.
- Dichiarare una variabile intera b e inizializzarla a 5.
- Stampare del testo sulla console indicando i valori delle variabili a e b.
- Verificare se a รจ uguale a b utilizzando un'istruzione condizionale if.
- Testo da stampare sulla console se l'operazione a==b รจ vera.
- La parte "else" dell'istruzione "if" di cui sopra, che specifica cosa fare se a==b รจ falso.
- Testo da stampare sulla console se l'operazione a==b รจ falsa.
- Verificare se a รจ minore di b utilizzando un'istruzione if.
- Testo da stampare sulla console se l'operazione รจ
- La parte "else" per quando un
- Testo da stampare sulla console se l'operazione รจ
- Verificare se a รจ maggiore di b utilizzando un'istruzione if.
- Testo da stampare sulla console se l'operazione a>b รจ vera.
- La parte "else" si applica quando a>b รจ falso.
- Testo da stampare sulla console se l'operazione a>b รจ falsa.
- La funzione main() dovrebbe restituire un valore se il programma funziona correttamente.
- Fine del corpo della funzione main().
logico OperaTors
Migliori operatori logici Gli operatori logici combinano due o piรน vincoli/condizioni. Inoltre, completano la valutazione della condizione originale in esame. Essi includono:
| Operator | Descrizione |
|---|---|
| && operatore logico AND | La condizione รจ vera se entrambi gli operandi sono diversi da zero. |
| || operatore OR logico | La condizione รจ vera se uno degli operandi รจ diverso da zero. |
| ! operatore logico NOT | Inverte lo stato logico dell'operando. Se l'operando รจ vero, l'operatore ! lo rende falso. |
Per esempio:
#include <iostream> using namespace std; int main() { int a = 5, b = 2, c = 6, d = 4; if (a == b && c > d) cout << "a equals to b AND c is greater than d\n"; else cout << "AND operation returned false\n"; if (a == b || c > d) cout << "a equals to b OR c is greater than d\n"; else cout << "Neither a is equal to b nor c is greater than d\n"; if (!b) cout << "b is zero\n"; else cout << "b is not zero"; return 0; }
Produzione:
Ecco uno screenshot del codice:
Code Spiegazione:
- Includere il file di intestazione iostream nel nostro codice. Ci permetterร di leggere e scrivere sulla console.
- Includere lo spazio dei nomi std in modo da utilizzare le sue classi e funzioni senza chiamarlo.
- Chiamando la funzione main() all'interno della quale va aggiunta la logica del programma.
- Il { segna l'inizio del corpo della funzione main().
- Dichiarazione di 4 variabili intere a, b, c e d e assegnazione di valori diversi a ciascuna di esse.
- Utilizzando l'operatore && (AND) all'interno dell'istruzione if, si combinano due condizioni. La prima condizione รจ falsa e la seconda รจ vera, quindi falso&&vero รจ falso; il risultato di if รจ falso.
- Testo da stampare sulla console se l'istruzione if precedente รจ vera. Questa istruzione non verrร eseguita.
- La parte da eseguire se l'istruzione if precedente รจ falsa.
- Testo da stampare sulla console se l'istruzione if รจ falsa. Questo verrร eseguito.
- Utilizzo dell'operatore || (OR) all'interno di un'istruzione if. La prima condizione รจ falsa e la seconda รจ vera, quindi falso||vero รจ vero; il risultato di if รจ vero.
- Testo da stampare sulla console se l'istruzione if precedente รจ vera. Questo verrร eseguito.
- La parte da eseguire se l'istruzione if precedente รจ falsa.
- Testo da stampare sulla console se l'istruzione if รจ falsa. Questa operazione non verrร eseguita.
- Verifica se il valore della variabile b รจ 0.
- Testo da stampare sulla console se l'istruzione if precedente รจ vera. Questa istruzione non verrร eseguita.
- La parte da eseguire se l'istruzione if precedente รจ falsa.
- Testo da stampare sulla console se l'istruzione if รจ falsa. Questo verrร eseguito.
- La funzione main() dovrebbe restituire un valore se il programma funziona correttamente.
- Fine del corpo della funzione main().
bitwise OperaTors
Operatori bit per bit eseguire operazioni a livello di bit sugli operandi. Innanzitutto, gli operandi vengono convertiti a livello di bit, quindi vengono eseguite le operazioni. Quando operazioni aritmetiche come addizione e sottrazionetracLe operazioni vengono eseguite a livello di bit, consentendo di ottenere risultati piรน rapidamente. Tra questi:
| Operator | Descrizione |
|---|---|
| & (AND bit a bit) | Prende 2 numeri (operandi) ed esegue un'operazione AND su ciascun bit dei due numeri. Se entrambi sono 1, l'operazione AND restituisce 1, altrimenti 0. |
| | (OR bit a bit) | Prende in input due numeri (operandi) ed esegue l'operazione OR su ogni bit dei due numeri. Restituisce 1 se almeno uno dei bit รจ 1. |
| ^ (XOR bit a bit) | Prende in input due numeri (operandi) ed esegue un'operazione XOR su ciascun bit dei due numeri. Restituisce 1 se entrambi i bit sono diversi. |
| << (shift a sinistra) | Prende due numeri e sposta a sinistra i bit del primo operando. Il secondo operando determina il numero totale di posizioni da spostare. |
| >> (shift a destra) | Prende due numeri e sposta a destra i bit del primo operando. Il secondo operando determina il numero di posizioni da spostare. |
| ~ (NOT bit a bit) | Prende un numero e ne inverte tutti i bit. |
#include <iostream> using namespace std; int main() { unsigned int p = 60; // 60 = 0011 1100 unsigned int q = 13; // 13 = 0000 1101 int z = 0; z = p & q; cout << "p&q is : " << z << endl; // 12 = 0000 1100 z = p | q; cout << "p|q is : " << z << endl; // 61 = 0011 1101 z = p ^ q; cout << "p^q is : " << z << endl; // 49 = 0011 0001 z = ~p; cout << "~p is : " << z << endl; // -61 = 1100 0011 z = p << 2; cout << "p<<2 is: " << z << endl; // 240 = 1111 0000 z = p >> 2; cout << "p>>2 is : " << z << endl; // 15 = 0000 1111 return 0; }
Produzione:
Ecco uno screenshot del codice:
Code Spiegazione:
- Includere il file di intestazione iostream nel nostro codice. Ci permetterร di leggere e scrivere sulla console.
- Includere lo spazio dei nomi std in modo da utilizzare le sue classi e funzioni senza chiamarlo.
- Chiamando la funzione main() all'interno della quale va aggiunta la logica del programma.
- Dichiarazione di una variabile intera senza segno p e assegnazione del valore 60, che in binario corrisponde a 0011 1100.
- Dichiarazione di una variabile intera senza segno q e assegnazione del valore 13, che in binario corrisponde a 0000 1101.
- Dichiarare una variabile intera z e inizializzarla su 0.
- Esecuzione dell'operazione & (AND) bit a bit sulle variabili p e q e memorizzazione del risultato nella variabile z.
- Stampa del risultato dell'operazione precedente sulla console insieme ad altro testo.
- Esecuzione dell'operazione bit a bit | (OR) sulle variabili p e q e memorizzazione del risultato nella variabile z.
- Stampa del risultato dell'operazione precedente sulla console insieme ad altro testo.
- Esecuzione dell'operazione bit a bit ^ (XOR) sulle variabili p e q e memorizzazione del risultato nella variabile z.
- Stampa del risultato dell'operazione precedente sulla console insieme ad altro testo.
- Eseguire l'operazione bit a bit ~ (NOT) sulla variabile p e memorizzare il risultato nella variabile z.
- Stampa del risultato dell'operazione precedente sulla console insieme ad altro testo.
- Esecuzione dell'operazione di spostamento a sinistra sulla variabile p e memorizzazione del risultato nella variabile z.
- Stampa del risultato dell'operazione precedente sulla console insieme ad altro testo.
- Esecuzione dell'operazione di spostamento a destra sulla variabile p e memorizzazione del risultato nella variabile z.
- Stampa del risultato dell'operazione precedente sulla console insieme ad altro testo.
- La funzione main() dovrebbe restituire un valore se il programma funziona correttamente.
- Fine del corpo della funzione main().
Assegnazione OperaTors
Operatori di assegnazione assegnare valori alle variabili. L'operando/variabile viene aggiunto al lato sinistro dell'operatore mentre il valore viene aggiunto al lato destro. La variabile e il valore devono appartenere allo stesso tipo di dati, altrimenti C++ Il compilatore genererร un errore.
Per esempio:
x = 5;
Nell'esempio precedente, x รจ la variabile/operando, = รจ l'operatore di assegnazione, mentre 5 รจ il valore. Ecco gli operatori di assegnazione piรน comuni in C++:
| Operator | Descrizione |
|---|---|
| = (operatore di assegnazione semplice) | Assegna il valore a destra alla variabile a sinistra. |
| += (Aggiungi operatore di assegnazione AND) | Aggiunge il valore dell'operando di destra all'operando di sinistra, quindi assegna il risultato alla variabile a sinistra. |
| -= (Subtract operatore di assegnazione AND) | Subtraccalcola il valore dell'operando destro a partire dall'operando sinistro, quindi assegna il risultato alla variabile a sinistra. |
| *= (Operatore di assegnazione moltiplicazione AND) | Moltiplica il valore dell'operando di sinistra per quello di destra, quindi assegna il risultato alla variabile a sinistra. |
| /= (Operatore di divisione AND assegnazione) | Divide il valore dell'operando di sinistra per quello di destra, quindi assegna il risultato alla variabile a sinistra. |
Per esempio:
#include <iostream> using namespace std; int main() { int x = 5; cout << "Initial value of x is " << x << "\n"; x += 5; cout << "x += 5 gives :" << x << "\n"; x -= 5; cout << "x -= 5 gives : " << x << "\n"; x *= 5; cout << "x *= 5 gives :" << x << "\n"; x /= 5; cout << "x /= 5 gives : " << x << "\n"; return 0; }
Produzione:
Ecco uno screenshot del codice:
Code Spiegazione:
- Includere il file di intestazione iostream nel nostro codice. Ci permetterร di leggere e scrivere sulla console.
- Includere lo spazio dei nomi std in modo da utilizzare le sue classi e funzioni senza chiamarlo.
- Chiamando la funzione main() all'interno della quale va aggiunta la logica del programma.
- Il { segna l'inizio del corpo della funzione main().
- Dichiarare una variabile intera x e assegnarle il valore 5.
- Stampa il valore della variabile x insieme ad altro testo sulla console. Il carattere \n indica un'interruzione di riga.
- Aggiungere 5 al valore della variabile x e assegnare il risultato alla variabile x.
- Stampare il valore della variabile x sulla console insieme ad altro testo.
- Subtracsottraendo 5 dal valore di x e assegnando il risultato alla variabile x.
- Stampare il valore della variabile x sulla console insieme ad altro testo.
- Moltiplicare il valore della variabile x per 5 e assegnare il risultato alla variabile x.
- Stampare il valore della variabile x sulla console insieme ad altro testo.
- Dividere il valore della variabile x per 5 e assegnare il risultato alla variabile x.
- Stampare il valore della variabile x sulla console insieme ad altro testo.
- La funzione main() dovrebbe restituire un valore se il programma funziona correttamente.
- Fine del corpo della funzione main().
Altro OperaTors
Altro OperaTors includere la dimensione dell'operatore, virgola Operator, condizionale Operator, e OperaPrecedenza dei tors. Discutiamo degli altri operatori supportati da C++:
dimensione dell'operatore
Questo operatore determina la dimensione di una variabile. Utilizzare l'operatore sizeof per determinare la dimensione di un tipo di dati.
Per esempio:
#include <iostream> using namespace std; int main() { cout<<"Size of int : "<< sizeof(int) << "\n"; cout<<"Size of char : " << sizeof(char) << "\n"; cout<<"Size of float : " << sizeof(float) << "\n"; cout<<"Size of double : " << sizeof(double) << "\n"; return 0; }
Produzione:
Ecco uno screenshot del codice:
Code Spiegazione:
- Includere il file di intestazione iostream nel nostro codice. Ci permetterร di leggere e scrivere sulla console.
- Includere lo spazio dei nomi std in modo da utilizzare le sue classi e funzioni senza chiamarlo.
- Chiamando la funzione main() all'interno della quale va aggiunta la logica del programma.
- Determinazione della dimensione del tipo di dati intero utilizzando l'operatore sizeof e stampa del risultato insieme ad altro testo sulla console.
- Determinazione della dimensione del tipo di dati carattere utilizzando l'operatore sizeof e stampa del risultato insieme ad altro testo sulla console.
- Determinazione della dimensione del tipo di dati float utilizzando l'operatore sizeof e stampa del risultato insieme ad altro testo sulla console.
- Determinazione della dimensione del tipo di dati double utilizzando l'operatore sizeof e stampa del risultato insieme ad altro testo sulla console.
- La funzione main() dovrebbe restituire un valore se il programma funziona correttamente.
- Fine del corpo della funzione main().
Virgola Operator
Migliori operatore virgola (,) avvia l'esecuzione di una sequenza di operazioni. Esprime il primo operando e scarta il risultato. Successivamente, valuta il secondo operando e restituisce il valore e il tipo.
#include <iostream> using namespace std; int main() { int x, y; y = 100; x = (y++, y + 10, 99 + y); cout << x; return 0; }
Produzione:
Ecco uno screenshot del codice:
Code Spiegazione:
- Includere il file di intestazione iostream nel nostro codice. Ci permetterร di leggere e scrivere sulla console.
- Includere lo spazio dei nomi std in modo da utilizzare le sue classi e funzioni senza chiamarlo.
- Chiamando la funzione main() all'interno della quale va aggiunta la logica del programma.
- Dichiarare due variabili intere x e y.
- Assegnando alla variabile ya il valore 100.
- Utilizzando l'operatore virgola. Si parte da y a 100, poi lo si incrementa a 101 (y++). Successivamente, y viene incrementato a 10. Infine, y, ancora a 101, viene incrementato a 99, ottenendo 200. x ora รจ 200.
- Stampa del valore della variabile x sulla console.
- La funzione main() dovrebbe restituire un valore se il programma funziona correttamente.
- Fine del corpo della funzione main().
Condizionale Operator
Questo operatore valuta una condizione e agisce in base all'esito della valutazione.
Sintassi:
Condition ? Expression2 : Expression3;
parametri:
- La Condizione รจ la condizione che deve essere valutata.
- Expression2 รจ l'espressione da eseguire se la condizione รจ vera.
- Expression3 รจ l'espressione da eseguire se la condizione รจ falsa.
Per esempio:
#include <iostream> using namespace std; int main() { int a = 1, b; b = (a < 10) ? 2 : 5; cout << "value of b: " << b << endl; return 0; }
Produzione:
Ecco uno screenshot del codice:
Code Spiegazione:
- Includere il file di intestazione iostream nel nostro codice. Ci permetterร di leggere e scrivere sulla console.
- Includere lo spazio dei nomi std in modo da utilizzare le sue classi e funzioni senza chiamarlo.
- Chiamando la funzione main() all'interno della quale va aggiunta la logica del programma.
- Dichiararne due variabili intere aeb. Alla variabile a รจ stato assegnato il valore 1.
- Assegnazione di un valore alla variabile b. Se la variabile a รจ minore di 10, a b verrร assegnato il valore 2, altrimenti a b verrร assegnato il valore 5.
- Stampare il valore della variabile b sulla console insieme ad altro testo.
- La funzione main() dovrebbe restituire un valore se il programma funziona correttamente.
- Fine del corpo della funzione main().
OperaPrecedenza dei tori
Una singola operazione puรฒ avere piรน di un operatore. In tal caso, la precedenza degli operatori determina quello valutato per primo.
L'elenco seguente mostra la precedenza degli operatori in C++, con precedenza decrescente da sinistra a destra:
(), [], *, /, %, +/-, <<, >>, ==, !=, ^, |, &&, ||, ?:, =, +=, -=, *=, /=













