SlideShare uma empresa Scribd logo
1 de 43
Linguagem C
Estruturas de Controle de
Fluxos
Disciplina: AAM
Profa. Ana Watanabe
1/2013 vol.4
“regozijai-vos sempre.” I Tessalonicenses 5:16
Linguagem C
• Objetivo da aula:
• ESTRUTURAS DE CONTROLE DE FLUXO
• Exercício de Fixação
Linguagem C
• ESTRUTURAS DE CONTROLE DE FLUXO
• Os comandos de controle de fluxo são a
base de qualquer linguagem.
• C tem um conjunto muito rico e poderoso de
comandos de controle de fluxo.
• Eles se dividem em comandos de teste de
condições e comandos de controle de loop.
Linguagem C
Comandos de testes de condições
Estes comandos avaliam uma condição e
executam um bloco de código de acordo com o
resultado. São eles:
• if
• switch
Linguagem C
Comandos de testes de condições if
Forma geral do comando if é:
if (condição)
comando;
else
comando;
Obs.: A parte else é opcional
Linguagem C
• Exemplos
if (x) if (x) {
if (y) if (y) printf(“1”);
printf(“1”); }
else else
printf(“2”); printf(“2”);
Neste caso, o else Neste caso, o else
pertence ao pertence ao primeiro
segundo if.
Linguagem C
• “escada” if-else-if: É muito comum encontrar
programas da seguinte forma:
if (condição)
comando;
else if (condição)
comando;
else
comando;
Linguagem C
• O computador avalia as expressões
condicionais de cima para baixo.
• Assim que encontra uma condição verdadeira,
ele executa o comando associado a ela e passa
por cima do resto da “escada”.
• Se nenhuma condição for verdadeira, o
computador executará o else final.
Linguagem C
Comandos de testes de condições: Switch
É um comando de vários desvios
• No switch, o computador testa uma variável
sucessivamente contra uma lista de constantes
inteiras ou de caracteres e executa um
comando ou bloco de comandos quando
encontrar uma coincidência.
Linguagem C
Forma geral do switch
switch (variável) {
case constante1:
seqüência de comandos
break;
case constante2:
seqüência de comandos
break;
default:
seqüência de comandos
}
Linguagem C
Dicas importantes:
• De modo geral, a sequência de comandos do
case não precisam estar entre chaves.
• Porém, se o primeiro comando dentro de um
case for a declaração ao de uma variável, será
necessário colocar todos os comandos desse
case dentro de um par de chaves.
Linguagem C
default
• O comando default será executado se não for
encontrada nenhuma coincidência na lista de
constantes.
• Caso não seja colocado um comando default
e não haja coincidência, nenhum comando
será executado.
Linguagem C
break
• Quando o computador encontra alguma
coincidência, ele executa os comandos
associados àquele case até encontrar break
ou o fim do comando switch.
• É um erro comum programadores
esquecerem de colocar o break após os
comandos.
Linguagem C
importante:
• O switch difere do if, já que o primeiro só
pode testar igualdade e a expressão
condicional if pode ser de qualquer tipo.
• Não pode haver duas constantes case com
valores iguais no mesmo switch.
• Podem ser colocados comandos switch
dentro de comandos switch.
• Pode ser deixado um case vazio quando mais
de uma condição usa o mesmo código.
Linguagem C
Comandos de controle de loops
• Os comandos de controle de loops permitem
que o computador repita um conjunto de
instruções até que alcance uma certa
condição.
• Em C temos os seguintes comandos de
controle de loop:
• for
• while
• do while
Linguagem C
for
• O loop for em C é muito mais forte e mais flexível que o da
maioria das outras linguagens.
• Sua forma geral é:
for (inicialização; condição; incremento)
comando;
• Observe que as três partes do loop for são separadas por
ponto e vírgula.
• Nenhuma destas partes precisa existir. Ao omitir a condição
ao do comando for, criamos um laço infinito.
Linguagem C
Inicialização
• Na forma mais simples, inicialização é
um comando de atribuição que o
compilador usa para estabelecer a
variável de controle de loop.
•A inicialização pode conter qualquer
comando válido em C.
Linguagem C
Condição
• A condição é uma expressão de relação
que testa se a condição final desejada
pelo loop for ocorreu.
• Aqui também pode ser colocado
qualquer comando válido em C.
Linguagem C
Incremento
• O incremento define a maneira como a
variável de controle do loop será alterada
cada vez que o computador repetir o
loop.
• Também aqui, podemos colocar
qualquer comando válido em C.
Linguagem C
Exemplo 1
/* conta de 1 a 100 – pode ser
usado pra retardo de tempo */
main()
{
int x;
for (x = 1; x <= 100; x ++) ;
}
Linguagem C
Exemplo 2
/* conta de 100 a 1 */
main()
{
int x;
for (x = 100; x > 0; x --) ;
}
Linguagem C
Exemplo 3
/* conta de 0 a 100, 5 em 5 */
main()
{
int x;
for (x = 0; x <= 100; x = x + 5)
;
}
Linguagem C
Loop infinito
• Podemos fazer um comando for
executar para sempre simplesmente
não especificando sua parte
condicional. Veja:
for (;;)
{
}
Linguagem C
Saindo de um loop
Podemos usar o comando break para
encerrar um for a qualquer momento.
main()
/* O loop será executado 10 vezes */
{
int a;
for (a = 1; a < 100; a++)
if (a == 10) break;
}
Linguagem C
While
•O while executa um comando (ou bloco
de comandos) enquanto uma condição
for verdadeira.
A forma geral do while é:
while (condição)
comando;
Linguagem C
While
Exemplo 1
pausa()
{
char tecla = ‘0’;
printf(“Tecle ESPAÇO para continuar...”);
while (tecla != ‘ ’)
tecla = getche();
}
Linguagem C
Exemplo 1
pausa()
{
char tecla = ‘0’;
printf(“Tecle ESPAÇO para continuar...”);
while (tecla != ‘ ’)
tecla = getche();
}
Linguagem C
do while
•Ao contrário do loop for e do loop
while, que testam a condição no
começo do loop, o loop do while
verifica a condição somente no final.
•Desta forma, o loop será executado
pelo menos uma vez.
Linguagem C
do while
• A forma geral do loop do while é:
do {
comando;
} while (condição);
Linguagem C
Um dos usos da estrutura do-while
é em menus, nos quais você quer
garantir que o valor digitado pelo
usuário seja válido, conforme
apresentado a seguir:
Linguagem C
int main ()
{
int i;
do
{
printf ("nnEscolha a fruta pelo numero:nn");
printf ("t(1)...Mamaon");
printf ("t(2)...Abacaxin");
scanf("%d", &i);
} while ((i<1)||(i>2));
switch (i)
{
case 1:
printf ("ttVoce escolheu Mamao.n");
break;
case 2:
printf ("ttVoce escolheu Abacaxi.n");
break;
}
}
Linguagem C
Interrupção de loops
•Quando precisamos encerrar um loop
sem que sua condição de encerramento
esteja satisfeita, podemos utilizar o
comando break.
O break faz com que a execução do
programa continue na primeira
linha seguinte ao loop ou bloco que está
sendo interrompido..
Linguagem C
O que faz esta rotina?
for(t=0; t<100; ++t)
{
count=1;
for(;;)
{
printf("%d", count);
count++;
if(count==10) break;
}
}
Linguagem C
O que faz esta rotina?
for(t=0; t<100; ++t)
{
count=1;
for(;;) /* imprimirá os números de 1 a 10 cem vezes na tela.*/
{
printf("%d", count);
count++;
if(count==10) break;
}
}
Linguagem C
Comando continue
•O comando continue funciona de maneira
parecida com o comando break.
•Porém, em vez de forçar o
encerramento, continue força a próxima
iteração do loop e pula o código que
estiver no meio.
Linguagem C
Exemplo: O que faz o programa?
main()
{
int x;
for (x = 0; x < 100; x ++) {
if (x % 2) continue;
printf(“%d ”, x);
}
}
Linguagem C
/* programa para imprimir os números
pares entre 0 e 98 */
main()
{
int x;
for (x = 0; x < 100; x ++) {
if (x % 2) continue;
printf(“%d ”, x);
}
}
Linguagem C
O Comando goto
•O goto é o último comando de controle de
fluxo. Ele pertence a uma classe à parte:
a dos comandos de salto incondicional.
•O goto realiza um salto para um local
especificado. Este local é determinado por
um rótulo. Um rótulo, na linguagem C,
é uma marca no programa. Você dá o nome
que quiser a esta marca.
Linguagem C
O Comando goto
• A forma geral é:
nome_do_rótulo:
....
goto nome_do_rótulo;
....
Linguagem C
•O comando goto deve ser utilizado com
parcimônia, pois o abuso no seu uso tende
a tornar o código confuso.
•O goto não é um comando necessário,
podendo sempre ser substituído por outras
estruturas de controle.
•Recomendamos que o goto nunca seja
usado.
Linguagem C
•Existem algumas situações muito específicas
onde o comando goto pode tornar um código
mais fácil de se entender se ele for bem
empregado.
•Um caso em que ele pode ser útil é quando
temos vários loops e ifs aninhados e se queira,
por algum motivo, sair destes loops e ifs todos de
uma vez.
•Neste caso um goto resolve o problema mais
elegantemente que vários breaks, sem contar
que os breaks exigiriam muito mais testes. Ou
seja, neste caso o goto é mais elegante e
mais rápido.
• Exercício de Fixação:
PRÁTICA:
Escrever um programa que
conforme as chaves muda a
lógica dos 8 leds.
LINGUAGEM C

