Vous êtes sur la page 1sur 20

Universidade Federal de Pelotas

Instituto de Fsica e Matemtica


Departamento de Matemtica, Estatstica e Computao
Bacharelado em Cincia da Computao

Programao I
Aula 2
Prof. Jos Lus Gntzel
guntzel@ufpel.edu.br
www.ufpel.edu.br/~guntzel

Estruturas de Controle de Fluxo


Comandos de Seleo: if
Sintaxe: if(condicao)

comando1;

else comando2;

Se condicao for verdadeira (qualquer valor diferente de


zero), o programa executar o comando1; caso contrrio
(condicao for falsa), o programa executar o comando2.
No lugar de um comando, pode haver uma seqncia
de comandos (ou seja, um bloco).
Em C, um bloco incia com um abre chaves e termina
com um fecha chaves
Ento
ComputaoUFPel
Programao I

slide 2

Prof. Jos Lus Gntzel

Estruturas de Controle de Fluxo


Comandos de Seleo: if
Sintaxe: if(condicao)
{
comando1;
comando3;

}
else
{
comando2;
comando4;

ComputaoUFPel
Programao I

slide 3

Prof. Jos Lus Gntzel

Estruturas de Controle de Fluxo


Comandos de Seleo: ifs aninhados
Sintaxe:
if( x > 0 )
if( y > 0 )
printf(ponto
else
printf(ponto
else
if( y > 0 )
printf(ponto
else
printf(ponto

no 1o quadrante);
no 4o quadrante);

no 2o quadrante);
no 3o quadrante);

No h limite para o nmero de nveis


ComputaoUFPel
Programao I

slide 4

Prof. Jos Lus Gntzel

Estruturas de Controle de Fluxo


A expresso condicional
#include <stdio.h>
main()
{
int a, b;
printf(digite dois numeros\n);
scanf(%d%d, &a, &b );
if(b)
printf(%d\n, a/b );
else
printf(nao pode dividir por zero);
}

ComputaoUFPel
Programao I

slide 5

Prof. Jos Lus Gntzel

Estruturas de Controle de Fluxo


Seleo mltipla: switch
Sintaxe:

ComputaoUFPel
Programao I

switch(expressao)
{
case constante1:
sequencia_de_comandos1;
break;
case constante2:
sequencia_de_comandos2;
break;
case constante3:
sequencia_de_comandos3;
break;

default:
break;
}
slide 6

Prof. Jos Lus Gntzel

Estruturas de Controle de Fluxo


Seleo mltipla: switch
Exemplo
:

ch=getchar();
switch(ch)
{
case C:
case c:
clio++;
break;
case S:
scenic++;
break;
case K:
kangoo++;
break;
case M:
meganec++;
break;
default:
break;
ComputaoUFPel
}
Programao I

Tambm permitido:
uso de switchs aninhados
uso de ifs dentro de switchs

slide 7

Prof. Jos Lus Gntzel

Estruturas de Controle de Fluxo


Comandos de Iterao: lao for
Sintaxe 1:

Sintaxe 2:

ComputaoUFPel
Programao I

for( inicializacoes; testes; atualizacoes)


comando;

for( inicializacoes; testes; atualizacoes)


{
comando1;
comando2;
comando3;

slide 8

Prof. Jos Lus Gntzel

Estruturas de Controle de Fluxo


Comandos de Iterao: lao for
incio

funcionamento:
2
1
4
for( inicializacoes; testes; atualizacoes)
{
comando1;
3
comando2;
comando3;

1
F
fim

2
V

ComputaoUFPel
Programao I

slide 9

Prof. Jos Lus Gntzel

Estruturas de Controle de Fluxo


Comandos de Iterao: lao for
Exemplo :

#include <stdio.h>
main()
{
int i, n;
float valor, media;
media = 0;
printf(entre com o numero de valores\n);
scanf(%d, &n );
for( i=0; i<n; i++ )
{
printf(entre com o %d valor\n, i+1 );
scanf(%f, &valor);
media+=valor;
}
media/=n;
printf(A media destes valores eh:%f\n, media);
}

ComputaoUFPel
Programao I

slide 10

Prof. Jos Lus Gntzel

Estruturas de Controle de Fluxo


Comandos de Iterao: lao for
O Lao infinito:
Exemplo1 :

for( ; ; )
printf(Este laco serah executado forever\n);

Exemplo2 :

char ch;
ch=\0;
for( ; ; )
{
ch = getchar(); //obtem um caractere
if(ch==A)
break; //sai do laco
}
printf(tu digitaste um A, tche!\n);

ComputaoUFPel
Programao I

slide 11

Prof. Jos Lus Gntzel

Estruturas de Controle de Fluxo


Comandos de Iterao: lao for
Laos for sem corpo:
Exemplo:

for( i=0 ; i<tam ; i++ );

Este trecho serve para posicionar um indexador (i,


neste caso) numa dada posio, que pode ser o final
de um vetor
Repare no ponto-e-vrgula logo aps o parntesis

ComputaoUFPel
Programao I

slide 12

Prof. Jos Lus Gntzel

Estruturas de Controle de Fluxo


Comandos de Iterao: lao while
Sintaxe 1:
Sintaxe 2:

ComputaoUFPel
Programao I

while( condicao )
comando;

while( condicao )
{
comando1;
comando2;
comando3;

slide 13

Prof. Jos Lus Gntzel

Estruturas de Controle de Fluxo


Comandos de Iterao: lao do while
Sintaxe 1:
Sintaxe 2:

ComputaoUFPel
Programao I

do
comando;
while( condicao );
do
{
comando1;
comando2;
comando3;

} while( condicao );

slide 14

Prof. Jos Lus Gntzel

Estruturas de Controle de Fluxo


Comandos de Iterao: lao do while
Exemplo:

do
scanf(%d, &num);
while( num > 100 );

O Que faz este trecho de cdigo?


L nmeros do teclado at que encontre um nmero
menor ou igual a 100.

ComputaoUFPel
Programao I

slide 15

Prof. Jos Lus Gntzel

Estruturas de Controle de Fluxo


Comandos de Desvio: return
usado para retornar de uma funo
considerado um comando de desvio porque faz com que
a execuo retorne ao ponto em que a chamada funo
foi feita
Se return tem um valor associado a ele, este valor o
valor de retorno da funo
Se no houver valor associado ao return, assume-se que
somente lixo retornado
Forma Geral:
return expressao;

ComputaoUFPel
Programao I

slide 16

Prof. Jos Lus Gntzel

Estruturas de Controle de Fluxo


Comandos de Desvio: break
Tem dois usos:
Terminar um case do comando switch;
Forar uma terminao imediata de um lao,

ComputaoUFPel
Programao I

slide 17

Prof. Jos Lus Gntzel

Estruturas de Controle de Fluxo


Comandos de Desvio: break
Quando o comando break encontrado dentro de um lao, o
lao imediatamente terminado e o controle do programa
retorna no comando seguinte ao lao.
Exemplo:
for( i=0; i<100; i++ )
{
printf(%d, i);
if( i==10 )
break;
}

ComputaoUFPel
Programao I

slide 18

Prof. Jos Lus Gntzel

Estruturas de Controle de Fluxo


Comandos de Desvio: funo exit()
Da mesma forma que se pode sair de um lao, pode-se sair
de um programa usando a funo exit() da biblioteca
padro.
Esta funo provoca uma terminao imediata do
programa inteiro, forando um retorno ao sistema
operacional

ComputaoUFPel
Programao I

slide 19

Prof. Jos Lus Gntzel

Estruturas de Controle de Fluxo


Comandos de Desvio: funo exit()
Forma Geral:
void exit(int codigo_de_retorno);

O valor de codigo_de_retorno retornado ao processo


chamador, que normalmente o sistema operacional
O zero geralmente usado como cdigo de retorno que
indica uma terminao normal do programa
Outros valores so usados para indicar algum tipo de erro

ComputaoUFPel
Programao I

slide 20

Prof. Jos Lus Gntzel

Vous aimerez peut-être aussi