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.