Mais conteúdo relacionado

Mais procurados

Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoMauro Pereira
 
53392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-200953392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-2009starley lobo
 
Aula 04 estruturas de repetição
Aula 04   estruturas de repetiçãoAula 04   estruturas de repetição
Aula 04 estruturas de repetiçãoTácito Graça
 
PHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de ControlePHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de ControleGeorge Mendonça
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoRegis Magalhães
 
Java básico - Módulo 05 - Estruturas de Repetição
Java  básico - Módulo 05 - Estruturas de RepetiçãoJava  básico - Módulo 05 - Estruturas de Repetição
Java básico - Módulo 05 - Estruturas de RepetiçãoProfessor Samuel Ribeiro
 
Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3guestd6da1cd
 
Aula 04 Estruturas de repetição 02 - Para Faça
Aula 04  Estruturas de repetição 02 - Para FaçaAula 04  Estruturas de repetição 02 - Para Faça
Aula 04 Estruturas de repetição 02 - Para FaçaEder Samaniego
 
Lógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoLógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoWesley R. Bezerra
 
Aula6 - Linguagem C
Aula6 - Linguagem CAula6 - Linguagem C
Aula6 - Linguagem Capolllorj
 
Tecnicas programacao i_c_p2
Tecnicas programacao i_c_p2Tecnicas programacao i_c_p2
Tecnicas programacao i_c_p2D M
 
