Mudanças entre as edições de "MCO018703 2018 2 AULA04"
(→if( )) |
(→if( )) |
||
Linha 8: | Linha 8: | ||
==if( )== | ==if( )== | ||
− | É um controle de fluxo usado para selecionar uma ou mais instruções baseado no resultado de um teste de comparação. Todas as instruções entre as chaves { e } são executadas somente se o resultado desse teste for verdadeiro; se não, essas instruções não são executadas. Verdadeiro é qualquer resultado, mesmo negativo, diferente de zero. Falso é um resultado zero. | + | É um controle de fluxo usado para selecionar uma ou mais instruções baseado no resultado de um teste de comparação. Todas as instruções entre as chaves { e } são executadas somente se o resultado desse teste for verdadeiro; se não, essas instruções não são executadas. Verdadeiro é qualquer resultado, mesmo negativo, diferente de zero. Falso é um resultado zero. A Figura 1 mostra o controle de fluxo utilizando os comandos '''if''' e '''if...else'''. |
<syntaxhighlight lang=c> | <syntaxhighlight lang=c> | ||
Linha 18: | Linha 18: | ||
[[imagem:Fig037_MCO018703.jpg|600px|center]] | [[imagem:Fig037_MCO018703.jpg|600px|center]] | ||
<center> | <center> | ||
− | Figura 1 - Controle de Fluxo '''if''' e '''if...else'''. | + | Figura 1 - Controle de Fluxo com os comandos '''if''' e '''if...else'''. |
</center> | </center> | ||
Edição das 16h12min de 14 de agosto de 2018
Objetivos
- Aprender sobre funções para controle de de fluxo;
- Utilizar o comando de decisão if else.
Funções para Controle de Fluxo
if( )
É um controle de fluxo usado para selecionar uma ou mais instruções baseado no resultado de um teste de comparação. Todas as instruções entre as chaves { e } são executadas somente se o resultado desse teste for verdadeiro; se não, essas instruções não são executadas. Verdadeiro é qualquer resultado, mesmo negativo, diferente de zero. Falso é um resultado zero. A Figura 1 mostra o controle de fluxo utilizando os comandos if e if...else.
if (expressão){
bloco de instruções; // se "expressão" for verdadeira, "bloco de instruções" é executado
}
Figura 1 - Controle de Fluxo com os comandos if e if...else.
if( )...else
Ao se acrescentar mais um bloco de instruções no loop do comando if pode-se criar o comando if...else, para fazer um novo teste quando o resultado da expressão for falsa.
if (expressão) {
bloco de instruções1; // se "expressão" for verdadeira, "bloco de instruções1" é executado
}
else {
bloco de instruções2; // se "expressão" for falsa, "bloco de instruções2" é executado
}
if( )...else if( )
E de novo ao se acrescentar agora o comando if...else no loop do comando if pode-se criar mais um outro comando, o if...else if. No exemplo abaixo se "expressão1" for verdadeira o "bloco de instruções1" é executado; se "expressão1" for falsa mas "expressão2" for verdadeira "bloco de instruções2" é executado; e se "expressão1" e "expressão2" forem falsas o "bloco de instruções3" é executado.
if (expressão1) {
bloco de comandos1;
}
else if (expressão2) {
bloco de instruções2;
}
else {
bloco de comandos3;
}
switch...case
É possível ir inserindo comandos if...else na posição do segundo bloco de instruções de outro comando if...else e assim criar uma cadeia de comandos para testar dezenas de expressões até encontrar uma que retorne um resultado verdadeiro e executar um dos blocos de instruções; mas existe um comando próprio que simplifica bastante essa seleção, é o comando switch...case. Esse comando permite comparar uma mesma variável inteira, ou uma expressão que retorne um inteiro, com vários valores possíveis.
- switch..,case
switch (expressão) {
case 1: bloco de instruções1;
break;
case 2: bloco de instruções2;
break;
case 3: bloco de instruções3;
break;
default: bloco de instruções4;
}
Operadores Relacionais e Lógicos
Os operadores relacionais e lógicos são os mesmos vistos na aula anterior.
- Relacionais
Operador | Significado |
---|---|
> | maior que |
>= | maior ou igual que |
< | menor que |
<= | menor ou igual que |
== | igual a |
!= | diferente de |
- Lógicos
Operador | Significado |
---|---|
&& | AND (E) |
|| | OR (OU) |
! | NOT (NÃO) |
Ver Operadores Relacionais e Lógicos