Curso de C++/Variáveis e constantes
Variáveis
[editar | editar código-fonte]Variável é uma espécie de selo utilizada por programadores para guardar um endereço de memória, ela armazena na memória do computador um valor que pode variar conforme a necessidade. Variáveis são declaradas o tempo todo durante a atividade de programação pela constante necessidade de armazenar valores temporários. A declaração de uma variável em C++ segue a seguinte sintaxe básica: )
[tipo] [nome] [opcional: [= valor inicial]];
Exemplo de declaração de algumas variáveis:
#include <iostream>
using namespace std;
/*
Importante: em C++, a vírgula decimal equivale a um ponto.
Ex: 3,14 em C++ é 3.14
*/
int main() {
int inteiro = 0; // variável tipo inteiro.
float pontoflutuante = 3.14; // variável tipo ponto flutuante com precisão simples.
double pontoflutuante2 = 3.1415; // variável tipo ponto flutuante com precisão dupla.
char caracter = 'a'; // variável tipo caracter.
bool logico; // variável tipo lógico.
cout << inteiro << " - o número inteiro" << endl;
cout << pontoflutuante << " - o número em ponto flutuante" << endl;
cout << pontoflutuante2 << " - o número em ponto flutuante com dupla precisão" << endl;
cout << caracter << " - o caracter" << endl;
system("pause");
}
A saída na janela de um console deve se parecer com:
0 - o número inteiro
3.14 - o número em ponto flutuante com precisão simples
3.1415 - o número em ponto flutuante com dupla precisão
a - o caracter
Pressione qualquer tecla para continuar...
Não se esqueça que o nome da variável não pode conter espaços, começar com número, ter caracteres especiais entre outros.
int alunosdaescola = 2000; //CORRETO
int alunos da escola = 2000; //ERRADO
Constantes
[editar | editar código-fonte]Assim como uma variável, uma constante também armazena um valor na memória do computador. Entretanto, esse valor não pode ser alterado: é constante. Para constantes é obrigatória a atribuição do valor.
Existem duas formas básicas para declarar uma constante em C++:
Usando #define
[editar | editar código-fonte]Esta é uma maneira antiga de declarar constantes mas funciona normalmente
Você deverá incluir a diretiva de pré-processador #define antes do início do código:
#include <iostream>
using namespace std;
#define PI 3.1415
A sintaxe para isso é (nesse caso, não coloque ponto-e-vírgula no final):
#define [nome da constante] [valor]
Usando const
[editar | editar código-fonte]Usando const, a declaração não precisa estar no início do código.
const int i = 500; // uma constante inteira que armazena o número 500.
const double pi = 3.1415; // uma constante real que armazena o valor aproximado de pi.
A sintaxe para const é:
const [tipo] [nome] = [valor];
Atribuição de valores
[editar | editar código-fonte]Quando você declara uma variável, você escolhe se quer ou não dar um valor inicial para ela. No caso das constantes, você é obrigado a informar este valor. No caso das constantes com #define, se você não informar o valor da constante ocorrerá erro de compilação. Também ocorrerá erro de compilação se você esquecer de atribuir um valor para uma variável antes de utilizá-la. Exemplo:
int inteiro;
cout << inteiro << " - teste";
// ERRO. Não irá compilar pois não foi atribuído valor para a variável.
Alterando o valor de uma variável
[editar | editar código-fonte]Conforme o programa, será de seu interesse alterar o valor da variável. Segue um exemplo de código:
int inteiro = 0;
cout << inteiro << " - primeiro valor" << endl;
inteiro = 5;
cout << inteiro << " - segundo valor" << endl;
system("pause");
A saída no console se parecerá com:
0 - primeiro valor;
5 - segundo valor;
Press any key to continue...
A sintaxe para alterar o valor de uma variável é:
[nome] = [valor];
Escopo de uma variável/constante
[editar | editar código-fonte]Existem variáveis e constantes que você pode usar em todo o programa, chamadas globais, e as que você só poderá utilizar dentro de um bloco de código - chamadas locais.
Vamos analisar o seguinte trecho de código (o programa possui uma outra função além da main):
#include <iostream>
using namespace std;
#define PI 3.1415
const double raizdedois = 1.4142;
// as duas constantes definidas até aqui são globais.
char letra = 'b';
// esta variável é global.
void imprime() {
cout << raizdedois << " " << letra << endl;
}
int main() {
int j = 10;
// esta variável é local.
const int cinco = 5;
// esta constante é local.
cout << letra << " " << j << " " << cinco << " " << raizdedois << endl;
imprime(); // chamada da função imprime.
system("pause");
}
As duas primeiras constanstes são globais. Isso significa que qualquer função (dentro desse arquivo de código) pode acessar o seu valor. No exemplo, a função main e a função imprime usam essas constantes para exibir valores no console.
Já a constante cinco, declarada dentro da função main, bem como a variável j, são locais. Somente a função main pode utilizá-las. Se escrevêssemos o código abaixo, o compilador indicaria erro: nem cinco nem j estão acessíveis para imprime. São variável e constante locais de main. Em regra, variáveis/constantes locais podem ser utilizadas somente dentro do bloco definido pelas chaves ( { e } ) onde foram declaradas.
void imprime() {
cout << cinco << j << endl;
// ERRO.
}
Palavras reservadas
[editar | editar código-fonte]Quando você definir o nome de uma variável ou constante, não poderá atribuir qualquer nome. O nome da variável deve conter apenas letras e números e não pode ser uma palavra reservada (em inglês, keyword).
Abaixo segue a lista de palavras reservadas em C++:
- asm, auto, break, case, catch, char, class, const, continue, default, delete, do, double, else, enum, extern, float, for, friend, goto, if, inline, int, long, new, operator, private, protected, public, register, return, short, signed, sizeof, static, struct, switch, template, this, throw, try, typedef, union, unsigned, virtual, void, volatile, wchar_t, while.
Não se preocupe em decorar estas palavras. Veremos a função de cada uma na linguagem. Como você saberá a função de todas, saberá que não poderá utilizá-las. As palavras reservadas também não podem ser nomes de funções, métodos, atributos, objetos e classes (ainda veremos o que é cada um).
Clique aqui para ver a descrição (em inglês) da função das palavras reservadas: C++ Reference - Keywords
C++ é case sensitive
[editar | editar código-fonte]Uma linguagem case sensitive é aquela que difere letras maiúsculas de minúsculas. Ou seja, se você der um nome para variável, constante, função, classe, objeto, método ou atributo, deverá estar atento à forma como declarou. Segue exemplo:
char um = '1'; // um caracter.
char UM = '1'; // outro caracter.
char Um = '1'; // outro caracter.
char uM = '1'; // outro caracter.
// Diferenciam-se pelo capitulação do nome, embora tenham o mesmo conteúdo.
Revisão do tópico
[editar | editar código-fonte]Este tópico exigiu um pouco mais da sua memória. Mas não se preocupe: você vai acabar por memorizar todo o conteúdo desta seção assim que tiver prática na atividade de programação.
Para passar para o próximo tópico, é importante que você tenha compreendido este muito bem. O próximo tópico falará sobre tipos de dados, que está diretamente ligado com a declaração de variáveis (lembre: quando você declara uma variável deve declarar o tipo de dados que ela conterá).
Alguns erros comuns que você deve verificar quando ocorrem erros de compilação no seu código:
- Esquecer do ponto-e-vírgula no fim das instruções;
- Usar uma variável sem ter-lhe atribuído valor inicial;
- Tentar utilizar uma variável local fora de seu escopo;
- Colocar ponto-e-vírgula após definir uma constante com #define;
- Declarar a variável com um tipo de dados e atribuir um valor diferente do tipo. Ex: int numero = 5.5;
- Não definir valor inicial para uma constante declarada com #define;
- Atribuir um valor para uma variável tipo caracter (char) sem aspas ou com aspas duplas (Ex: "a"). O correto é aspas simples (Ex: 'a');
- Utilizar vírgula em números decimais em vez de ponto.