Aula 03 estrutura de seleção
Aula 03   estrutura de seleçãoAula 03   estrutura de seleção
Aula 03 estrutura de seleçãoTácito Graça
 
Logica Algoritmo 04 Decisao
Logica Algoritmo 04 DecisaoLogica Algoritmo 04 Decisao
Logica Algoritmo 04 DecisaoRegis Magalhães
 
Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)111111119
 

Mais procurados (20)

Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigo
 
53392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-200953392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-2009
 
Aula 04 estruturas de repetição
Aula 04   estruturas de repetiçãoAula 04   estruturas de repetição
Aula 04 estruturas de repetição
 
Algoritmos Aula 08
Algoritmos Aula 08Algoritmos Aula 08
Algoritmos Aula 08
 
Etapas da programação
Etapas da programaçãoEtapas da programação
Etapas da programação
 
PHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de ControlePHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de Controle
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 Repeticao
 
Algoritmos - Aula 07 A - Lacos
Algoritmos - Aula 07 A - LacosAlgoritmos - Aula 07 A - Lacos
Algoritmos - Aula 07 A - Lacos
 
Java básico - Módulo 05 - Estruturas de Repetição
Java  básico - Módulo 05 - Estruturas de RepetiçãoJava  básico - Módulo 05 - Estruturas de Repetição
Java básico - Módulo 05 - Estruturas de Repetição
 
Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3
 
