Programação de computador - personagens

Se fosse fácil trabalhar com números na programação de computadores, seria ainda mais fácil trabalhar com personagens. Os caracteres são alfabetos simples como a, b, c, d ...., A, B, C, D, ....., mas com uma exceção. Na programação de computadores, qualquer número de dígito único como 0, 1, 2, .... e caracteres especiais como $,%, +, -.... etc., também são tratados como caracteres e para atribuí-los em um tipo de caractere variável, você simplesmente precisa colocá-los dentrosingle quotes. Por exemplo, a seguinte instrução define uma variável de tipo de caracterech e atribuímos um valor 'a' a ele -

char ch = 'a';

Aqui, ch é uma variável do tipo de caractere que pode conter um caractere do conjunto de caracteres da implementação e 'a' é chamado de character literalou uma constante de caractere. Não apenas a, b, c, .... mas quando qualquer número como 1, 2, 3 .... ou qualquer caractere especial como!, @, #, #, $, .... é mantido entre aspas simples , então eles serão tratados como um literal de caractere e podem ser atribuídos a uma variável do tipo de caractere, portanto, o seguinte é uma declaração válida -

char ch = '1';

Um tipo de dados de caractere consome 8 bits de memória, o que significa que você pode armazenar qualquer coisa em um caractere cujo valor ASCII esteja entre -127 e 127, de modo que possa armazenar qualquer um dos 256 valores diferentes. Um tipo de dados de caractere pode armazenar qualquer um dos caracteres disponíveis em seu teclado, incluindo caracteres especiais como!, @, #, #, $,%, ^, &, *, (,), _, +, {,}, Etc.

Observe que você pode manter apenas um único alfabeto ou um número de dígito entre aspas simples e mais de um alfabeto ou dígitos não são permitidos entre aspas simples. Portanto, as seguintes declarações são inválidas na programação C -

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

Dada a seguir é um exemplo simples, que mostra como definir, atribuir e imprimir caracteres na linguagem de programação 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);
}

Aqui, usamos% c para imprimir um tipo de dados de caractere. Quando o programa acima é executado, ele produz o seguinte resultado -

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

Sequências de Escape

Muitas linguagens de programação suportam um conceito chamado Escape Sequence. Quando um caractere é precedido por uma barra invertida (\), é chamado de sequência de escape e tem um significado especial para o compilador. Por exemplo, \ n na instrução a seguir é um caractere válido e é chamado de caractere de nova linha -

char ch = '\n';

Aqui, personagem nfoi precedido por uma barra invertida (\), tem um significado especial que é uma nova linha, mas lembre-se de que a barra invertida (\) tem um significado especial com apenas alguns caracteres. A seguinte declaração não terá nenhum significado na programação C e será considerada inválida -

char ch = '\1';

A tabela a seguir lista as sequências de escape disponíveis na linguagem de programação C -

Sequência de fuga Descrição
\ t Insere uma guia no texto neste ponto.
\ b Insere um backspace no texto neste ponto.
\ n Insere uma nova linha no texto neste ponto.
\ r Insere um retorno de carro no texto neste ponto.
\ f Insere um avanço de formulário no texto neste ponto.
\ ' Insere um caractere de aspas simples no texto neste ponto.
\ " Insere um caractere de aspas duplas no texto neste ponto.
\\ Insere um caractere de barra invertida no texto neste ponto.

O exemplo a seguir mostra como o compilador interpreta uma sequência de escape em uma instrução de impressão -

#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 o programa acima é executado, ele produz o seguinte resultado -

Test for tabspace     and a newline 
will start here

Personagens em Java

A seguir está o programa equivalente escrito em Java. Java trata os tipos de dados de caracteres da mesma maneira que vimos na programação C. No entanto, o Java fornece suporte adicional para manipulação de caracteres.

Você pode tentar executar o programa a seguir para ver a saída, que deve ser idêntica ao resultado gerado pelo exemplo C acima.

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 o programa acima é executado, ele produz o seguinte resultado -

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

Java também oferece suporte a sequência de escape da mesma maneira que você os usou na programação C.

Personagens em Python

Python não oferece suporte a nenhum tipo de dados de caractere, mas todos os caracteres são tratados como string, que é uma sequência de caracteres. Vamos estudar cordas em um capítulo separado. Você não precisa ter nenhum arranjo especial ao usar um único caractere no Python.

A seguir está o programa equivalente escrito em Python -

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

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

Quando o programa acima é executado, ele produz o seguinte resultado -

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

Python suporta sequências de escape da mesma forma que você as usou na programação C.