Programmazione per computer - Personaggi
Se fosse facile lavorare con i numeri nella programmazione del computer, sarebbe ancora più facile lavorare con i personaggi. I caratteri sono alfabeti semplici come a, b, c, d ...., A, B, C, D, ....., ma con un'eccezione. Nella programmazione del computer, anche qualsiasi numero a una cifra come 0, 1, 2, ... e caratteri speciali come $,%, +, -.... ecc. Vengono trattati come caratteri e vengono assegnati in un tipo di carattere variabile, devi semplicemente inserirle all'internosingle quotes. Ad esempio, la seguente istruzione definisce una variabile del tipo di caratterech e gli assegniamo un valore 'a' -
char ch = 'a';
Qui, ch è una variabile di tipo di carattere che può contenere un carattere del set di caratteri dell'implementazione e 'a' si chiama a character literalo una costante di carattere. Non solo a, b, c, .... ma quando qualsiasi numero come 1, 2, 3 .... o qualsiasi carattere speciale come!, @, #, #, $, .... è contenuto tra virgolette singole , quindi verranno trattati come un carattere letterale e possono essere assegnati a una variabile di tipo carattere, quindi la seguente è un'affermazione valida:
char ch = '1';
Un tipo di dati carattere consuma 8 bit di memoria, il che significa che puoi memorizzare qualsiasi cosa in un carattere il cui valore ASCII è compreso tra -127 e 127, quindi può contenere uno qualsiasi dei 256 valori diversi. Un tipo di dati carattere può memorizzare qualsiasi carattere disponibile sulla tastiera, inclusi caratteri speciali come!, @, #, #, $,%, ^, &, *, (,), _, +, {,}, Ecc.
Si noti che è possibile mantenere solo un singolo alfabeto o un numero a una cifra all'interno di virgolette singole e non sono consentiti più alfabeti o cifre all'interno di virgolette singole. Quindi le seguenti affermazioni non sono valide nella programmazione C -
char ch1 = 'ab';
char ch2 = '10';
Di seguito è riportato un semplice esempio, che mostra come definire, assegnare e stampare i caratteri nel linguaggio di programmazione C.
#include <stdio.h>
int main() {
char ch1;
char ch2;
char ch3;
char ch4;
ch1 = 'a';
ch2 = '1';
ch3 = '$';
ch4 = '+';
printf( "ch1: %c\n", ch1);
printf( "ch2: %c\n", ch2);
printf( "ch3: %c\n", ch3);
printf( "ch4: %c\n", ch4);
}
Qui, abbiamo usato% c per stampare un tipo di dati carattere. Quando il programma di cui sopra viene eseguito, produce il seguente risultato:
ch1: a
ch2: 1
ch3: $
ch4: +
Sequenze di escape
Molti linguaggi di programmazione supportano un concetto chiamato Escape Sequence. Quando un carattere è preceduto da una barra rovesciata (\), viene chiamata sequenza di escape e ha un significato speciale per il compilatore. Ad esempio, \ n nella seguente istruzione è un carattere valido ed è chiamato carattere di nuova riga -
char ch = '\n';
Ecco, personaggio nè stato preceduto da una barra rovesciata (\), ha un significato speciale che è una nuova riga, ma tieni presente che la barra rovesciata (\) ha un significato speciale solo con pochi caratteri. La seguente dichiarazione non trasmetterà alcun significato nella programmazione C e verrà considerata come un'istruzione non valida:
char ch = '\1';
La tabella seguente elenca le sequenze di escape disponibili nel linguaggio di programmazione C:
Sequenza di fuga | Descrizione |
---|---|
\ t | Inserisce una tabulazione nel testo a questo punto. |
\ b | Inserisce un backspace nel testo a questo punto. |
\ n | Inserisce una nuova riga nel testo a questo punto. |
\ r | Inserisce un ritorno a capo nel testo a questo punto. |
\ f | Inserisce un avanzamento modulo nel testo a questo punto. |
\ ' | Inserisce un singolo carattere di virgolette nel testo a questo punto. |
\ " | Inserisce un carattere di virgolette doppie nel testo a questo punto. |
\\ | Inserisce una barra rovesciata nel testo a questo punto. |
L'esempio seguente mostra come il compilatore interpreta una sequenza di escape in un'istruzione print:
#include <stdio.h>
int main() {
char ch1;
char ch2;
char ch3;
char ch4;
ch1 = '\t';
ch2 = '\n';
printf( "Test for tabspace %c and a newline %c will start here", ch1, ch2);
}
Quando il programma di cui sopra viene eseguito, produce il seguente risultato:
Test for tabspace and a newline
will start here
Personaggi in Java
Di seguito è riportato il programma equivalente scritto in Java. Java gestisce i tipi di dati carattere molto nello stesso modo che abbiamo visto nella programmazione C. Tuttavia, Java fornisce un supporto aggiuntivo per la manipolazione dei caratteri.
Puoi provare ad eseguire il seguente programma per vedere l'output, che deve essere identico al risultato generato dall'esempio C sopra.
public class DemoJava {
public static void main(String []args) {
char ch1;
char ch2;
char ch3;
char ch4;
ch1 = 'a';
ch2 = '1';
ch3 = '$';
ch4 = '+';
System.out.format( "ch1: %c\n", ch1);
System.out.format( "ch2: %c\n", ch2);
System.out.format( "ch3: %c\n", ch3);
System.out.format( "ch4: %c\n", ch4);
}
}
Quando il programma di cui sopra viene eseguito, produce il seguente risultato:
ch1: a
ch2: 1
ch3: $
ch4: +
Java supporta anche la sequenza di escape nello stesso modo in cui li hai usati nella programmazione C.
Personaggi in Python
Python non supporta alcun tipo di dati carattere ma tutti i caratteri sono trattati come una stringa, che è una sequenza di caratteri. Studieremo le stringhe in un capitolo separato. Non è necessario disporre di alcuna disposizione speciale durante l'utilizzo di un singolo carattere in Python.
Di seguito è riportato il programma equivalente scritto in Python:
ch1 = 'a';
ch2 = '1';
ch3 = '$';
ch4 = '+';
print "ch1: ", ch1
print "ch2: ", ch2
print "ch3: ", ch3
print "ch4: ", ch4
Quando il programma di cui sopra viene eseguito, produce il seguente risultato:
ch1: a
ch2: 1
ch3: $
ch4: +
Python supporta le sequenze di escape nello stesso modo in cui le hai usate nella programmazione C.