Aula 04 Estruturas de repetição 02 - Para Faça
Aula 04  Estruturas de repetição 02 - Para FaçaAula 04  Estruturas de repetição 02 - Para Faça
Aula 04 Estruturas de repetição 02 - Para Faça
 
Lógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoLógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetição
 
Aula6 - Linguagem C
Aula6 - Linguagem CAula6 - Linguagem C
Aula6 - Linguagem C
 
Apostila c
Apostila cApostila c
Apostila c
 
Tecnicas programacao i_c_p2
Tecnicas programacao i_c_p2Tecnicas programacao i_c_p2
Tecnicas programacao i_c_p2
 
Visualg
VisualgVisualg
Visualg
 
Aula 03 estrutura de seleção
Aula 03   estrutura de seleçãoAula 03   estrutura de seleção
Aula 03 estrutura de seleção
 
Logica Algoritmo 04 Decisao
Logica Algoritmo 04 DecisaoLogica Algoritmo 04 Decisao
Logica Algoritmo 04 Decisao
 
Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)
 
Linguagem C - Entrada e Saída
Linguagem C - Entrada e SaídaLinguagem C - Entrada e Saída
Linguagem C - Entrada e Saída
 

Semelhante a Controle de fluxo C

0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisãoEvelyneBorges
 
Estrutura de Dados - Características da linguagem C - 2
Estrutura de Dados - Características da linguagem C - 2Estrutura de Dados - Características da linguagem C - 2
Estrutura de Dados - Características da linguagem C - 2Adriano Teixeira de Souza
 
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Os Fantasmas !
 
Resumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroCResumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroCFabio Souza
 
Algoritmos C/C++ - Aula 02
Algoritmos C/C++ - Aula 02Algoritmos C/C++ - Aula 02
Algoritmos C/C++ - Aula 02Leandro Rezende
 
Introdução a linguagem c 2_97_2003
Introdução a linguagem c  2_97_2003Introdução a linguagem c  2_97_2003
Introdução a linguagem c 2_97_2003Henoc Freire
 
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Adriano Teixeira de Souza
 
Apresentação curso pic básico fbs eletrônica
Apresentação   curso pic básico fbs eletrônicaApresentação   curso pic básico fbs eletrônica
Apresentação curso pic básico fbs eletrônicaFabio Souza
 
Estrutura de linguagem C++
Estrutura de linguagem C++Estrutura de linguagem C++
Estrutura de linguagem C++Verônica Veiga
 
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)Thalles Anderson
 
Guia para traducao algoritmos x l ps
Guia para traducao algoritmos x l psGuia para traducao algoritmos x l ps
Guia para traducao algoritmos x l psMauro Pereira
 

Semelhante a Controle de fluxo C (20)

EstrutControleC.pdf
EstrutControleC.pdfEstrutControleC.pdf
EstrutControleC.pdf
 
0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisão
 
Estrutura de Dados - Características da linguagem C - 2
Estrutura de Dados - Características da linguagem C - 2Estrutura de Dados - Características da linguagem C - 2
Estrutura de Dados - Características da linguagem C - 2
 
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Notas deaulas
Notas deaulasNotas deaulas
Notas deaulas
 
Aula 3 AEDI.pdf
Aula 3 AEDI.pdfAula 3 AEDI.pdf
Aula 3 AEDI.pdf
 
Resumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroCResumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroC
 
Resumo Linguagem C
Resumo Linguagem CResumo Linguagem C
Resumo Linguagem C
 
Java3
Java3Java3
Java3
 
Algoritmos C/C++ - Aula 02
Algoritmos C/C++ - Aula 02Algoritmos C/C++ - Aula 02
Algoritmos C/C++ - Aula 02
 
