Marcelo L. Oliveira

Enquete

Você concorda com instituições como, por exemplo, a Petrobrás, que discriminam profissionais formados em cursos superiores tecnólogos?



Conexões:

del.ici.us

Linkedin

Plaxo
Twitter

Libertações:

Windows 7 Sins

Validações:

Este site é XHTML 1.0 Transitional válido
Este site é CSS válido


Introdução à Linguagem C - Tutorial I

PDF Versão para impressão Enviar por E-mail

Linguagem CPra começar, um brevíssimo resumo sobre a história da linguagem C:

É uma linguagem procedural, de alto nível e foi criada em 1972, por Dennis Ritchie, no AT&T Bell Labs, com o propósito de desenvolver o Sistema Operacional UNIX(originalmente desenvolvido em Assembly).

Este tutorial, considero de nível básico, uma introdução a linguagem C e tem o objetivo de auxiliar no entendimento prático desta linguagem, que geralmente, é usada já no primeiro período dos cursos superiores de TI.

Este programa, tem o objetivo de converter valores decimais em binários, hexadecimais ou octais, conforme a escolha do usuário. Chamei este programa de "conversor.c".

Segue o código comentado:

Uma observação: usuários Linux não devem e não precisam usar a biblioteca conio.h e sua função getch().

// Adicionando bibliotecas necessárias para este programa
 // stdio.h é responsável pelas funções de entrada e saída de 
// dados: 
// printf e scanf
// conio.h só é necessária para usuários Windows(e só funciona 
// nele), 
// é responsável pela função getch()  
#include <stdio.h> 
#include <conio.h> 
int main() 
{
    int opcao, ent, resto[10], i, cont;
        
    printf("Para converter de Decimal para Binario digite 1\n");
    printf("Para converter de Decimal para Hexadecimal digite
2\n"); 
    printf("Para converter de Decimal para Octal digite 3\n");
    
    scanf("%d",&opcao);
    
    // Este bloco converte de decimal para binário
    switch(opcao)
    {
       case 1:
            i = 0;
            printf("Digite um numero decimal: \n");
            scanf("%d",&ent);
            while(ent >= 1)
            {
           // a variavel resto é um vetor e o % corresponde ao
           // mod       
           resto[i] = ent % 2;       
               ent = ent / 2;
               // aqui eu incremento o contador  
               i++;
                     
            }
            cont = i - 1;
            while(cont >= 0)
            {
               printf("%d",resto[cont]);
               // aqui eu decremento o contador, para mostrar
               // os valores do ultimo para o primeiro 
               cont--;           
            } 
     break;              
     // Este bloco converte de decimal para hexadecimal
     case 2:
            i = 0;
            printf("Digite um numero decimal: \n");
            scanf("%d",&ent);
            while(ent >= 15)
            {
               resto[i] = ent % 16;
               ent = ent / 16;
               i++;          
            }
            resto[i] = ent % 16;
            cont = i;
            while(cont >= 0)
            {
               if(resto[cont] == 10) printf("A");
               else if(resto[cont] == 11) printf("B");
               else if(resto[cont] == 12) printf("C");
               else if(resto[cont] == 13) printf("D");
               else if(resto[cont] == 14) printf("E");
               else if(resto[cont] == 15) printf("F");        
               else printf("%d",resto[cont]);
               cont--;           
            }                      
       break;       
       // Este bloco converte de decimal para octal
       case 3:
            i = 0;
            printf("Digite um numero decimal: \n");
            scanf("%d",&ent);
            while(ent >= 8)
            {
               resto[i] = ent % 8;
               ent = ent / 8;
               i++;          
            }
            resto[i] = ent % 8;
            cont = i;
            while(cont >= 0)
            {
               printf("%d",resto[cont]);
               cont--;           
            }             
      break;
      // Caso o usuario digite um caracter, diferente de 1,
      // 2 e 3
      default:
                printf("Voce digitou uma opcao invalida!!!\n");
      break;             
    } //  Fim do switch
    // Esta funcao pausa a execucao e aguarda uma intervenção 
    // do usuario para sair do programa. Obs.: Só funciona no 
    // Windows
    getch();

    return(0);
}    

Para aprender como compilar arquivos .c no Linux, leia a dica Compilando arquivos .c no Linux.

Críticas, dúvidas ou sugestões, entre em contato.

 

Atualizado em Quinta, 22 Outubro 2009 16:46
 
Copyright © 2010 MarceloWeb. Todos os direitos reservados.
Joomla! é um Software Livre sob licença GNU/GPL.