Você está na página 1de 19

Programando em C++

Joaquim Quinteiro Uchoa

joukim@comp.ufla.br

DCC-UFLA, 2002

Programando em C++ p.1/38

Histrico da Linguagem C
Linguagem C: 1972 - Laboratrio Bells, por Dennis Ritchie, a partir da linguagem B de Ken Thompson PDP-11: primeira implementao UNIX e C: unio forte 1978: Ritchie & Thompson lanam "The C Programming Language" Padronizao ANSI em 1989

Programando em C++ p.2/38

Histrico da Linguagem C++


Iniciou-se em 1980 nos Laboratrios Bell por Bjarne Stroustrup Inicialmente chamado de "C com classes" Orientao a Objetos Padronizao ANSI (bem recente) Compatibilidade com Linguagem C

Programando em C++ p.3/38

Porque Usar C++?


portabilidade modularidade compilao separada recursos de "baixo"e "alto"nvel gerao de cdigo eciente conabilidade regularidade simplicidade facilidade de uso

Programando em C++ p.4/38

Como Usar?
Compilador escolhido: Gnu C Compiler (gcc) - verses Linux, Cygwin ou Mingw32 Use um editor de sua preferncia Compile em linha de comando:
g++ arquivo.cpp -o executavel

Programando em C++ p.5/38

Hello World
#include <iostream> // tradicional "hello world" em c++ /* escreve "Hello World" na tela do computador */ int main( ){ cout << "Hello World" << endl; return 0; }

Programando em C++ p.6/38

Comentrios
Comentrios de m de linha: so inseridos com // valem de onde comeam at o m da linha deve ser o estilo preferido Comentrios tipo C: so inseridos entre /* e */ tudo entre /* e */ ca sendo comentrio

Programando em C++ p.7/38

Entrada e Sada (i)


Operador << signica coloca: operador de sada escreve
cout:

objeto da classe iostream representa a sada padro (geralmente o monitor) pode receber o encadeamento de vrias sadas sada pode ser redirecionada

Programando em C++ p.8/38

Entrada e Sada (ii)


Operador >> signica recebe: operador de entrada l
cin:

objeto da classe iostream representa a entrada padro (geralmente o teclado) pode atribuir o encadeamento de vrias entradas entrada pode ser redirecionada

Programando em C++ p.9/38

Entrada e Sada (iii)


cerr:

objeto da classe iostream representa a sada padro de erros (geralmente o monitor) pode receber o encadeamento de vrias sadas sada pode ser redirecionada

Programando em C++ p.10/38

Entrada e Sada (iv)


Exemplos de uso do cout:
cout << "Isto um teste" << endl; cout << "Outro teste\n"; cout << "Um teste" << " mais " << "complicado" << "!\n";

Exemplo de uso do cin:


int cin int int cin x; >> x; z; w; >> z >> w;
Programando em C++ p.11/38

Declarao de Variveis
A forma de declarao de variveis :
tipo nome;

O nome deve ser iniciado por letras do alfabeto ingls, seguido de outras letras, sublinhado _ ou nmeros. Exemplos:
int x; string nomeDoAluno; float nota_do_aluno; double xpqp1; char* nomeDoProfessor; minhaClasse meuObjeto;
Programando em C++ p.12/38

Tipos de Variveis - Inteiros


char (1 byte) - tambm armazena caracteres int (4 bytes) short = short int (2 bytes) long = long int (4 bytes) signed = com sinal unsigned = sem sinal

Programando em C++ p.13/38

Tipos de Variveis - Flutuantes


oat double long double

Programando em C++ p.14/38

Tipos de Variveis - Outros


Booleanas: bool (true, false) Ponteiros: * Arrays: [ ] Enumeraes Classes (string, vector, etc.)

Programando em C++ p.15/38

Classes
class date{ private: int dia; int mes; int ano; public: date(int d, int m, int a); print(); void set(int d, int m, int a); };
Programando em C++ p.16/38

