Programmation informatique - Caractères

S'il était facile de travailler avec des nombres dans la programmation informatique, il serait encore plus facile de travailler avec des caractères. Les caractères sont des alphabets simples comme a, b, c, d ...., A, B, C, D, ....., mais à une exception près. En programmation informatique, tout numéro à un chiffre comme 0, 1, 2, .... et les caractères spéciaux comme $,%, +, -.... etc., sont également traités comme des caractères et pour les attribuer dans un type de caractère variable, il vous suffit de les mettre à l'intérieursingle quotes. Par exemple, l'instruction suivante définit une variable de type caractèrech et nous lui attribuons une valeur 'a' -

char ch = 'a';

Ici, ch est une variable de type caractère qui peut contenir un caractère du jeu de caractères de l'implémentation et 'a' s'appelle un character literalou une constante de caractère. Non seulement a, b, c, .... mais quand tout nombre comme 1, 2, 3 .... ou tout caractère spécial comme!, @, #, #, $, .... est conservé entre guillemets simples , ils seront alors traités comme un littéral de caractère et peuvent être affectés à une variable de type caractère, donc ce qui suit est une instruction valide -

char ch = '1';

Un type de données caractère consomme 8 bits de mémoire, ce qui signifie que vous pouvez stocker n'importe quoi dans un caractère dont la valeur ASCII se situe entre -127 et 127, de sorte qu'il peut contenir l'une des 256 valeurs différentes. Un type de données caractère peut stocker n'importe lequel des caractères disponibles sur votre clavier, y compris les caractères spéciaux tels que!, @, #, #, $,%, ^, &, *, (,), _, +, {,}, Etc.

Notez que vous ne pouvez conserver qu'un seul alphabet ou un numéro à un chiffre entre guillemets simples et que plusieurs alphabets ou chiffres ne sont pas autorisés entre guillemets simples. Ainsi, les instructions suivantes ne sont pas valides en programmation C -

char ch1 = 'ab';
char ch2 = '10';

Ci-dessous est un exemple simple, qui montre comment définir, attribuer et imprimer des caractères en langage de programmation 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);
}

Ici, nous avons utilisé% c pour imprimer un type de données caractère. Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

ch1: a
ch2: 1
ch3: $
ch4: +

Séquences d'échappement

De nombreux langages de programmation prennent en charge un concept appelé Escape Sequence. Lorsqu'un caractère est précédé d'une barre oblique inverse (\), il est appelé une séquence d'échappement et il a une signification particulière pour le compilateur. Par exemple, \ n dans l'instruction suivante est un caractère valide et il est appelé un caractère de nouvelle ligne -

char ch = '\n';

Ici, personnage na été précédé d'une barre oblique inverse (\), il a une signification spéciale qui est une nouvelle ligne, mais gardez à l'esprit que la barre oblique inverse (\) a une signification spéciale avec seulement quelques caractères. L'instruction suivante ne transmettra aucune signification en programmation C et elle sera considérée comme une instruction invalide -

char ch = '\1';

Le tableau suivant répertorie les séquences d'échappement disponibles en langage de programmation C -

Séquence d'échappement La description
\ t Insère une tabulation dans le texte à ce stade.
\ b Insère un retour arrière dans le texte à ce stade.
\ n Insère une nouvelle ligne dans le texte à ce stade.
\ r Insère un retour chariot dans le texte à ce stade.
\F Insère un flux de formulaire dans le texte à ce stade.
\ ' Insère un caractère guillemet simple dans le texte à ce stade.
\ " Insère un caractère guillemet double dans le texte à ce stade.
\\ Insère une barre oblique inverse dans le texte à ce stade.

L'exemple suivant montre comment le compilateur interprète une séquence d'échappement dans une instruction d'impression -

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

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Test for tabspace     and a newline 
will start here

Caractères en Java

Voici le programme équivalent écrit en Java. Java gère les types de données de caractères de la même manière que nous l'avons vu en programmation C. Cependant, Java fournit un support supplémentaire pour la manipulation de caractères.

Vous pouvez essayer d'exécuter le programme suivant pour voir la sortie, qui doit être identique au résultat généré par l'exemple C ci-dessus.

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

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

ch1:  a
ch2:  1
ch3:  $
ch4:  +

Java prend également en charge les séquences d'échappement de la même manière que vous les avez utilisées dans la programmation C.

Caractères en Python

Python ne prend en charge aucun type de données caractère mais tous les caractères sont traités comme une chaîne, qui est une séquence de caractères. Nous étudierons les chaînes dans un chapitre séparé. Vous n'avez pas besoin d'avoir une disposition particulière lors de l'utilisation d'un seul caractère en Python.

Voici le programme équivalent écrit en Python -

ch1 = 'a';      
ch2 = '1';
ch3 = '$';
ch4 = '+'; 

print "ch1: ", ch1
print "ch2: ", ch2
print "ch3: ", ch3
print "ch4: ", ch4

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

ch1:  a
ch2:  1
ch3:  $
ch4:  +

Python prend en charge les séquences d'échappement de la même manière que vous les avez utilisées en programmation C.