JAVA - Controle de programa
JAVA - Controle de programaJAVA - Controle de programa
JAVA - Controle de programa
 
Introdução a linguagem c 2_97_2003
Introdução a linguagem c  2_97_2003Introdução a linguagem c  2_97_2003
Introdução a linguagem c 2_97_2003
 
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
 
Apresentação curso pic básico fbs eletrônica
Apresentação   curso pic básico fbs eletrônicaApresentação   curso pic básico fbs eletrônica
Apresentação curso pic básico fbs eletrônica
 
02 controle de fluxo
02   controle de fluxo02   controle de fluxo
02 controle de fluxo
 
Estrutura de linguagem C++
Estrutura de linguagem C++Estrutura de linguagem C++
Estrutura de linguagem C++
 
Construcao de Algoritmos - Aula 08
Construcao de Algoritmos - Aula 08Construcao de Algoritmos - Aula 08
Construcao de Algoritmos - Aula 08
 
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
 
Guia para traducao algoritmos x l ps
Guia para traducao algoritmos x l psGuia para traducao algoritmos x l ps
Guia para traducao algoritmos x l ps
 
Aula 1 | Introdução a C++
Aula 1 | Introdução a C++Aula 1 | Introdução a C++
Aula 1 | Introdução a C++
 

Mais de profwtelles

Arduino - Parte 3.pdf
Arduino - Parte 3.pdfArduino - Parte 3.pdf
Arduino - Parte 3.pdfprofwtelles
 
Arduino - Parte 2.pdf
Arduino - Parte 2.pdfArduino - Parte 2.pdf
Arduino - Parte 2.pdfprofwtelles
 
Arduino - Parte 1.pdf
Arduino - Parte 1.pdfArduino - Parte 1.pdf
Arduino - Parte 1.pdfprofwtelles
 
Aula teoria semicondutor
Aula teoria semicondutorAula teoria semicondutor
Aula teoria semicondutorprofwtelles
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao cprofwtelles
 
Flip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadoresFlip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadoresprofwtelles
 
Linguagem c wellington telles - aula 08
Linguagem c   wellington telles - aula 08Linguagem c   wellington telles - aula 08
Linguagem c wellington telles - aula 08profwtelles
 
Linguagem c wellington telles - aula 07
Linguagem c   wellington telles - aula 07Linguagem c   wellington telles - aula 07
Linguagem c wellington telles - aula 07profwtelles
 
Linguagem c wellington telles - aula 06
Linguagem c   wellington telles - aula 06Linguagem c   wellington telles - aula 06
Linguagem c wellington telles - aula 06profwtelles
 
Linguagem c wellington telles - aula 04
Linguagem c   wellington telles - aula 04Linguagem c   wellington telles - aula 04
Linguagem c wellington telles - aula 04profwtelles
 
Linguagem c wellington telles - aula 03
Linguagem c   wellington telles - aula 03Linguagem c   wellington telles - aula 03
Linguagem c wellington telles - aula 03profwtelles
 
Linguagem c wellington telles - aula 02
Linguagem c   wellington telles - aula 02Linguagem c   wellington telles - aula 02
Linguagem c wellington telles - aula 02profwtelles
 
Linguagem c wellington telles - aula 05
Linguagem c   wellington telles - aula 05Linguagem c   wellington telles - aula 05
Linguagem c wellington telles - aula 05profwtelles
 
Linguagem c wellington telles - aula 01
Linguagem c   wellington telles - aula 01Linguagem c   wellington telles - aula 01
Linguagem c wellington telles - aula 01profwtelles
 
Componentes importantes para Delphi
Componentes importantes para DelphiComponentes importantes para Delphi
Componentes importantes para Delphiprofwtelles
 
Lista coseno seno
Lista coseno senoLista coseno seno
Lista coseno senoprofwtelles
 

Mais de profwtelles (20)

Arduino - Parte 3.pdf
Arduino - Parte 3.pdfArduino - Parte 3.pdf
Arduino - Parte 3.pdf
 
