Comandos de Selecao (A02)

12
Comandos de Seleção

description

comandos e seleção

Transcript of Comandos de Selecao (A02)

  • Comandos de Seleo

  • Verdadeiro e Falso

    Muitos comandos em C contam com um teste condicional

    Uma expresso condicional chega a um valor verdadeiro ou falso

    Em C, verdadeiro qualquer valor diferente de zero Falso zero.

  • Operadores relacionais e lgicos

    Relacional refere-se s relaes entre valores

    Lgico refere-se s maneiras que essas relaes podem ser conectadas

    As expresses que usam operadores relacionais ou lgicos devolvem zero para falso e 1 para verdadeiro

  • Operadores relacionais e lgicosOperadores relacionais:

    Operador Ao > Maior que >= Maior ou igual que < Menor que

  • Operadores relacionais e lgicos

    Precedncia de operadores lgicos e relacionais:maior !

    > >= < 1 + 12 o mesmo que 10 > ( 1 + 12), e o resultado falso

    Outros exemplos (exemplo a02a):10 > 5 && ! ( 10 < 9) || 3

  • Comandos de controle do programa (de seleo)

    Os comandos de controle do programa especificam a ordem na qual as instrues so executadas

    Tais comandos dividem-se nos seguintes grupos: de seleo, de iterao e de desvio

    Comandos de seleo: so o if e o switch

  • Comando if

    Forma geral:if ( < expressao > )

    < comando > ;[ else

    < comando > ] ; < ... > - cdigo a ser fornecido; [ ... ] - cdigo opcional

    comando pode ser o comando vazio (apenas um ;), um nico comando (sem necessidade de {}) ou um bloco de comandos (delimitado por {})

    A clusula else opcional Exemplo a02b

  • Comando if

    Ifs aninhados (exemplo a02c): if ( < expressao > ) {

    if ( < expressao > ) < comando >;if ( < expressao > ) < comando >;else < comando >;

    } else < comando >;

    If-else-if (exemplo a02d) O operador ? pode ser utilizado para substituir

    comandos if-else, desde que os corpos de if e elsesejam uma expresso simples (exemplo a02e):

    < exp1 > ? < exp2 > : < exp3 > ;

  • Expresso condicional

    Em C, pode-se utilizar qualquer expresso vlida para controlar o if ou o operador ?

    No se fica restrito a expresses envolvendo os operadores relacionais e lgicos

    O programa precisa simplesmente chegar a um valor zero ou diferente de zero

    if ( b) printf ( "E diferente de 0!!!\n");

    o mesmo que:if ( b != 0) printf ( "E diferente de 0!!!\n");

  • Comando switch

    switch um comando de C para selees mltiplas

    Ele testa, sucessivamente, o valor de uma expresso contra uma lista de constantes inteiras ou de caractere

    Quando o valor coincide, os comandos associados quela constante so executados

    A forma geral :

  • Comando switchswitch ( < expressao > ) {

    case < constante1 >:< comandos > ;[ break;]

    case < constante2 >:< comandos >;[ break;]

    .

    .default:

    < comandos >;}

    Exemplos a02f e a02g

  • Entrada de Dados - exemplos

    Exemplo a02h

    Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12