Referência Rápida de C++ Variáveis
tipo tamanho(bytes) descrição
char 1 representa um caractere ( valores entre 0 - 255 )
short int 2 valor inteiro curto
int 2,4 valor inteiro
long int 4 valor inteiro longo
float 4 valor real (ponto flutuante)
double 8 valor real (precisao dupla)
long double 10 valor real long (precisao dupla)
signed indica que o valor possui sinal
unsigned indica que o valor não possui sinal
void tipo vazio
Constantes Constantes do pré-processador: (PS: não se utiliza ponto-e-vírgula no final deste tipo de constante)
#define <constante> <valor>
exemplo:
#define PI 3.1415926
Tipos Constantes:
const <tipo> <nome> = <valor>;
exemplo:
const float PI = 3.1415926;
Variáveis Estáticas (uma variável estática mantém seu valor inalterado, mesmo quando seu escopo não for mais válido)
static <tipo> <nome>;
exemplo: (variável estática de tipo inteiro)
static int indice;
Operadores Matemáticos e de Atribuição
= atribuição (uma variável recebe um valor ou outra variável)
+ soma
- subtração
* multiplicação
/ divisão
% resto da divisão (módulo)
++ incrementa uma variável (em uma unidade)
-- decrementa uma variável (em uma unidade)
+= x = x + y
-= x = x - y
*= x = x * y
/= x = x / y
%= x = x % y
Operadores Condicionais e Lógicos
== comparação de igualdade (é igual)
!= comparação negada de igualdade (não é igual)
> maior que
< menor que
<= menor ou igual
>= maior ou igual
&& operador lógico 'E' (AND)
|| operador lógico 'OU' (OR)
! operador lógico 'NÃO' (NOT)
Estruturas Condicionais Comando if
if(<expressão condicional>) { <comandos> } else { <comandos> }
exemplo:
if(valor > 10) { cout << "O valor é maior que 10" << endl; } else { cout << "O valor é menor ou igual a 10" << endl; }
Comando switch (a condição "default:" é executada quando nenhuma das outras é válida)
switch(<variavel>) { case <valor>: <comandos> break; case <valor>: <comandos> break; ... default: <comandos> break; }
exemplo:
switch(opcao) { case 1: cout << "primeira opcao" << endl; break; case 2: cout << "segunda opcao" << endl; break; default: cout << "opcao invalida" << endl; break; }
Estruturas de Repetição Comando for (o número de repetições é conhecido) (pode-se entender a expressão condicional da seguinte forma: "enquanto a expressão for verdadeira repita..." )
for( <inicialização>; <expressão condicional>; <incremento> ) { <comandos> }
exemplo:
for ( i = 0; i < 10; i++ ) { cout << "valor de i = " << i << endl; }
Comando while (o número de repetições não é conhecido, teste no início)
while(<expressão condicional>) { <comandos> }
exemplo:
while( var != 1 ) { cout << "Repitindo enquanto var for diferente de 1"<< endl; }
Comando do while (o número de repetições não é conhecido, teste no final) (os comandos são executados pelo menos uma vez)
do { <comandos> }while ( < expressão condicional > );
exemplo:
do { cout << "Repitindo enquanto var é igual a 1"<< endl; }while( var == 1);
Estruturas de Dados Vetores Declarando um vetor:
<tipo> <nome>[tamanho];
exemplo: (declara um vetor de inteiros com 10 elementos)
int vetor[10];
Acessando/Atribuindo um valor em um vetor: ( vetores são indexados a partir do valor 0 (zero) em um vetor de 10 elementos, o primeiro elemento é o 0 (zero) e o ultimo elemento é o 9 )
<nome>[posição] = <valor ou variável>;
exemplo:
vetor[2] = 10;
exemplo: (Percorrendo todas as posições de um vetor)
for(int i = 0; i < 10; i++) { vetor = 0; }
Matrizes Declarando uma Matriz:
<tipo> <nome>[número de linha][número de colunas];
exemplo: (declara uma matriz de inteiros com 3 linhas e 6 colunas)
int matriz[3][6];
Acessando/Atribuindo um valor em uma matriz:
<nome>[<linha>][<coluna>] = <valor ou variável>;
exemplo:
matriz[1][2] = 10;
exemplo: (Percorrendo todas as posições de uma matriz)
for(int i = 0; i < 3; i++) { for(int j = 0; j < 6 ; j++) {
matriz[j] = 0; } }
Estruturas Uma estrutura permite agrupar uma série de tipos de variaveis a partir de um único identificador (nome da variável)
struct <novo tipo> { <tipo> <nome>; <tipo> <nome>; ... <tipo> <nome>; };
exemplo:
struct registro { string nome; string cargo; float salario; };
quando se declara um estrutura um novo tipo de dado é criado. No exemplo anterior o tipo de dado "registro" foi criado. Para declara e acessar um determinado campo desta estrutura deve-se fazer o seguinte:
registro var; var.nome = "Fulano da Silva"; var.cargo = "Programador"; var.salario = 20000.00;
Strings Strings armazenam uma cadeia de caracteres Em C++ utilizaremos o tipo string da biblioteca STL ( Standard Template Library) para isso é necessário adicionar o arquivo de cabeçalho <string> no código fonte #include <string> A forma de utilização da string do STL é simples, sem ser necessário a preocupação com os seu tamanho e limites de memória. A maioria dos operadores funcionam como nos valores numéricos (+=, >, < , ==, etc) exemplo:
string texto1; string texto2; texto1 = "Fulano "; texto2 = "da Silva"; texto1 = texto1 + texto2; // agora texto1 possui o texto "Fulano da Silva"
Funções Declarando funções: (se uma função possuir um tipo de retorno diferente de "void" é necessário retornar um valor utilizando o comando "return" )
<tipo de retorno> <nome>( <lista de parametros> ) { }
exemplo: int soma ( int a, int b ) { return a + b; }
Chamando uma função: exemplo:
int x; x = soma(2,2);
Passagem de Parâmetro Passagem de parâmetro por valor: (a variável declarada na lista de parâmetros recebe o VALOR da variável utilizada na chamada da função)
<tipo de retorno> <nome da função> ( <tipo1> <parâmetro1>, ... ,<tipoN> <parâmetroN> )
exemplo:
int soma ( int a, int b ) { return a + b; }
Passagem de parâmetro por referência: (a varíavel declarada na lista de parâmetros passa a ser um APELIDO (alias) para a variável utilizada na chamada da função: LEMBRE_SE: modificando a variável do parâmetro modifica também a variável utilizada na chamada da função ) (um '&' é adicionado no final do tipo para representar que o parâmetro é uma referência)
<tipo de retorno> <nome da função> ( <tipo1>& <parâmetro1>, ... ,<tipoN>& <parâmetroN> )
exemplo:
void soma ( int& a, int& b ) { a = a + b; }
Funções com valores padrão ( C++ permite que as variáveis declaradas nos parâmetros de uma funções possuam um valor padrão, facilitando a chamada de função ) (Estes parâmetros devem ser colocados no final da lista, de traz para frente) exemplo:
float divide ( float a, float b = 2.0) { return a / b; }
( para chamar a função temos duas alternativas )
float x; x = divide(2); x = divide(2,3);
( se um valor for omitido, ele assume seu valor padrão ) Entrada e Saída Para a utilização dos operadores de entrada e saída de dados é necessário adicionar o arquivo de cabeçalho <iostream> no código fonte #include <iostream> cin (le um valor do teclado e armazena em uma variavel) (um valor é lido após um <enter> um <espaço> ou um TAB) (cin utiliza o operador de extração ">>" )
cin >> <variável1> >> <variável2> >> ... >> <variávelN>;
exemplo:
int opcao; cin >> opcao;
cout (escreve na tela valores ou variáveis) (cout utiliza o operador de inserção "<<" )
cout << <variavel ou valor> << ... << <variável ou valor>;
exemplo:
int var = 10; cout << "Fulano da Silva"; cout << var;
Formatando cout para formatar a siada de cout se utiliza os manipulador definidos no arquivo de cabeçalho <iomanip>
#define <iomanip>
Lista dos principais manipuladores:
dec os numeros são exibidos em decimal
oct os numeros são exibidos em octal
hex os numeros sao exibidos e hexadecimal
fixed representação fixa
scientific representação científica
setprecision(n) determina que o numero possuirá n digitos de precisão
endl indica linha nova
left alinha a esquerda
right alinha a direita
exemplo:
float val = 10.2345; cout << fixed << setprecision(2) << val; // val será mostrado na tela como "10.23"
Espero que ajude alguem!
Creditos:
vyctor17