Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Conceitos e exemplos de controle de fluxo em C: if, else, switch, for, while e do-while, Exercícios de Programação em C

Este documento fornece explicações e exemplos sobre instruções de controle de fluxo em c, incluindo if, else, switch, for, while e do-while. Além disso, aborda o uso de break e continue em laços aninhados. Também apresenta exercícios práticos para ajudar a consolidar os conceitos.

Tipologia: Exercícios

2021

Compartilhado em 22/01/2021

nilson-dias
nilson-dias 🇦🇴

5 documentos

1 / 27

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
A C E T A T O S D A S A U L A S T E Ó R I C A S - 2 0 1 1
Programação II
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b

Pré-visualização parcial do texto

Baixe Conceitos e exemplos de controle de fluxo em C: if, else, switch, for, while e do-while e outras Exercícios em PDF para Programação em C, somente na Docsity!

  • Programação IIA C E T A T O S D A S A U L A S T E Ó R I C A S -

Instruções de Controlo de Fluxo^2  Caso não existissem, os programas seriam sempre executados de cimapara baixo e instrução após instrução  Portanto essas instruções provocam o desvio do fluxo normal deexecução de um programa para uma instrução ou bloco de instruçõesbem definida  As instruções de Controlo de Fluxo dividem-se em  Instruções de Selecção  if-else  Switch-case  Instruções de Repetição  for  while  do-while  São instruções cujo^ execução depende UniMETRO/FATEC/LCC-BIF ProgramaçãoII/M.T.Ditutala

de uma^ condição lógica^ (V|F)

Instrução de Selecção IF^4  A acção a tomar depende da condição ser verdadeira oufalsa. if (expressão) Instr_verdade^ ou^ Bloco_instruções_verdade

; else^ Instr_falso^ ou^ Bloco_instruções_falsa UniMETRO/FATEC/LCC-BIF ProgramaçãoII/M.T.Ditutala

; ^ Exemplo:^ if (saldo >= 1000000,00)printf (“\nVoce é Milhonario”);elseprintf (“\nEstude. Hás de lá chegar!!”);

Instrução de Selecção IF^5  Várias acções a realizar dependendo também de várias condiçãoque são mutuamente exclusivas –^ IF Encadeados.  Neste caso apenas uma das declarações será executada.Encontrada a expressão verdadeira as demais já não sãotestadas. if (expressão1) Instr_verdade1^ ou^ Bloco_instruções_verdade

; Instr_verdade1^ ou UniMETRO/FATEC/LCC-BIF ProgramaçãoII/M.T.Ditutala Bloco_instruções_verdade

; else if(expressão2)^ Instr_falso2^ ou^ Bloco_instruções_falsa

; else if(expressão3)^ Instr_falso3^ ou^ Bloco_instruções_falsa

; else^ Instr_falsaN^ ou^ Bloco_instruções_falsaN

;

Instrução de Selecção IF^7  Os IF aninhados, na falta de atenção, levam à muitoserros de execução.  Em caso de existência de um else em IF aninhadossurge a questão, à qual dos if o^ else está associado? O C resolve isso associando um^ else

ao^ if^ mais próximo ^ O C resolve isso associando um^ UniMETRO/FATEC/LCC-BIF ProgramaçãoII/M.T.Ditutala

else^ ao^ if^ mais próximo dele.  Para romper essa regra basta usar parêntesis paramelhor delimitar as fronteiras.

Instrução Condicional Ternária ‘?’^8  Em certas situações a instrução if (expressão)^ Instr_verdade^ ou^

Bloco_instruções_verdade

; else^ Instr_falso^ ou^ Bloco_instruções_falsa UniMETRO/FATEC/LCC-BIF ProgramaçãoII/M.T.Ditutala

; ^ Pode ser simplificada usando o operador Condicionalternário^ ‘?’^ da seguinte forma:^ expressão^?^ instrução_verdadeira

:^ instrução_falsa

Instrução de Selecção SWITCH^10  Para situação de^ decisão múltipla, com base no

condição de igualdade^ usa- se a instrução^ switch-case^ em detrimento do if-else-if  Na declaração^ switch,^ a^ variável