Arduino - Parte 2.pdf
Arduino - Parte 2.pdfArduino - Parte 2.pdf
Arduino - Parte 2.pdf
 
Arduino - Parte 1.pdf
Arduino - Parte 1.pdfArduino - Parte 1.pdf
Arduino - Parte 1.pdf
 
Aula teoria semicondutor
Aula teoria semicondutorAula teoria semicondutor
Aula teoria semicondutor
 
Ccp
CcpCcp
Ccp
 
C 1
C 1C 1
C 1
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
3 vetor.matriz
3 vetor.matriz3 vetor.matriz
3 vetor.matriz
 
Pic aula1
Pic   aula1Pic   aula1
Pic aula1
 
Flip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadoresFlip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadores
 
Linguagem c wellington telles - aula 08
Linguagem c   wellington telles - aula 08Linguagem c   wellington telles - aula 08
Linguagem c wellington telles - aula 08
 
Linguagem c wellington telles - aula 07
Linguagem c   wellington telles - aula 07Linguagem c   wellington telles - aula 07
Linguagem c wellington telles - aula 07
 
Linguagem c wellington telles - aula 06
Linguagem c   wellington telles - aula 06Linguagem c   wellington telles - aula 06
Linguagem c wellington telles - aula 06
 
Linguagem c wellington telles - aula 04
Linguagem c   wellington telles - aula 04Linguagem c   wellington telles - aula 04
Linguagem c wellington telles - aula 04
 
Linguagem c wellington telles - aula 03
Linguagem c   wellington telles - aula 03Linguagem c   wellington telles - aula 03
Linguagem c wellington telles - aula 03
 
Linguagem c wellington telles - aula 02
Linguagem c   wellington telles - aula 02Linguagem c   wellington telles - aula 02
Linguagem c wellington telles - aula 02
 
Linguagem c wellington telles - aula 05
Linguagem c   wellington telles - aula 05Linguagem c   wellington telles - aula 05
Linguagem c wellington telles - aula 05
 
Linguagem c wellington telles - aula 01
Linguagem c   wellington telles - aula 01Linguagem c   wellington telles - aula 01
Linguagem c wellington telles - aula 01
 
Componentes importantes para Delphi
Componentes importantes para DelphiComponentes importantes para Delphi
Componentes importantes para Delphi
 
Lista coseno seno
Lista coseno senoLista coseno seno
Lista coseno seno
 

Último

Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxedelon1
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAHELENO FAVACHO
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...HELENO FAVACHO
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSOLeloIurk1
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfHELENO FAVACHO
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfLuizaAbaAba
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 

Último (20)

Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdf
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 

