Escolar Documentos
Profissional Documentos
Cultura Documentos
Seleção em C
Disciplina: Linguagem de Programação
Prof. : Marlon Mendes Minussi
E-mail: marlonminussi@ifsul.edu.br
Conceitos
Os programas pareciam
uma calculadora!!
19/03/2019 marlonminussi@ifsul.edu.br 2
Conceitos
• Estruturas de Seleção
• Trata-se de uma estrutura de controle de fluxo, executando
um ou vários comandos se a condição testada for
verdadeira e, em alguns casos, executando um ou vários
comandos se for falsa.
inicio main()
Ler N1, N2 {
float n1, n2, media;
media = (N1+N2)/2
media >= 6 printf("Informe N1:");
scanf("%f", &n1);
V F
printf("Informe N2:");
Escrever Escrever scanf("%f", &n2);
“Aprovado” “Reprovado” media = (n1 + n2) / 2;
if(media >= 6)
fim printf("Aprovado!\n");
else
printf("Reprovado!\n");
getch();
19/03/2019 marlonminussi@ifsul.edu.br
} 5
Estrutura de Seleção em C
• Verdadeiro e Falso em C
– No C, um valor verdadeiro é qualquer valor
diferente de zero, incluindo valores negativos.
– Um valor falso é 0.
• Comandos de Seleção:
– O C suporta dois tipos de comandos de seleção:
if e switch.
19/03/2019 marlonminussi@ifsul.edu.br 6
Estrutura de Seleção em C
if
- A forma geral da sentença if é:
if (expressão)
{ Início do bloco de comandos
<bloco de comandos>
} Fim do bloco de comandos
Opcional else
{
<bloco de comandos>
}
main()
?
{
int numero;
printf("Digite um numero");
scanf("%d", &numero);
if (numero > 20) Onde estão os
printf("numero maior que 20 \n"); delimitadores de Bloco?
getch();
}
19/03/2019 marlonminussi@ifsul.edu.br 8
Estrutura de Seleção em C
Blocos
#include <stdio.h>
#include <stdio.h> #include <conio.h>
#include <conio.h>
main()
main() {
{ int numero;
int numero; printf("Digite um numero");
printf("Digite um numero"); scanf("%d", &numero);
scanf("%d", &numero);
if(numero > 20)
if(numero > 20) {
printf("numero maior que 20 \n"); printf("numero maior que 20 \n");
}
getch();
getch();
}
}
O resultado é o mesmo?
19/03/2019 marlonminussi@ifsul.edu.br
SIM!!! 9
Estrutura de Seleção em C
Blocos
#include <stdio.h>
#include <stdio.h>
#include <conio.h>
#include <conio.h>
main()
main()
{
{
int numero;
int numero;
printf("Digite um numero");
printf("Digite um numero");
scanf("%d", &numero);
scanf("%d", &numero);
O resultado é o mesmo?
19/03/2019 marlonminussi@ifsul.edu.br Não!!! 10
Estrutura de Seleção em C
A regra é clara!
19/03/2019 marlonminussi@ifsul.edu.br 11
Estrutura de Seleção em C
• DICA
• SEMPRE UTILIZAR OS DELIMITADORES DE BLOCO,
EVITANDO COMPORTAMENTOS INDESEJADOS!!!
19/03/2019 marlonminussi@ifsul.edu.br 12
Estrutura de Seleção em C
Exemplo: Verificar se um número é ou NÃO maior que 20
#include <stdio.h>
#include <conio.h>
?
main()
{
int numero;
printf("Digite um numero");
scanf("%d", &numero);
if(numero > 20)
{
printf("numero maior que 20 \n"); O que será impresso na tela
} se o número informado for
else
{
igual a 20?
printf("numero não e maior que 20 \n");
}
getch();
}
19/03/2019 marlonminussi@ifsul.edu.br 13
Estrutura de Seleção em C
Exercícios de fixação
1. Escreva um programa em C, para ler um número inteiro e imprimir se ele é
positivo, negativo ou nulo.
2. Escreva um programa em C, para ler um número inteiro e imprimir a raiz
quadrada do número se ele for positivo e quadrado do número, se ele for
negativo.
3. Escreva um programa em C, para ler um número inteiro e imprimir se este
número é par ou ímpar.
4. Escreva um programa em C, para ler dois número inteiros e efetue a adição; caso
o resultado seja maior que 10, imprimir a soma na tela.
5. Escreva um programa em C, para ler um número inteiro e informar se este
número é divisível por 3 e por 7.
6. Escreva um programa em C, para ler um valor inteiro e informar se este número
está compreendido entre 20 e 90.
19/03/2019 marlonminussi@ifsul.edu.br 14
Estrutura de Seleção em C
• if´s aninhados
Um if aninhado, é um if dentro de outro if ou else.
Este tipo de construção é muito comum em
programação, pois se caracteriza de grande utilidade na
solução de determinados problemas.
Exercício de fixação:
19/03/2019 marlonminussi@ifsul.edu.br 17
DESAFIO:
• A Escada if-else-if
19/03/2019 marlonminussi@ifsul.edu.br 20
Estrutura de Seleção em C
• switch:
O C possui um comando interno de seleção múltipla, switch, que testa
sucessivamente o valor de uma expressão contra uma lista de constantes.
Quando o valor coincide, os comando associados àquela constante serão
executados. A forma geral deste comando é:
switch(expressão)
{
case constante1:
seqüência de comandos
break;
case constante2:
seqüência de comandos
break;
…
default:
seqüência de comandos
}
19/03/2019 marlonminussi@ifsul.edu.br 21
Estrutura de Seleção em C
• switch:
- O valor da expressão é testado, na ordem em que aparece, contra os
valores das constantes verificadas nos comandos case. Quando
uma coincidência é encontrada, a sequência de comandos
associados àquele case será executada até que o comando break
ou o fim do comando switch seja alcançado.
- O default é opcional e, se NÃO estiver presente, nenhuma ação será
realizada, caso todos os testes com os case’s falhem.
- O comando break é um dos comandos de desvio em C. Quando um
break é encontrado em um switch, a execução do programa
“salta” para a linha de código seguinte ao comando switch.
19/03/2019 marlonminussi@ifsul.edu.br 22
Estrutura de Seleção em C
• switch:
Existem três itens importantes a saber sobre o comando switch:
- O comando switch difere do comando if porque switch só pode
testar igualdade, enquanto que o if pode avaliar uma expressão
lógica ou relacional.
- Duas constantes case no mesmo switch não podem ter valores
idênticos. Obviamente, um comando switch incluído em outro
switch mais externo pode ter as mesmas constantes case.
- Se constantes de caracter são usadas em um comando switch,
elas são automaticamente convertidas para seus valores inteiros.
19/03/2019 marlonminussi@ifsul.edu.br 23
Estrutura de Seleção em C
• switch:
- Tecnicamente, os comandos break, dentro do switch, são
opcionais. Se o comando break é omitido, a execução continua
pelo próximos comandos case até que um break, ou o fim do
switch, seja encontrado.
19/03/2019 marlonminussi@ifsul.edu.br 24
#include<locale.h>
main ()
{
setlocale(LC_ALL,"Portuguese");
int x;
printf ("Você gosta de programar???\n");
printf ("Digite 1 para 'SIM'\n");
printf ("Digite 2 para '+' OR '-' \n");
printf ("Digite outro número para 'NÃO'\n");
scanf ("%d", &x);
switch(x)
{
Exemplo:
case 1:
printf ("LEGAL! Você gosta de programar!!!\n");
break;
case 2:
printf ("HUMMMM!Então vamos estudar mais!!!\n");
break;
default:
printf("\nAAHHH! Que pena!!!");
}
printf("\nFIM do programa!!!");
}
Estrutura de Seleção em C
• switch
switch-exemplo1.c
switch-exemplo2.c
19/03/2019 marlonminussi@ifsul.edu.br 26