Constantes / literais C ++
Constantes referem-se a valores fixos que o programa não pode alterar e são chamados literals.
As constantes podem ser de qualquer um dos tipos de dados básicos e podem ser divididas em numerais inteiros, numerais de ponto flutuante, caracteres, strings e valores booleanos.
Novamente, constantes são tratadas apenas como variáveis regulares, exceto que seus valores não podem ser modificados após sua definição.
Literais inteiros
Um literal inteiro pode ser uma constante decimal, octal ou hexadecimal. Um prefixo especifica a base ou raiz: 0x ou 0X para hexadecimal, 0 para octal e nada para decimal.
Um literal inteiro também pode ter um sufixo que é uma combinação de U e L, para sem sinal e longo, respectivamente. O sufixo pode ser maiúsculo ou minúsculo e pode estar em qualquer ordem.
Aqui estão alguns exemplos de literais inteiros -
212 // Legal
215u // Legal
0xFeeL // Legal
078 // Illegal: 8 is not an octal digit
032UU // Illegal: cannot repeat a suffix
A seguir estão outros exemplos de vários tipos de literais inteiros -
85 // decimal
0213 // octal
0x4b // hexadecimal
30 // int
30u // unsigned int
30l // long
30ul // unsigned long
Literais de ponto flutuante
Um literal de ponto flutuante possui uma parte inteira, um ponto decimal, uma parte fracionária e uma parte expoente. Você pode representar literais de ponto flutuante tanto na forma decimal quanto na forma exponencial.
Ao representar usando a forma decimal, você deve incluir a vírgula decimal, o expoente ou ambos e, ao representar usando a forma exponencial, você deve incluir a parte inteira, a parte fracionária ou ambas. O expoente assinado é introduzido por e ou E.
Aqui estão alguns exemplos de literais de ponto flutuante -
3.14159 // Legal
314159E-5L // Legal
510E // Illegal: incomplete exponent
210f // Illegal: no decimal or exponent
.e55 // Illegal: missing integer or fraction
Literais booleanos
Existem dois literais booleanos e eles fazem parte das palavras-chave C ++ padrão -
Um valor de true representando verdadeiro.
Um valor de false representando falso.
Você não deve considerar o valor de verdadeiro igual a 1 e o valor de falso igual a 0.
Literais de caracteres
Literais de caracteres são colocados entre aspas simples. Se o literal começar com L (apenas maiúsculas), é um literal de caractere largo (por exemplo, L'x ') e deve ser armazenado emwchar_ttipo de variável. Caso contrário, é um literal de caractere estreito (por exemplo, 'x') e pode ser armazenado em uma variável simples dechar tipo.
Um literal de caractere pode ser um caractere simples (por exemplo, 'x'), uma sequência de escape (por exemplo, '\ t') ou um caractere universal (por exemplo, '\ u02C0').
Existem certos caracteres em C ++ quando são precedidos por uma barra invertida, eles têm um significado especial e são usados para representar como nova linha (\ n) ou tabulação (\ t). Aqui, você tem uma lista de alguns desses códigos de sequência de escape -
Sequência de fuga | Significado |
---|---|
\\ | \ personagem |
\ ' | ' personagem |
\ " | " personagem |
\? | ? personagem |
\uma | Alerta ou sino |
\ b | Backspace |
\ f | Feed de formulário |
\ n | Nova linha |
\ r | Retorno de carruagem |
\ t | Aba horizontal |
\ v | Guia vertical |
\ ooo | Número octal de um a três dígitos |
\ xhh. . . | Número hexadecimal de um ou mais dígitos |
A seguir está o exemplo para mostrar alguns caracteres da sequência de escape -
#include <iostream>
using namespace std;
int main() {
cout << "Hello\tWorld\n\n";
return 0;
}
Quando o código acima é compilado e executado, ele produz o seguinte resultado -
Hello World
Literais de string
Literais de string são colocados entre aspas duplas. Uma string contém caracteres semelhantes aos literais de caracteres: caracteres simples, sequências de escape e caracteres universais.
Você pode quebrar uma linha longa em várias linhas usando literais de string e separá-los usando espaços em branco.
Aqui estão alguns exemplos de literais de string. Todas as três formas são strings idênticas.
"hello, dear"
"hello, \
dear"
"hello, " "d" "ear"
Definindo Constantes
Existem duas maneiras simples em C ++ de definir constantes -
Usando #define pré-processador.
Usando const palavra-chave.
O pré-processador #define
A seguir está o formulário para usar o pré-processador #define para definir uma constante -
#define identifier value
O exemplo a seguir explica em detalhes -
#include <iostream>
using namespace std;
#define LENGTH 10
#define WIDTH 5
#define NEWLINE '\n'
int main() {
int area;
area = LENGTH * WIDTH;
cout << area;
cout << NEWLINE;
return 0;
}
Quando o código acima é compilado e executado, ele produz o seguinte resultado -
50
A palavra-chave const
Você pode usar const prefixo para declarar constantes com um tipo específico da seguinte forma -
const type variable = value;
O exemplo a seguir explica em detalhes -
#include <iostream>
using namespace std;
int main() {
const int LENGTH = 10;
const int WIDTH = 5;
const char NEWLINE = '\n';
int area;
area = LENGTH * WIDTH;
cout << area;
cout << NEWLINE;
return 0;
}
Quando o código acima é compilado e executado, ele produz o seguinte resultado -
50
Observe que é uma boa prática de programação definir constantes em MAIÚSCULAS.