Controle de fluxo C

  • 1. Linguagem C Estruturas de Controle de Fluxos Disciplina: AAM Profa. Ana Watanabe 1/2013 vol.4
  • 2. “regozijai-vos sempre.” I Tessalonicenses 5:16
  • 3. Linguagem C • Objetivo da aula: • ESTRUTURAS DE CONTROLE DE FLUXO • Exercício de Fixação
  • 4. Linguagem C • ESTRUTURAS DE CONTROLE DE FLUXO • Os comandos de controle de fluxo são a base de qualquer linguagem. • C tem um conjunto muito rico e poderoso de comandos de controle de fluxo. • Eles se dividem em comandos de teste de condições e comandos de controle de loop.
  • 5. Linguagem C Comandos de testes de condições Estes comandos avaliam uma condição e executam um bloco de código de acordo com o resultado. São eles: • if • switch
  • 6. Linguagem C Comandos de testes de condições if Forma geral do comando if é: if (condição) comando; else comando; Obs.: A parte else é opcional
  • 7. Linguagem C • Exemplos if (x) if (x) { if (y) if (y) printf(“1”); printf(“1”); } else else printf(“2”); printf(“2”); Neste caso, o else Neste caso, o else pertence ao pertence ao primeiro segundo if.
  • 8. Linguagem C • “escada” if-else-if: É muito comum encontrar programas da seguinte forma: if (condição) comando; else if (condição) comando; else comando;
  • 9. Linguagem C • O computador avalia as expressões condicionais de cima para baixo. • Assim que encontra uma condição verdadeira, ele executa o comando associado a ela e passa por cima do resto da “escada”. • Se nenhuma condição for verdadeira, o computador executará o else final.
  • 10. Linguagem C Comandos de testes de condições: Switch É um comando de vários desvios • No switch, o computador testa uma variável sucessivamente contra uma lista de constantes inteiras ou de caracteres e executa um comando ou bloco de comandos quando encontrar uma coincidência.
  • 11. Linguagem C Forma geral do switch switch (variável) { case constante1: seqüência de comandos break; case constante2: seqüência de comandos break; default: seqüência de comandos }
  • 12. Linguagem C Dicas importantes: • De modo geral, a sequência de comandos do case não precisam estar entre chaves. • Porém, se o primeiro comando dentro de um case for a declaração ao de uma variável, será necessário colocar todos os comandos desse case dentro de um par de chaves.
  • 13. Linguagem C default • O comando default será executado se não for encontrada nenhuma coincidência na lista de constantes. • Caso não seja colocado um comando default e não haja coincidência, nenhum comando será executado.
  • 14. Linguagem C break • Quando o computador encontra alguma coincidência, ele executa os comandos associados àquele case até encontrar break ou o fim do comando switch. • É um erro comum programadores esquecerem de colocar o break após os comandos.
  • 15. Linguagem C importante: • O switch difere do if, já que o primeiro só pode testar igualdade e a expressão condicional if pode ser de qualquer tipo. • Não pode haver duas constantes case com valores iguais no mesmo switch. • Podem ser colocados comandos switch dentro de comandos switch. • Pode ser deixado um case vazio quando mais de uma condição usa o mesmo código.
  • 16. Linguagem C Comandos de controle de loops • Os comandos de controle de loops permitem que o computador repita um conjunto de instruções até que alcance uma certa condição. • Em C temos os seguintes comandos de controle de loop: • for • while • do while
  • 17. Linguagem C for • O loop for em C é muito mais forte e mais flexível que o da maioria das outras linguagens. • Sua forma geral é: for (inicialização; condição; incremento) comando; • Observe que as três partes do loop for são separadas por ponto e vírgula. • Nenhuma destas partes precisa existir. Ao omitir a condição ao do comando for, criamos um laço infinito.
  • 18. Linguagem C Inicialização • Na forma mais simples, inicialização é um comando de atribuição que o compilador usa para estabelecer a variável de controle de loop. •A inicialização pode conter qualquer comando válido em C.
  • 19. Linguagem C Condição • A condição é uma expressão de relação que testa se a condição final desejada pelo loop for ocorreu. • Aqui também pode ser colocado qualquer comando válido em C.
  • 20. Linguagem C Incremento • O incremento define a maneira como a variável de controle do loop será alterada cada vez que o computador repetir o loop. • Também aqui, podemos colocar qualquer comando válido em C.
  • 21. Linguagem C Exemplo 1 /* conta de 1 a 100 – pode ser usado pra retardo de tempo */ main() { int x; for (x = 1; x <= 100; x ++) ; }
  • 22. Linguagem C Exemplo 2 /* conta de 100 a 1 */ main() { int x; for (x = 100; x > 0; x --) ; }
  • 23. Linguagem C Exemplo 3 /* conta de 0 a 100, 5 em 5 */ main() { int x; for (x = 0; x <= 100; x = x + 5) ; }
  • 24. Linguagem C Loop infinito • Podemos fazer um comando for executar para sempre simplesmente não especificando sua parte condicional. Veja: for (;;) { }
  • 25. Linguagem C Saindo de um loop Podemos usar o comando break para encerrar um for a qualquer momento. main() /* O loop será executado 10 vezes */ { int a; for (a = 1; a < 100; a++) if (a == 10) break; }
  • 26. Linguagem C While •O while executa um comando (ou bloco de comandos) enquanto uma condição for verdadeira. A forma geral do while é: while (condição) comando;
  • 27. Linguagem C While Exemplo 1 pausa() { char tecla = ‘0’; printf(“Tecle ESPAÇO para continuar...”); while (tecla != ‘ ’) tecla = getche(); }
  • 28. Linguagem C Exemplo 1 pausa() { char tecla = ‘0’; printf(“Tecle ESPAÇO para continuar...”); while (tecla != ‘ ’) tecla = getche(); }
  • 29. Linguagem C do while •Ao contrário do loop for e do loop while, que testam a condição no começo do loop, o loop do while verifica a condição somente no final. •Desta forma, o loop será executado pelo menos uma vez.
  • 30. Linguagem C do while • A forma geral do loop do while é: do { comando; } while (condição);
  • 31. Linguagem C Um dos usos da estrutura do-while é em menus, nos quais você quer garantir que o valor digitado pelo usuário seja válido, conforme apresentado a seguir:
  • 32. Linguagem C int main () { int i; do { printf ("nnEscolha a fruta pelo numero:nn"); printf ("t(1)...Mamaon"); printf ("t(2)...Abacaxin"); scanf("%d", &i); } while ((i<1)||(i>2)); switch (i) { case 1: printf ("ttVoce escolheu Mamao.n"); break; case 2: printf ("ttVoce escolheu Abacaxi.n"); break; } }
  • 33. Linguagem C Interrupção de loops •Quando precisamos encerrar um loop sem que sua condição de encerramento esteja satisfeita, podemos utilizar o comando break. O break faz com que a execução do programa continue na primeira linha seguinte ao loop ou bloco que está sendo interrompido..
  • 34. Linguagem C O que faz esta rotina? for(t=0; t<100; ++t) { count=1; for(;;) { printf("%d", count); count++; if(count==10) break; } }
  • 35. Linguagem C O que faz esta rotina? for(t=0; t<100; ++t) { count=1; for(;;) /* imprimirá os números de 1 a 10 cem vezes na tela.*/ { printf("%d", count); count++; if(count==10) break; } }
  • 36. Linguagem C Comando continue •O comando continue funciona de maneira parecida com o comando break. •Porém, em vez de forçar o encerramento, continue força a próxima iteração do loop e pula o código que estiver no meio.
  • 37. Linguagem C Exemplo: O que faz o programa? main() { int x; for (x = 0; x < 100; x ++) { if (x % 2) continue; printf(“%d ”, x); } }
  • 38. Linguagem C /* programa para imprimir os números pares entre 0 e 98 */ main() { int x; for (x = 0; x < 100; x ++) { if (x % 2) continue; printf(“%d ”, x); } }
  • 39. Linguagem C O Comando goto •O goto é o último comando de controle de fluxo. Ele pertence a uma classe à parte: a dos comandos de salto incondicional. •O goto realiza um salto para um local especificado. Este local é determinado por um rótulo. Um rótulo, na linguagem C, é uma marca no programa. Você dá o nome que quiser a esta marca.
  • 40. Linguagem C O Comando goto • A forma geral é: nome_do_rótulo: .... goto nome_do_rótulo; ....
  • 41. Linguagem C •O comando goto deve ser utilizado com parcimônia, pois o abuso no seu uso tende a tornar o código confuso. •O goto não é um comando necessário, podendo sempre ser substituído por outras estruturas de controle. •Recomendamos que o goto nunca seja usado.
  • 42. Linguagem C •Existem algumas situações muito específicas onde o comando goto pode tornar um código mais fácil de se entender se ele for bem empregado. •Um caso em que ele pode ser útil é quando temos vários loops e ifs aninhados e se queira, por algum motivo, sair destes loops e ifs todos de uma vez. •Neste caso um goto resolve o problema mais elegantemente que vários breaks, sem contar que os breaks exigiriam muito mais testes. Ou seja, neste caso o goto é mais elegante e mais rápido.
  • 43. • Exercício de Fixação: PRÁTICA: Escrever um programa que conforme as chaves muda a lógica dos 8 leds. LINGUAGEM C