Tamanho de Tipos
Pode-se usar o operador sizeof( ) No caso de strings do tipo C, deve-se usar strlen( ) No caso da classe string, deve-se usar a funo length( ) No deve-se usar sizeof( ) em ponteiros!!!

Programando em C++ p.17/38

Estruturas de Controle
Estruturas condicionais: if if ... else switch ... case Estruturas de repetio: while do ... while for

Programando em C++ p.18/38

Estrutura condicional if

IF
condio Falso Comandos #1

Verdadeiro

Comandos #2

Programando em C++ p.19/38

Uso do if
if (condicao) comando;

ou
if (condicao) { comandos }

Programando em C++ p.20/38

Uso do if ...
if (condicao) comando; else comando;

else

ou
if (condicao){ comandos } else { comandos; }
Programando em C++ p.21/38

Exemplo de uso do if
if (x < 0) { cout << "menor"; z++; } else if (x > 0){ cout << "maior"; z--; } else { // (x = 0){ cout << "igual"; i++; }
Programando em C++ p.22/38

Estrutura condicional switch

SWITCH
varivel valor #1 Comandos #1

. . .

valor #2

Comandos

. . .

#2

valor #n

Comandos

#n

default

ao default
Programando em C++ p.23/38

Uso do switch
switch (escolha) { case valor1 : comandos1; break; . . . case valorn: comandosn; break; default: acao_default; }

Programando em C++ p.24/38

Exemplo de uso do switch


switch (escolha) { case 1: cout << "Voce digitou 1\n"; break; case 2: cout << "Voce digitou 2\n"; break; default: cout << "escolha incorreta!\n"; }

Programando em C++ p.25/38

Estrutura de repetio while

WHILE
condio Verdadeiro Comandos

Falso

Continuao

Programando em C++ p.26/38

Uso do while
while (condicao) comando;

ou
while (condicao){ comandos }

Programando em C++ p.27/38

Exemplo de uso do while


int i = 0; while (i < 10) { cout << i << " "; i++; }

Programando em C++ p.28/38

Estrutura de repetio do ... while

DO WHILE
Comandos

Verdadeiro
condio

Falso

Continuao

Programando em C++ p.29/38

Uso do do ... while


do comandos; while (condicao)

ou
do { comandos; } while (condicao)

Programando em C++ p.30/38

Exemplo de uso do do ... while


int i = 0; do { cout << i << " "; i++; } while (i < 10)

Programando em C++ p.31/38

Estrutura de repetio for

FOR
Inicializao Incremento

condio

Verdadeiro

Comandos

Falso

Continuao

Programando em C++ p.32/38

Uso do for
for (inicializacao; condicao; incremento) comando;

ou
for (inicializacao; condicao; incremento){ comandos; }

Programando em C++ p.33/38

Exemplo de uso do for


int j; for (j= 0; j <= 10; j++) { cout << j << " "; }

for (int i = 0; i <= 10; i++) { cout << i << " "; }

Programando em C++ p.34/38

Funes
Uma funo em c++ declarada com a seguinte sintaxe:
tipo nome(parametros);

e implementada como
tipo nome(parametros){ comandos; }

parmetros uma lista do tipo


tipo1 var1, tipo2 var2,..., tipon varn

Programando em C++ p.35/38

Exemplos de funes
double triplo(double x){ return 3*x; } void (string nome="anonimo"){ cout << " O l , " << nome << "!"; } inline double quadrado(double x){ return x*x; }

Programando em C++ p.36/38

Ponteiros
Aponta para uma varivel Armazena o endereo desta varivel Possibilita alocao dinmica de memria Possui a forma tipo *nome ou tipo* nome Deve ser utilizado com cuidado!

Programando em C++ p.37/38

Ponteiros
1030

Ponteiros

1029 1028

i=10

ptInt=&i (1024)

1024 1023 1022

*ptInt=10

Programando em C++ p.38/38