CURSO INTRODUTÓRIO AO C

                  
CAPITULO 2

Neste Capitulo vamos aprender operadores lógicos, incremento e decremento continuação de estruturas de controle(while, do-while e for).


Operadores lógicos
Até agora examinamos condições que uma um único critério seja seguido, as vezes precisamos que varias condições sejam satisfeitas.
C usa três operadores logicos and, or e not siga a tabela abaixo:

Operador-----significado
&&------------- e          
|---------------ou
! --------------não

O programa seguinte utiliza  &&:

#include
main()
{
  int a = 10 , b = 7, c = 3;
    
     if ((a>b) && (b>3))
         printf("a e maior do que b e b maior que c");
}


As condições são delimitadas entre parênteses if ((expressão 1) operador (expressão 2))
C permite um operador matemático(+ * - /) preceder o operador de atribuição (=) ex:

Abreviação---Equivalente
a+=1--------- a = a + 1
a-=2---------- a = a - 2
a*=3---------- a = a * 3
a /=6--------- a = a / 6

O programa seguinte utiliza  :

#include
main()
{
  int a = 10 , b = 7, c = 3;
    
     if ((a>b) “ (b>3))
         printf("a e maior do que b ou b maior que c");
}



Operadores de incremento e decremento
Em muitos programas voce precisa incrementar variáveis em 1:
variável = variável + 1  ou  variável = variável - 1
Esses operadores vão adicionando ou subtraindo 1 em sua variável, ex:


#include
main()
{
  int count = 1;

  printf("%d", count++);        
}      



Estruturas de controle (continuação) comando while
while (enquanto em português) examina uma condição especifica enquanto a condição for verdadeira ela continuara sendo executada repetidamente se for falsa o compilador passará para o comando primeiro comando que a segue.
Um exemplo do uso de while:

#include
main()
{
  int count = 1;
  
while (count <= 50);
       {
          printf("count menor ou igual a 50");
        }
}    


Comando do-while
Ao contrario de while que testa uma condição e depois executam alguma coisa, do-while (fazer-enquanto em português) executa um comando e depois testa a condição. Vejamos :

#include
main()
{
  int count = 1;
  
do      
          printf("count e igual a %d
", count++);

while (count <= 3);
}


Observe bem que no comando do-while o while recebe ponto e virgula

Comando for
O comando for permite que voce inicialize, teste e modifique variáveis ex:


#include
main()
{
  int count = 1;
  
for (count <= 1; count < 100; count++)    /*1 inicialização de count*/
       {                                        / *2 teste de count*/
          printf("%d", count);          /*3 modificação de count*/
        }
}    


Este programa inicializa dizendo que count é maior que um, depois fala que count  é menor que 100 e por fim incrementa 1 até chegar a 100. Em Resumo ele atribui a count valores de 1 a 100.


Comado break
O comando break encerra uma repetição e continua no primeiro comando que a segue. Geralmente programas em C não precisam de usar break o comum é usarmos break no comando switch


Comando switch
este comando testa vários casos (case) se for verdadeira executa tudo entre parênteses ex:

#include
main()
{
   char alfabeto;

        for(alfabeto = ‘a’; alfabeto <= ‘z’; alfabeto++)
            switch (alfabeto)
                    {
                          case ‘a’ : printf("%c", alfabeto);  
                          case ‘e’ : printf("%c", alfabeto);  
                          case ‘i’ : printf("%c", alfabeto);  
                          case ‘o’ : printf("%c", alfabeto);  
                          case ‘u’ : printf("%c", alfabeto);  
                    }
}
  
Sua tela mostrará:

aaaaaeeeeiiioou

Aconteceu isto porque não utilizamos o break então ele repete o ‘a’ nos cinco "case" o ‘e’ nos quatro o ‘i’ nos três, e assim por diante. Em switch para colocar qual variável queremos testar usa-se "( )" parênteses
Atenção: para se manipular valores que contem letras usa-se ‘ ’ (apóstrofo) não se esqueçam!. O apóstrofo do case já é obrigatório e não depende de letras ou números

Agora utilizando break:

#include
main()
{
   char alfabeto;

        for(alfabeto = ‘a’; alfabeto <= ‘z’; alfabeto++)
            switch (alfabeto)
                    {
                          case ‘a’ : printf("%c", alfabeto);  
                                break;
                          case ‘e’ : printf("%c", alfabeto);  
                                break;
                          case ‘i’ : printf("%c", alfabeto);  
                                break;
                          case ‘o’ : printf("%c", alfabeto);  
                                break;
                          case ‘u’ : printf("%c", alfabeto);  
                                break;

                    }
}