Curso de C - Capitulo 3

Entrada e saida de dados - Estruturas de Controde ( parte 3)

Por | @oficinadanet Programação
CURSO INTRODUTORIO AO C


CAPITULO 3
Neste Capitulo vamos entender entrada e saída de dados ES repetições aninhadas e o comando goto.


Definição de ES
Entende-se por ES entrada e saída de dados, vou explicar melhor quando você diz a              printf para escrever algo na tela você esta efetuando um saída de dados você esta "jogando" para fora, ate agora só aprendemos a saída de dados, entrada de dados é quando o usuário de "dar" dado daí o nome: entrada de dados.


Comando scanf
scanf é a função mais usada em termos de es e portanto merece ser explicada  detalhadamente:


#include
main()
{
    int num1;

    printf("Digite um valor inteiro e tecle entert");   /*saida de dados*/
    scanf("%d", &num1);                                       /*entrada de dados*/
    printf("nnO numero digitado foi %d", num1);   /*saida de dados*/
}


Analisando: scanf é parecido com printf.
"%d" aqui se coloca o especificador de formato se fosse um caractere seria %c
&num1esta parte atribui o valor a variável num1 NAO SE ESQUEÇA DE COLOCAR  "&" ANTES DA VARIAVEL;

C também permite trabalhar com duas variáveis ex:


#include
main()
{
    int num1, num2, result;

    printf("Digite dois valores inteiros para somar e tecle entern");  

    printf("Primeiro:t");                   /*Primeiro numero*/
    scanf("%d", &num1);                  

    printf("Segundo:t");                   /*Segundo numero*/
    scanf("%d", &num2);        

    result = num1 + num2;                    /*Operação*/
    printf("nnResultado: %d", result);
}


Agora faremos uma calculadora bem simples, PROCURE ENTENDER TODO O PROGRAMA, SE NAO ENTENDER RELEIA OS CAPITULOS ANTERIORES:


#include
main()
{
   int entrada, num1, num2, result;

   printf("Digite 1 para somar 2 p subtrair 3 dividir e 4  multiplicar ");  
   scanf("%d", &entrada);                  

  if (entrada == 1)
       {
             printf("Digite o primeiro numero: ");
             scanf("%d", &num1);
             printf("Digite o segundo numero: ");
             scanf("%d", &num2);
             printf("Resultado: %d ", num1+num2 );
        }

else if (entrada == 2)
       {
             printf("Digite o primeiro numero: ");
             scanf("%d", &num1);
             printf("Digite o segundo numero: ");
             scanf("%d", &num2);
             printf("Resultado: %d ", num1-num2 );
        }

else if (entrada == 3)
       {
             printf("Digite o primeiro numero: ");
             scanf("%d", &num1);
             printf("Digite o segundo numero: ");
             scanf("%d", &num2);
             printf("Resultado: %d ", num1/num2 );
        }
else if (entrada == 4)
       {
             printf("Digite o primeiro numero: ");
             scanf("%d", &num1);
             printf("Digite o segundo numero: ");
             scanf("%d", &num2);
             printf("Resultado: %d ", num1*num2 );
        }
}


Neste programa utilizamos switch para simplificarmos o programa e deixá-lo mais interativo de forma que o usuário possa escrever a sua própria operação:ENTENDA ESTE TAMBEM


#include
main()
{
    int num1, num2;
    char operador;

    printf("Digite uma operação como 7+5 com qualquer operadorn");  
    scanf("%d %c %d", &num1, &operador, &num2);

    switch(operador)
         {
             case'+' : printf("Resultado e %d", num1 + num2);
             break;      
             case'-' : printf("Resultado e %d", num1 - num2);
             break;  
             case'*' : printf("Resultado e %d", num1 * num2);
             break;
             case'/' : printf("Resultado e %d", num1 / num2);  
             break;
             default : printf("Operador invalido");
             break;
}
}


Você deve ter percebido o funcionamento deste programa mas irei explicá-lo:

linha 8:coloquei para a variável num1 receber o primeiro valor um inteiro,
a variável operador declarei-a como caractere para os operadores +-*/ e a variável num2 para receber o segundo valor inteiro
linha 10 a 21: vários testes para verificar os operadores e fazer as operações

Comando goto
Este comando(em português "ir á") fala ao compilador onde ele deve continuar a leitura ex:

#include
main()
{
   char count = 'a';        
            
           if (count<='z')
                goto mostrar;

     mostrar:
            printf("%cn", count);
}      



Operador condicional
C fornece um operador para testar condições sejam falsas ou verdadeiras
elas tem o seguinte formato:

(expressão) ? expressão verdadeira : expressão falsa;

se a expressão(a que está dentro dos parênteses) for verdadeira o compilador irá executar a "expressão verdadeira" se for falsa a "expressão falsa"


#include
main()
{
   int count_1, count_2, a = 10, b = 20;
                    
          count_1 = (a>b) ? printf("10>20n") : printf("n20>10n");
          count_1 = (b>a) ? printf("n20>10n") : printf("n10>20n");
}

Explicando: se (a>b) for verdadeiro ele executará o primeiro comando se for falso o segundo comando. então terá que aparecer o seguinte:
20>10

20>10


Repetições aninhadas
São repetições que acontecem dentro de outras repetições ex:
Este programa exibe o alfabeto 5 vezes:

#include
main()
{
   int count;
   char alfabeto;
             for(count = 1; count <= 5; count++)
                {  
                      for (alfabeto = 'A'; alfabeto <= 'Z'; alfabeto++)
                         printf("%c", alfabeto);
                         printf("n");
                         }
}

Mais sobre:
Share Tweet
Recomendado
Comentários
Carregar comentários
Destaquesver tudo

Siga nossas contas no Twitter