Baixe em PDF
Baixe em PDF
A C é uma das mais antigas linguagens de programação. Ela foi desenvolvida nos anos 70, mas ainda é muito poderosa devido ao seu baixo nível. Aprender a programar em C é uma ótima forma de introdução à linguagens mais complexas, e o conhecimento que você vai ganhar é útil para quase todas as linguagens de programação. Para aprender a começar a programar em C, veja o passo 1 abaixo.
Passos
-
Baixe e instale um compilador. Um código em C precisa ser compilado por um programa que traduz os códigos em sinais que a máquina possa entender. Os compiladores geralmente são gratuitos e existem diferentes versões deles para cada sistema operacional.
- Para o Windows, teste o Microsoft Visual Studio Express ou o MinGW.
- Para Mac, o XCode é um dos melhores compiladores de C.
- Para o Linux, o GNU é uma das opções mais utilizadas.
-
Entenda o básico. A C é uma das linguagens de programação mais antigas, mas pode ser muito poderosa. Ela foi projetada para sistemas operacionais baseados em Unix, mas foi portada e expandida para quase todos os sistemas. A versão moderna do C é o C++.
- O C é essencialmente composto de funções, que podem usar variáveis, condicionais e laços para salvar e manipular dados.
-
Veja alguns códigos simples. Veja um programa bem simples abaixo para ter uma boa ideia sobre como vários aspectos da linguagem funcionam juntos e entender o funcionamento de softwares.
#include <stdio.h> int main () { printf ( "Hello, World! \n " ); getchar (); return 0 ; }
- O comando #include vem antes do início do programa. Ele carrega as bibliotecas que contêm as funções das quais você vai precisar. Nesse exemplo, a stdio.h nos permite usar as funções printf() e getchar() .
- O comando int main() diz ao compilador que o programa tem uma função chamada "main" e que ela vai retornar um inteiro ao terminar. Todos os programas em C precisam de uma função "main".
- O { } indica que tudo dentro deles é parte da função. Nesse caso, eles denotam que dentro deles está a função "main"
- A função printf() mostra o conteúdo dos parênteses na tela do usuário. As aspas garantem que a string será mostrada exatamente como está. O \n diz ao compilador para pular uma linha.
- O ; denota o fim de uma linha. A maioria das linhas em C termina com um ponto e vírgula.
- O comando getchar() diz ao compilador para esperar que o usuário pressione um botão antes de continuar. Isso é muito útil pois muitos compiladores vão executar o programa e então fechar a janela imediatamente. Esse comando evita que a janela feche até que um botão seja pressionado.
- O comando return 0 indica o fim de uma função. Perceba que a função "main" é do tipo int . Isso significa que ela vai precisar de um inteiro para retornar quando o programa acabar. Um "0" indica que o programa terminou sem erros; qualquer outro número representa problemas.
-
Tente compilar o programa. Coloque o código em um editor e salve-o como um arquivo "*.c". Compile-o no seu computador, geralmente clicando no botão "Build" ou "Run".
-
Sempre deixe comentários no código. Os comentários são uma parte do código que não é compilada, mas permite que você explique o que está ocorrendo. Isso é útil para lembrar a você e a outros desenvolvedores da função daquela parte do código.
- Para comentar em C, digite /* no início do comentário e */ no final.
- Comente em todas as partes do código, exceto as básicas.
- Os comentários podem ser usados para remover rapidamente uma parte do código sem deletá-la. Simplesmente coloque o código entre os símbolos de /* e */ e compile. Caso queira o código de volta, basta remover os símbolos.
Publicidade
-
Entenda a função das variáveis. Elas permitem que você guarde dados, seja de cálculos do programa ou dados digitados pelo usuário. Elas precisam ser definidas antes de serem usadas e existem vários tipos delas.
- Alguns dos mais comuns são int , char e float . Cada uma guarda um tipo de dado diferente.
-
Aprenda a declarar variáveis. As variáveis precisam ser estabelecidas, ou "declaradas", antes de serem usadas pelo programa. Você as declara digitando o tipo de dado seguido pelo nome da variável. Seguem alguns exemplos possíveis de declaração:
float x ; char nome ; int a , b , c , d ;
- Perceba que é possível declarar várias variáveis na mesma linha, desde que elas sejam do mesmo tipo. Simplesmente separe-as com vírgulas.
- Como várias outras linhas do C, cada declaração precisa terminar com um ponto e vírgula.
-
Saiba onde declarar variáveis. Elas precisam ser declaradas no começo de cada bloco de código (um bloco de código é fechado por colchetes). Se você tentar declarar uma variável mais tarde dentro do bloco, o programa não vai funcionar corretamente.
-
Use as variáveis para guardar entradas de dados do usuário. Agora que já sabe o básico sobre como elas funcionam, você pode criar um programa simples que vai gravar a entrada do usuário em uma variável. Será necessário usar uma outra função da linguagem, chamada scanf , que lê o que foi digitado pelo usuário.
#include <stdio.h> int main () { int x ; printf ( "Digite um número: " ); scanf ( "%d" , & x ); printf ( "Você digitou %d" , x ); getchar (); return 0 ; }
- O "%d" string diz ao scanf para procurar por inteiros na entrada do usuário.
- O & antes da variável x diz ao scanf onde encontrar a variável para que seja possível mudá-la, guardando o inteiro nela.
- Por último, o comando printf exibe o inteiro lido na tela do usuário.
-
Manipule as variáveis. Você pode usar expressões matemáticas para manipular dados gravados em variáveis. A principal diferença entre operadores matemáticos que deve ser lembrada é que o = atribui um valor à variável enquanto o == compara os valores em ambos os lados para saber se eles são iguais.
x = 3 * 4 ; /* atribuí 3 * 4 (12) ao "x" */ x = x + 3 ; /* soma 3 ao valor original de "x" e atribuí o novo valor à variável */ x == 15 ; /* verifica se o "x" é igual a 15 */ x < 10 ; /* verifica se o valor de "x" é menor que 10 */
Publicidade
-
Aprenda o básico sobre condicionais. Os condicionais são a base da maioria dos programas. Eles são expressões que retornam um valor TRUE (verdadeiro) ou FALSE (falso). Uma medida é tomada baseando-se no resultado. O condicional mais básico é o if .
- TRUE e o FALSE funcionam no C diferente do que você deve estar acostumado. Expressões verdadeiras (TRUE) sempre acabam retornando um valor diferente de 0. Ao fazer comparações, se o resultado for verdadeiro, um "1" é retornado. Se ela for falsa, um "0" é retornado. Entender isso vai ajudar você a visualizar como são processados os condicionais IF (se).
-
Aprenda os operadores condicionais básicos. Os condicionais geralmente são operadores matemáticos que comparam valores. A lista a seguir contém os operadores mais usados.
> /* maior que */ < /* menor que */ >= /* maior ou igual */ <= /* menor ou igual */ == /* igual to */ != /* diferente */
10 > 5 TRUE 6 < 15 TRUE 8 >= 8 TRUE 4 <= 8 TRUE 3 == 3 TRUE 4 != 5 TRUE
-
Escreva uma expressão básica envolvendo o IF. Você pode usar o IF para determinar o que o programa deve fazer após a expressão ser avaliada. É possível combinar condicionais para criar várias opções, mas comece com uma simples para se acostumar.
#include <stdio.h> int main () { if ( 3 < 5 ) printf ( "3 é menor que 5" ); getchar (); }
-
Use o ELSE/ELSE IF (senão/senão se) para dar continuidade às suas condições. Você pode usá-los após condicionais IF para tratar os diferentes resultados. O ELSE será executado caso o IF seja falso. O ELSE IF permite que você inclua múltiplos IFs em um bloco de código para tratar diversos casos. Veja um exemplo no programa abaixo para ver como eles interagem.
#include <stdio.h> int main () { int idade ; printf ( "Por favor digite a sua idade atual: " ); scanf ( "%d" , $ age ); if ( age <= 12 ) { printf ( "Você é só uma criança! \n " ); } else if ( age < 20 ) { printf ( "É ótimo ser adolescente! \n " ); } else if ( age < 40 ) { printf ( "Você ainda é jovem de coração! \n " ); } else { printf ( "Com a idade vem a sabedoria. \n " ); } return 0 ; }
- Esse programa recebe o valor digitado pelo usuário e verifica-o através dos operadores IF. Caso o número satisfaça a primeira condição, então o primeiro printf é retornado. Senão, o programa vai percorrer todos os ELSE IF até achar um que seja satisfeito. Caso nenhum seja satisfeito, o bloco de código do ELSE, que está no final, será executado.
Publicidade
-
Entenda como funcionam os laços. Os laços são a parte mais importante da programação, pois eles permitem que você repita blocos de código até que condições específicas sejam satisfeitas. Isso facilita a tarefa de implementar ações repetidas e evita que você precise escrever uma expressão condicional sempre que desejar que algo aconteça.
- Existem três diferentes tipos de laços: O FOR (para) o While (enquanto) e o DO ... WHILE (faça ... enquanto).
-
Utilizando o laço for. Esse é o tipo de laço mais comum. Ele continua executando um bloco de código até que as condições especificadas no laço sejam satisfeitas. Eles requerem três condições: a inicialização da variável, a condição a ser satisfeita e a forma como a variável é atualizada. Caso você não precise das três condições, deixe um espaço em branco com um ponto e vírgula, senão o laço vai rodar para sempre.
[3] X Fonte de pesquisa
#include <stdio.h> int main () { int y ; for ( y = 0 ; y < 15 ; y ++ ;){ printf ( "%d \n " , y ); } getchar (); }
- No programa acima, o y é definido como 0 e o laço continua enquanto a variável y for menor que 15. Cada vez que a variável y é mostrada, é adicionado 1 ao valor de y e o laço é repetido. Quando ela chegar a 15, o laço vai parar.
-
Usando o laço WHILE. Esse tipo de laço é mais simples que o FOR. Eles têm apenas uma condição, e o laço é repetido enquanto essa condição for verdadeira. Não é necessário inicializar ou atualizar a variável, mas é possível fazer isso dentro do laço.
#include <stdio.h> int main () { int y ; while ( y <= 15 ){ printf ( "%d \n " , y ); y ++ ; } getchar (); }
- O comando y++ adiciona 1 à variável y sempre que o laço for executado. Quando o y chegar a 16 (lembre-se, o laço continua enquanto a y for "menor ou igual" a 15) o laço para.
-
Usando o laço DO.. .WHILE. Esse laço é muito útil quando você quer ter certeza de que o bloco de código deve ser executado ao menos uma vez. Nos laços FOR e WHILE a condição é verificada no começo do laço, o que significa que ela pode falhar imediatamente. Os laços Do...WHILE verificam as condições no final do laço, garantindo que o bloco de código é executado ao menos uma vez.
#include <stdio.h> int main () { int y ; y = 5 ; do { printf ( "Esse laço está rodando! \n " ); } while ( y != 5 ); getchar (); }
- Esse laço vai exibir a mensagem mesmo que a condição seja falsa. O valor 5 é atribuído à variável y e o laço WHILE está configurado para executar quando ela não for igual a 5. Assim que ela atingir o 5, a função será encerrada. A mensagem já tinha sido mostrada na tela porque a condição não é verificada antes do final.
- O laço WHILE em um DO...WHILE deve ser seguido por um ponto e vírgula. Esse é o único caso onde um laço termina com um ponto e vírgula.
Publicidade
-
Entenda o básico sobre funções. Elas são blocos de código que podem ser chamadas por outras partes do programa. Elas tornam fácil a tarefa de repetir esse bloco e ajudam o programa a ficar mais simples de ler e de ser modificado. As funções incluem todas as técnicas já mostradas aqui, inclusive outras funções.
- A linha main() no começo de todos os exemplos acima são funções, assim como o getchar()
- Funções são blocos de códigos essenciais, eficientes e fáceis de ler. Faça um bom uso delas para deixar o seu programa bem fluído.
-
Comece com um esboço. As funções são criadas de forma mais eficiente quando você faz um esboço do que deseja antes de programar. A sintaxe básica das funções é "tipo_de_retorno nome ( parâmetro1, parâmetro2, etc.);". Essa função soma dois números, por exemplo:
int add ( int x , int y );
- Isso vai criar uma função que recebe dois inteiros, ( x e y ), soma os seus valores e retorna o resultado.
-
Adicione a função ao programa. Você pode usar o esboço para criar um programa que recebe dois inteiros que o usuário digita, soma seus valores e retorna o resultado. O programa vai definir como essa função, que poderá se chamar adicionar, funcionará e vai utilizá-la para manipular os números digitados.
#include <stdio.h> int add ( int x , int y ); int main () { int x ; int y ; printf ( "Entre com dois números para serem somados: " ); scanf ( "%d" , & x ); scanf ( "%d" , & y ); printf ( "A soma dos dois números é %d \n " add ( x , y ) ); getchar (); } int add ( int x , int y ) { return x + y ; }
- Perceba que o esboço da função ainda está no topo do programa. Isso diz ao compilador quando esperar que a função seja chamada e o que ela retornará. Isso é necessário apenas quando você deseja definir a função mais tarde no programa. É possível definir add() antes da função main() e o resultado seria o mesmo.
- A funcionalidade das funções é definida na base do programa. A função main() coleta os inteiros do usuário e os envia para a função add() para que eles sejam processados. A função add() retorna o resultado para a main()
- Agora que a add() foi definida, você pode usá-la em qualquer parte do programa.
Publicidade
-
Procure um livro de programação em C. Esse artigo ensina o básico, mas ainda é muito pouco considerando o poder dessa linguagem. Um bom livro vai ajudar você a resolver problemas e poupá-lo de várias dores de cabeça durante a programação.
-
Participe de comunidades. Existem várias comunidades, tanto online quanto na vida real, dedicadas à programação e todas as suas linguagens. Encontre outros programadores de C com os mesmos objetivos para trocar ideias e você aprenderá bastante.
- Participe de maratonas de programação, se possível. Nesses eventos, que podem ser individuais ou em times, as pessoas têm um limite de tempo para fazer programas e encontrar soluções, o que desenvolve bastante a criatividade. Você poderá encontrar vários bons programadores dessa forma. Essas maratonas acontecem regularmente no mundo inteiro.
-
Assista algumas aulas. Você não precisa voltar a estudar para tentar entrar numa faculdade de Ciência da Computação, mas algumas aulas sobre o assunto podem acelerar bastante o aprendizado. Nada é mais útil que a ajuda de pessoas que têm muita fluência com a linguagem. Você pode encontrar essas aulas em centros comunitários ou em universidades. Algumas universidades podem permitir que você assista aulas de computação sem precisar se matricular.
-
Considere aprender C++. Depois de aprender C, é uma boa ideia dar uma olhada no C++, que é uma versão mais moderna do C, que permite uma maior flexibilidade. O C++ envolve orientação ao objeto, então aprendê-lo vai permitir que você crie programas poderosos para quase todos os sistemas operacionais.Publicidade
Dicas
- Sempre faça comentários nos programas. Isso não apenas ajuda as pessoas que possam estar dando uma olhada no seu código mas também faz com que você se lembre sobre o que estava programando e por quê. É especialmente útil se você tiver de parar de programar por um tempo para se concentrar em outra coisa.
- Ao encontrar um erro de sintaxe ao compilar e não conseguir resolver, procure no Google (ou outra ferramenta de pesquisa) informações sobre o erro. Existe uma boa chance de que alguém já tenha passado pelo mesmo problema e postado uma solução.
- O seu código fonte precisa ter uma extensão *.c para que o compilador possa enxergá-lo como um arquivo de código fonte de C.
Publicidade
Referências
Publicidade