é sucessivamente testada contra uma lista de inteiros (int) ou constantes caractere (

char). ^ Quando uma associação é encontrada, o conjunto de comandos associado aquele^ case^ são executados^ A forma geral da declaração^ switch é: ^ A forma geral da declaração^ switch é:^ switch (variável){ case^ const1:^ instrução1_Bloco1;^ break;case^ const2:^ instrução1_Bloco2;^ break;default:^ instrução_Bloco_Default;^ } ^ Notar que a instrução ou bloco default será executada apenas senenhum dos case for verificado^ UniMETRO/FATEC/LCC-BIF ProgramaçãoII/M.T.Ditutala

Diferenças entre if-else e switch-case

11 ^ Há três coisas importantes a saber sobre adeclaração^ switch: ^ O^ switch^ testa somente

igualdades ^ if^ testa^ qualquer^ expressão

condicional ^ Duas constantes^ case no mesmo switch UniMETRO/FATEC/LCC-BIF ProgramaçãoII/M.T.Ditutala

podem ter^ valores iguais.  Uma declaração^ switch é mais eficiente

que um encadeamento^ if-else-if.

SWITCH Aninhados^13  Podemos ter uma instrução switch dependente de um case de umaoutra instrução switch.  Diz-se neste caso que os switches estão aninhados  Os cases dos switch interno e externo podem ter os mesmos valores.Isto não cria conflito (erro) switch(x){ case 1: switch(y){ case 1: switch(y){ case 0: printf (“erro de divisão por zero”);break; case 1:^ process (x, y);} break;case 2: …..} UniMETRO/FATEC/LCC-BIF ProgramaçãoII/M.T.Ditutala

Instrução switch - Exercício^14  Escreva um programa que pede para o usuário entrarum número correspondente a um dia da semana eque então apresente na tela o nome do dia.utilizando o comando switch. UniMETRO/FATEC/LCC-BIF ProgramaçãoII/M.T.Ditutala

Ciclo for^16

^ A forma geral do ciclo for é:^ for^ (inicialização;^ condição

;^ actualização){ instruções; }  Em geral, a^ inicialização^ é um comando de

atribuição^ usado para inicializar a variável de controle do ciclo. para inicializar a variável de controle do ciclo.  A^ condição^ é usualmente uma UniMETRO/FATEC/LCC-BIF ProgramaçãoII/M.T.Ditutala

expressão relacional^ que determina quando o laço terminará pelo teste da variável decontrole do laço contra algum valor.  A actualização pode ser um

incremento^ ou^ decremento

da variável de controlo, em cada iteração.  Estas três maiores divisões devem ser separadas por ponto-e-vírgula ‘;’

Ciclo for^17

^ De modo geral quando se fala de ciclo for pensa-se logo noincremento ou decremento da variável de controlo. Mas isso não éa única forma de manipular essa variável. ^ A actualização do valor da variável de controlo pode fazer-se dequalquer outra forma ^ No ciclo^ for^ o^ teste^ condicional é

sempre^ realizado no ^ No ciclo^ for^ o^ teste^ condicional é^ UniMETRO/FATEC/LCC-BIF ProgramaçãoII/M.T.Ditutala

sempre^ realizado no início do laço. Isso significa que o código dentro do ciclo podenunca ser executado se a condição for falsa logo de início^ x = 10;for (y = 10; y != x; y=y+5){printf (“%d “, y);} printf (“%d”, y);

Ciclo for – Casos Notáveis^19  Exemplos:^ for ( ; ; ){^ Duas Variáveis^ int x, y;printf (“Mensagem”); for (x = 0, y = 0; x + y < 100; x++,} y++){^ for (t = 0; t < ALGUM VALOR; t++); printf (“%d”, x + y); }

Ciclo Infinito } for (prompt(); t =^ readnum();prompt()) {sqrnum(t);^ Condição } for (x = 0; x!= 10; )^ scanf (“%d”, &x);^ Omissão de parte^ UniMETRO/FATEC/LCC-BIF ProgramaçãoII/M.T.Ditutala

for Vazio

Ciclo for - Exerecícios^20 UniMETRO/FATEC/LCC-BIF ProgramaçãoII/M.T.Ditutala