C++ Tipo di dati Char con esempi

โšก Riepilogo intelligente

Il tipo di dati char in C++ Un tipo di dato memorizza un singolo carattere, come una lettera o una cifra, utilizzando il suo valore ASCII. Qui imparerai a dichiarare i caratteri, stampare i valori ASCII, inserire caratteri e convertire un carattere in una stringa.

  • ๐Ÿ”ค Che cosa รจ: Un tipo char memorizza un singolo carattere utilizzando il suo valore ASCII.
  • ๐Ÿ”ข ASCII: Ogni carattere corrisponde a un codice ASCII numerico, come ad esempio la 'A' che corrisponde a 65.
  • ๐Ÿ”ง Dichiarazione: Dichiara un carattere tra virgolette singole, ad esempio char grade = 'A';.
  • ๐Ÿ” Conversione: Convertire un carattere in un intero per ottenere il suo valore ASCII e viceversa.
  • ๐Ÿค– Aiuto tramite intelligenza artificiale: Strumenti di intelligenza artificiale come GitHub Copilot gestiscono istantaneamente i caratteri e il codice ASCII.

C++ Tipo di dati carattere

Cos'รจ Char?

Char รจ un C++ tipo di dati progettato per l'archiviazione di lettere. Char รจ un'abbreviazione di carattere alfanumerico. รˆ un tipo di dati integrale, ovvero il valore รจ archiviato come un intero. Un char occupa una dimensione di memoria di 1 byte. Archivia anche un singolo carattere.

Che cos'รจ ASCII?

Il valore char viene interpretato come un carattere ASCII. Questo รจ simile al modo in cui i valori booleani vengono interpretati come vero o falso. ASCII รจ l'acronimo di American Standard Code per lo scambio di informazioni. Definisce un modo specifico di rappresentare i caratteri inglesi come numeri.

I numeri vanno da 0 a 127. Ad esempio, il carattere "a" equivale al codice ASCII 97.

Dichiarazione di Char

Per dichiarare a char variabile in C++, usiamo la parola chiave char. Questo dovrebbe essere seguito dal nome della variabile. La variabile puรฒ essere inizializzata al momento della dichiarazione. Il valore della variabile deve essere racchiuso tra virgolette singole.

Sintassi

Ecco la sintassi per la dichiarazione char in C++:

char variable-name;

Il nome-variabile รจ il nome da assegnare alla variabile.

Se si intende assegnare un valore al momento della dichiarazione รจ possibile utilizzare questa sintassi:

char variable-name = 'value';	
  • Il nome-variabile รจ il nome della variabile char.
  • Il valore รจ il valore da assegnare alla variabile char.

Esempio 1:

#include <iostream>
using namespace std;
int main() {
	char grade = 'B';
	cout << "I scored a: "<<grade;
	return 0;
}

Produzione:

Dichiarazione di Char

Ecco uno screenshot del codice:

Dichiarazione di Char

Code Spiegazione:

  1. Includere il file di intestazione iostream nel nostro codice per utilizzare le sue funzioni.
  2. Includere lo spazio dei nomi std nel nostro codice per poter utilizzare le sue classi senza chiamarlo.
  3. Chiamando la funzione main(). La logica del programma dovrebbe essere aggiunta all'interno del corpo di questa funzione.
  4. Dichiara una variabile di carattere denominata grade. Alla variabile รจ stato assegnato anche il valore B. Notare che il valore della variabile รจ racchiuso tra virgolette singole.
  5. Stampa il valore del voto variabile insieme ad altro testo sulla console.
  6. Il programma deve restituire valore in caso di completamento positivo.
  7. Fine del corpo della funzione main().

Stampa del valore ASCII

Come detto sopra, ogni carattere viene interpretato come carattere ASCII. รˆ possibile ottenere il valore ASCII di qualsiasi carattere. Passi semplicemente il carattere alla funzione int(). Questo processo รจ chiamato casting del tipo. Dimostriamolo:

Esempio 2:

#include <iostream>
using namespace std;
int main() {
	char ch;
	cout << "Enter any character: ";
	cin >> ch;
	cout << "The ASCII Value of " << ch << " is " << int(ch);
	return 0;
}

Produzione:

Stampa del valore ASCII

Ecco uno screenshot del codice:

Stampa del valore ASCII

Code Spiegazione:

  1. Includere il file header iostream nel nostro codice per poter utilizzare le sue funzioni.
  2. Includere lo spazio dei nomi std nel nostro codice per poter utilizzare le sue classi senza chiamarlo.
  3. Chiamando la funzione main(). La logica del programma dovrebbe essere aggiunta all'interno del corpo di questa funzione.
  4. Dichiara una variabile char denominata ch.
  5. Stampa del testo sulla console. Il testo chiede all'utente di inserire un valore per la variabile ch.
  6. Leggi l'input dell'utente dalla tastiera e memorizzalo nella variabile ch.
  7. Stampa del testo sulla console. Il testo includerร  il carattere immesso per la variabile ch, il valore ASCII di questo carattere e altro testo.
  8. Il programma deve restituire valore in caso di completamento positivo.
  9. Fine del corpo della funzione main().

