A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Linguagem de Programação II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.

Apresentações semelhantes


Apresentação em tema: "Linguagem de Programação II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação."— Transcrição da apresentação:

1 Linguagem de Programação II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

2 Capitulo 1 Introdução ao C++

3 O C++ aceita a sintaxe C, acrescentando melhoramentos, ampliando o escopo de aplicações, e possibilitando o desenvolvimento de programas baseados no paradigma da Orientação a Objetos; O C++ mantém à característica do C de ser uma linguagem de pequeno tamanho, o C++ possui apenas 62 palavras reservadas (32 delas comuns ao C); A diferença maior se dá na unidade de programação: no C são as funções enquanto que no C++ são as classes (que instanciam objetos e contém funções) C++ - Superconjunto do C C++ C

4 C/C++ Palavras reservadas : C++

5 Estrutura de um programa C++ Estrutura básica de um programa C++ #include using namespace... ; tipo main() { comandos; }

6 Estrutura de um programa C++ Exemplo de um programa C++ // primeiro.cpp #include using std::cout; // ou - using namespace std; int main() { cout << Meu Primeiro Programa em C++; return 0; } Arquivo cabeçalho Namespace Comentário Cout é um objeto que exibe a informações na saída-padrão Encerra função main e retorna 0

7 Arquivos cabeçalho Contêm protótipos de funções, definições de macros, declarações de tipos de estrutura, de classes e de constantes São processados em fase anterior a compilação chamado pré-processamento FormatoSignificado #include xxx procurado no diretório padrão de arquivos-cabeçalho #include xxxxxx procurado no diretório corrente e se não encontrado no diretório padrão de arquivos-cabeçalho

8 Namespaces Namespace – faz parte do que se chama Ambiente de Nomes no C++, que é um mecanismo para expressar agrupamentos lógicos Exemplo: calc1::calcular(valor1); e calc2::calcular(valor2) Namespace std Estão definidos os vários elementos como por exemplo os objetos cin e cout # include using namespace std; int main { int idade; cout << Digite a sua idade; cin >> idade; cout << Voce tem << idade << anos << \n; return 0; }

9 Etapas para criação de um programa A partir do programa fonte (arquivo.cpp) são necessárias duas etapas para tornar-se um programa executável: Compilação: compilador traduzir o programa-fonte em linguagem de máquina. Resulta um programa-objeto (.o) Link-edição: linker liga o programa-objeto, código-objeto de funções utilizadas e rotinas-padrão de inicialização. Resulta no programa executável

10 Etapas para criação de um programa

11 Capitulo 2 Elementos da linguagem

12 Identificadores São nomes atribuídos pelo programador a variáveis, funções, classes, etc. Regras: Conter caracteres alfabéticos minusculo/maiusculo, numericos ou _ (sublinhado) O primeiro caractere deve ser alfabetico ou _ (sublinhado) Não há limite de comprimento Valor correto incorreto delete incorreto Saldo Conta incorreto 2nota incorreto

13 Variáveis Refere-se a uma posição de memória onde um valor é armazenado, com possibilidade de ser alterado durante execução de um programa Deve ter um nome Tem um determinado comprimento em bits conforme seu tipo

14 Declaração de Variável Declaração e inicialização: igual ao C; Nomes de variáveis: igual ao C; Locais de declaração: inovação; pode-se declarar uma variável no momento do seu uso for (int i = 0; i < 20; i++) {...} Case sensitivity Escopo: igual ao C; Permite variáveis homônimas (mesmo nome, mas escopo diferente) int j = 0; exemplo() { int x, j;... for (int i=0;...) j = 5; // refere-se ao j local... }

15 Operador de Resolução de Escopo (::) O C++ diferencia variáveis local e global homônimas com o Operador de Resolução de Escopo :: (também chamado Qualificação de Escopo), que colocado em frente à variável, faz com que o programa acesse a global. Um erro será apontado, caso não exista a variável global. #include using namespace std; int x = 2; int dob (int v); int main () { int x = 0; cout << local = << dob( x ); cout << global = << dob(::x); return 0; } int dob (int v) { return 2*v; } Resultado : local = 0 global = 4

16 Tipos do C++ Tipos Nativos Classe definida em biblioteca

17 Tipos do C

18 char a bool 1 short 756 int int* &c1 double e34 char[12] Alô, mundo! \0 Tamanhos

19 Constantes inteiras C++ trata constantes inteiras como int a não ser que haja motivos para não o fazer. Há dois motivos O valor é muito grande Utilização de um sufixo que indique um tipo específico Exemplos: cout << 10; // trata o valor 10 como um int cout << 20L; // trata o valor 20 como um long int cout << 30LL; // trata o 30 como long long int

20 Constantes ponto flutuante C++ trata ponto-flutuante como double a não ser que haja um sufixo indicando para não o fazer Exemplo: cout << 2.32F; // trata o valor 2.32 como float cout << 2.3E3F; // trata o valor 2.3E3 como float count << 3.423L; // trata o valor como long double;

21 Constantes simbólicas Constantes identificadas por um nome ex.: const int limite =10 int vetor [limite];

22 Erro de overflow Limite das variáveis Quando valor ultrapassa tamanho do tipo o valor é truncado Exemplo dos que viraram Programa não é interrompido Um erro silencioso é criado Erros no programa todo

23 Operadores Operadores determinam as operações básicas que podem ser executadas nos valores. Levam em consideração os tipos das variáveis. Em torno de 40 operadores. Precedência dos operadores. Há diversos tipos de operadores: Atribuição Atribuição Reduzida Aritméticos Lógicos Condicionais Bit a bit Incremento e Decremento …

24 Precedência e Associatividade Diversos operadores podem ser utilizados na mesma expressão. A ordem de execução dos operadores pode ser determinada explicitamente pelo uso de parêntesis. Quando não são usados parêntesis, o compilador usa regras de precedência para determinar qual operação executar primeiro. Se duas operações têm a mesma precedência, executa de acordo com regra de associatividade (normalmente da esquerda para a direita).

25 Precedência e Associatividade Maior precedência ( ) [ ] -> ! ~ (unário) (cast) * (unário) & (unário) sizeof * / % + - > >= == != & ^ | && || ? = += -= *= /= Menor precedência,

26 Exemplos a = b + c; /* Atribuição tem menor precedência que soma */ d = (a + b) * c; /* Determinada pelos parêntesis */ e = a + b * c; /* * tem maior precedência que + */ f = a + b – c; /* (a + b) – c */ g = f/e*g; /* (f/e)*g */ f = a + b * c – d / e; /* (a + (b*c)) – (d/e) */ a = b = c = d = 0; /* (a = (b = (c = (d = 0)))) */

27 Typecast Recurso que permite forçar a conversãod e um tipo em outro, de modo explicito Pode ser feito antes ou após uma operação Exemplo: char letra = z; cout << O codigo ASCII da letra << letra eh: ; cout << int(letra) << endl; Saida: O cdigo ASCII da letra Z eh 122


Carregar ppt "Linguagem de Programação II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação."

Apresentações semelhantes


Anúncios Google