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

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

Linguagem de Programação II

Apresentações semelhantes


Apresentação em tema: "Linguagem de Programação II"— 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 C++ - Superconjunto do C
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++ C 3

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

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++
Arquivo cabeçalho Exemplo de um programa C++ // primeiro.cpp #include <iostream> using std::cout; // ou - using namespace std; int main() { cout << “Meu Primeiro Programa em C++”; return 0; } 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 Formato Significado #include <xxx> xxx procurado no diretório padrão de arquivos-cabeçalho #include “xxx” xxx procurado no diretório corrente e se não encontrado no diretório padrão de arquivos-cabeçalho

8 Namespaces # include <iostream> using namespace std; int main { int idade; cout << “Digite a sua idade”; cin >> idade; cout << “Voce tem ” << idade << “anos ” << “\n”; return 0; } 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

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 Elementos da linguagem
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 nota  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 13

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 } 14

15 Operador de Resolução de Escopo (::)
#include <iostream> 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 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. 15

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

17 Tipos do C 17

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

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"

Apresentações semelhantes


Anúncios Google