Stampa valore carattere

Dato un valore ASCII, il C++ il compilatore puรฒ restituire il carattere corrispondente. Dichiari una variabile char e le assegni un valore intero. Verrร  convertito nel valore del carattere corrispondente.

Esempio 3:

#include <iostream>
using namespace std;
int main() {
	char x = 64, y = 66, z = 71;
	cout << x;
	cout << y;
	cout << z;
	return 0;
}

Produzione:

Stampa valore carattere

Ecco uno screenshot del codice:

Stampa valore carattere

Code Spiegazione:

  1. Includere il file di intestazione iostream nel codice. Utilizzeremo quindi le sue funzioni senza ottenere errori.
  2. Includere lo spazio dei nomi std nel codice. Utilizzeremo le sue classi senza chiamarlo.
  3. Chiamando la funzione main(). La logica del programma dovrebbe entrare nel corpo di questa funzione.
  4. Dichiarare tre variabili char x, y e z. Ai tre sono stati assegnati valori interi di 65, 66 e 67. Questi verranno trattati come valori ASCII per i caratteri.
  5. Stampa il valore della variabile x sulla console. Poichรฉ x รจ stato dichiarato come carattere, verrร  restituito il carattere con valore ASCII pari a 65, ovvero A.
  6. Stampa il valore della variabile y sulla console. Poichรฉ y รจ stato dichiarato come carattere, verrร  restituito il carattere con valore ASCII pari a 66, ovvero B.
  7. Stampa il valore della variabile z sulla console. Poichรฉ z รจ stato dichiarato come carattere, verrร  restituito il carattere con valore ASCII pari a 67, ovvero C.
  8. Il programma deve restituire valore in caso di completamento positivo.
  9. La fine del corpo della funzione main().

Immissione di caratteri

Possiamo usare la funzione `std::cin` per leggere un carattere inserito dall'utente tramite la tastiera. `std::cin` consente di inserire molti caratteri. Tuttavia, la variabile `character` puรฒ contenere un solo carattere. Ciรฒ significa che verrร  visualizzato solo il primo carattere inserito.tracted e memorizzato nella variabile carattere. Il resto rimarrร  nel buffer utilizzato da std::cin. Per esempiotract it, effettua chiamate successive a std::cin.

Esempio 4:

#include <iostream>
using namespace std;
int main() {
	cout << "Type a sequence of characters: "; 
	char ch;
	cin >> ch; 
	cout <<"The ASCII code of "<< ch << " is "<< int(ch) << '\n';
	cin >> ch; 
	cout <<"The ASCII code of " << ch << " is "<< int(ch) << '\n';
	return 0;
}

Produzione:

Immissione di caratteri

Ecco uno screenshot del codice:

Immissione di caratteri

Code Spiegazione:

  1. Includere il file di intestazione iostream nel nostro codice per utilizzare le sue funzioni.
  2. Includi lo spazio dei nomi std nel nostro codice per utilizzare le sue classi senza chiamarlo.
  3. Chiamando la funzione main(). La logica del programma dovrebbe essere aggiunta all'interno del corpo di questa funzione.
  4. Stampa del testo sulla console.
  5. Dichiarare una variabile di carattere denominata ch.
  6. Leggere l'input dell'utente dalla tastiera. L'input verrร  memorizzato nella variabile ch. Poichรฉ un utente digiterร  una sequenza di caratteri come abc, solo il primo carattere, a, verrร  memorizzato nella variabile ch.
  7. Stampa sulla console il primo carattere inserito, il suo codice ASCII e altro testo. Il codice ASCII viene determinato passando la variabile carattere alla funzione int().
  8. Leggere il carattere successivo immesso dall'utente. All'utente non verrร  richiesto di inserire un nuovo carattere. Verrร  invece letto il secondo carattere immesso, ovvero b.
  9. Stampa sulla console il secondo carattere inserito, il suo codice ASCII e altro testo. Il codice ASCII viene determinato passando la variabile carattere alla funzione int().
  10. Il programma deve restituire valore in caso di completamento positivo.
  11. Fine del corpo della funzione main().

Conversione di caratteri in stringhe

Esistono diversi modi in cui possiamo utilizzare per convertire i caratteri stringhe.

Discutiamoli:

#1: utilizzo del costruttore fornito da una classe String

Questo puรฒ essere fatto utilizzando la seguente sintassi:

string st(int n,char x);

Il parametro n indica la dimensione della stringa che deve essere generata.

