Beruflich Dokumente
Kultur Dokumente
Aula 04 - Comandos
condicionais simples e
compostos(if-else)/switch
Prof. Msc. Acauan C. Ribeiro
Estruturas de Controle
● Estruturas Condicionais ou de Seleção (Decisão)
○ Simples
○ Composta
○ Múltipla escolha
Ex.: if, if-else, switch, operador condicional
● Estruturas de Repetição
○ Por condição no início
○ Por condição no fim
○ Por contagem
Ex.: while, do while, for
2
Estrutura Condicional ou de Seleção
3
Estrutura Condicional Simples
Comando if
Na linguagem C, a estrutura condicional simples possui a
seguinte sintaxe:
if (<expressão>) {
<comandos>
}
4
Estrutura Condicional Simples
Comando if
Exmeplo:
5
Estrutura Condicional Simples
6
Estrutura Condicional Composta
Comando if-else
Na linguagem C, a estrutura condicional composta possui a
seguinte sintaxe:
if (<expressão>) {
<comandos>
}
else {
<comandos>
}
7
Exercício 4.1 - Em sala (1º jogo)
Implemente um programa em c gere um número aleatório.
Faça o usuário entrar com um número. Se o número
digitado for igual ao número gerado aleatoriamente mostre
a mensagem “Certo!”, se não mostre a mensagem
“Errado!”.
Ao final mostre qual o número aleatório gerado.
OBS: O programa deve gerar a cada execução um número
aleatório diferente.
8
Estrutura Condicional Composta
Quando temos estruturas condicionais presentes em blocos
de comandos de outras estruturas condicionais, chamamos
de estruturas aninhadas ou encadeadas:
if (<expressão>) {
if (<expressão>) {
Comando <comandos1>
}
if-else else {
<comandos2>
}
} else {
if (<expressão>) {
<comandos3>
} else {
<comandos4>
}
} 9
Estrutura Condicional Composta
Ambigüidade: na falta de chaves, a linguagem C associa o
else sempre ao último if.
Portanto, para que a construção funcione como desejado,
pode-se resolver o problema usando bloco.
Comando
if-else
10
Exercício 4.2 - Em sala
1. Receba dois números e mostre qual deles é o maior.
Exp1 é avaliada:
12
Operador Condicional: ?
Equivale ao seguinte código if-else:
13
Operador Condicional: ?
Exemplo:
#include <stdio.h>
main (void){
int num1, num2, maior;
printf("Informe dois numeros:");
scanf ("%d %d", &num1, &num2);
maior = (num1>num2) ? num1: num2;
printf("O maior numero é: %d\n", maior);
}
14
Operador Condicional: ?
#include <stdio.h>
#include <stdlib.h>
int main() {
int abs,x;
printf("Informe um numero:\n");
scanf ("%d", &x);
printf("Este numero eh %s\n", (x%2)? "Impar" : "Par");
printf("A absoluto desde numero eh: %d\n",(x>0)?x:-x);
return 0;
}
15
Exercício 4.3 - Em sala
Faço os seguintes algoritmos utilizando o operador ternário
16
Estrutura condicional de Múltipla Escolha
Comando switch-case
Instrução de seleção de múltipla escolha CASE na
linguagem C:
switch (<expressão_ou_valor>) {
case Constante1:
<comandos1>
break;
case Constante2:
<comandos2>
break;
…
default:
<comandosN>
}
17
Estrutura condicional de Múltipla Escolha
Comando switch-case
Funcionamento do comando switch:
18
Comando switch-case
#include <stdio.h>
int main() {
float num1, num2;
char operador;
printf("Informe uma expressão no formato: num1 operador num2\n");
scanf ("%f %c %f", &num1, &operador,&num2);
switch (operador) {
case '+':
printf("Resultado: %f\n",num1+num2); break;
case '-':
printf("Resultado: %f\n",num1-num2); break;
case '*':
printf("Resultado: %f\n",num1*num2); break;
case '/':
printf("Resultado: %f\n",num1/num2); break;
default:
printf("\nO operador: %c é desconhecido\n");
}
}
19
Exercício 4.4
1)Os funcionários de uma empresa receberam um aumento
de salário:
● Técnicos: 50%
● Gerentes: 30%
● Demais: 20%
Escrever um programa que receba como entrada o salário
atual e o cargo do funcionário, e apresente o novo salário
após o aumento. Dica: faça um menu;