Il parametro x รจ il carattere da convertire in una stringa.

La funzione restituisce una stringa.

Esempio 5:

#include<iostream>
#include <string>
using namespace std;
int main() {
	string st(1, 'C');
	cout << "The resulting string is : " << st;
	return 0;
}

Produzione:

Conversione di caratteri in stringhe

Ecco uno screenshot del codice:

Conversione di caratteri in stringhe

Code Spiegazione:

  1. Includere il file di intestazione iostream nel nostro codice per utilizzare le sue funzioni.
  2. Includi il file di intestazione della stringa nel nostro codice per utilizzare le sue funzioni.
  3. Includi lo spazio dei nomi std nel nostro codice per utilizzare le sue classi senza chiamarlo.
  4. Chiamando la funzione main(). La logica del programma dovrebbe essere aggiunta all'interno del corpo di questa funzione.
  5. Converti il โ€‹โ€‹carattere "C" in una stringa di lunghezza 1 e assegna la stringa risultante alla variabile st.
  6. Stampa il valore della stringa st sulla console insieme ad altro testo.
  7. Il programma deve restituire valore in caso di completamento positivo.
  8. Fine del corpo della funzione main().

#2) Utilizzando std::string Operatori = e +=

Gli operatori = e += sono giร  sovraccarichi di caratteri. I due possono essere utilizzati per convertire un particolare carattere in una stringa.

Esempio 6:

#include<iostream>
#include <string>
using namespace std;
int main() {
	string st;
	char b = 'B';
	st = 'A';
	st += b;
	cout << "The resulting string is : " << st;
	return 0;
}

Produzione:

Conversione di caratteri in stringhe

Ecco uno screenshot del codice:

Conversione di caratteri in stringhe

Code Spiegazione:

  1. Includi il file di intestazione iostream nel nostro codice per utilizzare le sue funzioni.
  2. Includi il file di intestazione della stringa nel nostro codice per utilizzare le sue funzioni.
  3. Includi lo spazio dei nomi std nel nostro codice per utilizzare le sue classi senza chiamarlo.
  4. Chiamando la funzione main(). La logica del programma dovrebbe essere aggiunta all'interno del corpo di questa funzione.
  5. Crea una variabile stringa denominata st.
  6. Crea un personaggio chiamato b con un valore B.
  7. Assegnare un valore A alla stringa denominata st.
  8. Utilizzare l'operatore += per convertire i caratteri in una stringa.
  9. Stampa il valore della stringa st sulla console insieme ad altro testo.
  10. Il programma deve restituire valore in caso di completamento positivo.
  11. Fine del corpo della funzione main().

# 3: utilizzo dei metodi std::string

La classe std::string include molte funzioni sovraccaricate che possono aiutarti a convertire i caratteri in stringhe.

Essi comprendono:

  • respingere Questa funzione assegna un carattere particolare alla fine di una stringa. รˆ sovraccarica di caratteri. Accetta la seguente sintassi:
    void push_back(char ch)
    

    Il parametro ch รจ il carattere che deve essere modificato in una stringa.

  • aggiungere Assegna molte copie di un particolare carattere a una stringa. La funzione adotta la seguente sintassi:
    string& append(size_t n,char ch)
    

    Il parametro n indica le volte in cui il carattere verrร  aggiunto.

    Il parametro ch รจ il carattere da aggiungere alla stringa.

  • assegnare Questa funzione sostituisce il contenuto corrente della stringa con n copie del carattere specificato. Utilizza la seguente sintassi:
    string& assign(size_t n,char ch);

    Il parametro n indica le copie totali del personaggio.

    Il parametro ch รจ il carattere da copiare nella stringa.

  • insert La funzione insert inserisce n copie di un carattere nella posizione iniziale della stringa, come specificato negli argomenti. Utilizza la seguente sintassi:
    string& insert(size_t p,size_t n,char ch);

    Il parametro p indica la posizione dall'inizio in cui verranno inseriti i caratteri.

    Il parametro n indica le copie totali del personaggio.

    Il parametro ch รจ il carattere da inserire nella stringa.

Esempio 7:

#include<iostream>
#include <string>
using namespace std;
int main() {
	string st;
	st.push_back('A');
	cout << "push_back A returns : " << st << endl;
	st = "";
	st.append(1, 'C');
	cout << "append C returns : " << st << endl;
	st = "";
	st.assign(1, 'D');
	cout << "assign D returns : " << st << endl;
	st.insert(0, 1, 'E');
	cout << "insert single character returns : " << st << endl;
	return 0;
}

Produzione:

Conversione di caratteri in stringhe

Ecco uno screenshot del codice:

Conversione di caratteri in stringhe

  1. Includi il file di intestazione iostream nel nostro codice per utilizzare le sue funzioni.
  2. Includi il file di intestazione della stringa nel nostro codice per utilizzare le sue funzioni.
  3. Includi lo spazio dei nomi std nel nostro codice per utilizzare le sue classi senza chiamarlo.
  4. Chiamando la funzione main(). La logica del programma dovrebbe essere aggiunta all'interno del corpo di questa funzione.
  5. Crea una variabile stringa denominata st.
  6. Assegna il carattere A alla fine della stringa.
  7. Stampa il valore della stringa st sulla console insieme ad altro testo. Il endl (fine riga) sposta il cursore alla riga successiva.
  8. Imposta il valore della stringa st su vuoto.
  9. Assegna il singolo carattere C alla stringa denominata st.
  10. Stampa il valore della stringa st sulla console insieme ad altro testo. Il endl (fine riga) sposta il cursore alla riga successiva.
  11. Imposta il valore della stringa st su vuoto.
  12. Sostituisci il contenuto della stringa st con il singolo carattere D.
  13. Stampa il valore della stringa st sulla console insieme ad altro testo. Il endl (fine riga) sposta il cursore alla riga successiva.
  14. Inserisci il singolo carattere E nella stringa denominata st dal suo primo indice.
  15. Stampa il valore della stringa st sulla console insieme ad altro testo. Il endl (fine riga) sposta il cursore alla riga successiva.
  16. Il programma deve restituire valore in caso di completamento positivo.
  17. Fine del corpo della funzione main().

# 4: utilizzo di std::stringstream

Per utilizzare questa classe per convertire un carattere in una stringa, inserire il carattere nello stream.

Verranno scritti sulla stringa.

Esempio 8:

#include<iostream>
#include <string>
#include <sstream>

using namespace std;
int main() {

	string st;

	stringstream myst;

	myst << 'A'; 
	myst >> st;

	cout << "The conversion of the single character returns the string: " << st;

	return 0;
}

Produzione:

Conversione di caratteri in stringhe

Ecco uno screenshot del codice:

Conversione di caratteri in stringhe

Code Spiegazione:

  1. Includi il file di intestazione iostream nel nostro codice per utilizzare le sue funzioni.
  2. Includi il file di intestazione della stringa nel nostro codice per utilizzare le sue funzioni.
  3. Includi il file di intestazione dello sstream nel nostro codice per utilizzare le sue funzioni.
  4. Includi lo spazio dei nomi std nel nostro codice per utilizzare le sue classi senza chiamarlo.
  5. Chiamando la funzione main(). La logica del programma dovrebbe essere aggiunta all'interno del corpo di questa funzione.
  6. Crea una variabile stringa denominata st.
  7. Crea una variabile di flusso denominata myst.
  8. Inserisci il carattere A nell'oggetto stream denominato myst.
  9. Converti l'oggetto stream in una stringa.
  10. Stampa il valore della stringa st sulla console insieme ad altro testo. Il endl (fine riga) sposta il cursore alla riga successiva.
  11. Il programma deve restituire valore in caso di completamento positivo.
  12. Fine del corpo della funzione main().

DOMANDE FREQUENTI

Un char รจ un tipo di dato che memorizza un singolo carattere, come una lettera, una cifra o un simbolo. Occupa un byte e contiene internamente il valore ASCII del carattere.

ASCII รจ uno standard che mappa i caratteri ai numeri da 0 a 127. C++, ogni carattere memorizza il suo codice ASCII, quindi 'A' รจ 65 e 'a' รจ 97.

Dichiarare un carattere utilizzando la parola chiave `char` e un singolo carattere tra virgolette singole, ad esempio `char grade = 'A';`. Sono necessarie le virgolette singole, non le virgolette doppie.

Converti il โ€‹โ€‹carattere in un intero, ad esempio int(ch) o (int)ch, e stampalo. In questo modo viene visualizzato il codice ASCII numerico anzichรฉ il carattere stesso.

Utilizzare cin con l'extracL'operatore tion legge un singolo carattere, ad esempio cin seguito da ch. Memorizza il successivo carattere non spazio bianco digitato dall'utente.

รˆ possibile assegnare un carattere a una `std::string`, utilizzare il costruttore di stringhe oppure aggiungerlo, ad esempio `std::string s(1, ch);`, per creare una stringa di un solo carattere.

Gli assistenti basati sull'intelligenza artificiale come GitHub Copilot generano conversioni da carattere ad ASCII, scrivono cicli di input dei caratteri e suggeriscono correzioni per gli errori comuni di caratteri e stringhe durante la digitazione.

Sรฌ. Gli strumenti basati sull'intelligenza artificiale generano codice ASCII e di conversione tra maiuscole e minuscole, gestiscono le conversioni da carattere a stringa e segnalano errori come l'utilizzo di virgolette doppie per un singolo carattere.

Riassumi questo post con: