Linguagem C: Como programar em C

A Linguagem C é uma das linguagens de programação mais populares, presente em muitos dos sistemas que conhecemos atualmente, sendo uma linguagem muito eficiente e rápida.

A execução do programa em C ocorre em níveis bem próximos ao Hardware, otimizando muito a execução do programa.

Foi desenvolvida por volta de 1972, no AT&T Bell Labs, por Dennis Ritchie. O nome C vem do fato de muitas características do C derivarem da Linguagem B.

O C foi criado para desenvolver a plataforma Unix, portanto, inicialmente, a linguagem não fez muito sucesso, ficando restrita apenas a alguns laboratórios. Em 1978, o criador, Dennis Ritchie e Brian Khernigan lançam um livro que torna a Linguagem C mais conhecida, iniciando seu sucesso pelo mundo.

Esse artigo descreve conceitos de programação e ensina a construir programas simples em C, mostrando suas funções mais triviais.

Conceitos básicos

Antes de criar o primeiro programa, é importante entender alguns conceitos simples de programação.

Algoritmo

Imagine que você precisa fazer um bolo, mas não sabe como. Então você procura por uma receita, e segue todos os passos até chegar no resultado desejado, o bolo.

Um algoritmo nada mais é que um procedimento para resolver um problema. É uma lista finita e ordenada de passos a serem seguidos para chegar a um resultado. Funciona como uma receita.

Fluxograma

Serve para descrever um algoritmo em detalhes, por meio de elementos gráficos combinados com texto. Alguns dos símbolos usados em um fluxograma:

linguagem c

As instruções do algoritmo serão representadas pelos blocos acima, e, sua função pode ser escrita dentro deles. Os blocos serão ligados por setas, para indicar a ordem que devem ser executadas as ações.

Vamos a um exemplo: projetar um fluxograma de um algoritmo que soma dois números e exibe o resultado. Primeiramente, é necessário colocar o símbolo de início, que indica que o programa está começando.

Depois, o algoritmo recebe os dois números a serem somados. Para isso, basta colocar dois blocos de entrada de dados.

Por fim, o programa soma os dois números dentro de um bloco de ação, e exibe o resultado na tela, por meio de um bloco de saída de dados. Para indicar que o programa acabou, coloca-se um bloco de fim.

Veja abaixo como ficou o fluxograma:

linguagem cPrograma

Para vermos o fluxograma descrito acima funcionar, precisamos criar um programa. O fluxograma por si só não pode ser interpretado por um computador.

Para isso, é necessária uma linguagem de programação, que o computador pode entender seus passos e executar. O algoritmo deve ser descrito passo a passo, utilizando os comandos dessa linguagem de programação.

Após o programa ser escrito, um compilador converte os passos para uma linguagem de máquina, que pode ser entendida pelo computador.

Veja abaixo como fica o fluxograma acima na Linguagem C:

linguagem c

  • Para incluir bibliotecas de comandos, é utilizada a função #include <nome_da_biblioteca>. Essas bibliotecas, na Linguagem C, contém todos os comandos que são lidos pela máquina.
  • A função int main() é onde o programa acontece, onde os comandos são executados. É dentro dessa função que devem ir os comandos do programa.
  • Variáveis são espaços de memória alocados para receber um determinado valor. A expressão int n1, n2, soma indica que devem ser alocados três espaços de memória, que vão receber inteiros, e tem o nome de n1, n2 e soma, respectivamente.
  • A função printf() serve para imprimir dados na tela, no caso do programa acima, instruções para o usuário e para mostrar o resultado.
  • A função scanf() serve para receber dados que o usuário digitar no teclado, e, armazenar cada dado em uma variável.

Ambiente de Desenvolvimento Integrado

É um programa que reúne várias ferramentas para o desenvolvimento de programas, tornando muito simples programar e executar um programa. Também pode ser chamado de IDE.

Dentro de uma IDE, as principais ferramentas são o editor, para escrever o código, o compilador, que transforma a linguagem de programação em linguagem de máquina, e, o depurador, para analisar problemas no código.

Nesse tutorial, para programar em Linguagem C, utilizaremos o Code::Blocks IDE para escrever e executar os programas. O programa é gratuito e open-source.

Para acessar a página de downloads do CodeBlocks, clique aqui.

No Windows, escolha a opção codeblocks-16.01mingw-setup.exe para baixar e instalar. Se você utiliza Ubuntu, pode encontrar o Code::Blocks na central de programas do sistema operacional.

linguagem c

Siga os passos da instalação normalmente, utilize as configurações recomendadas pelo instalador. Quando tudo estiver concluído, você deve ver a tela inicial do CodeBlocks.

linguagem c

Tela inicial do Code::Blocks IDE

Vale lembrar que o CodeBlocks também poderá ser usado para outras linguagens de programação, como o C++.

Executando o primeiro programa em C

Agora vamos executar o primeiro programa em Linguagem C, já pronto no programa, apenas para entender as funções mais simples da IDE.

Vá em File > New > Project

linguagem c

Vai abrir uma janela para você escolher o tipo de projeto que deseja criar. Escolha a opção “Console Application” e clique em “Go“.

linguagem c

Na janela abaixo, somente clique em “Next“.

linguagem c

Agora, escolha a opção “C“, já que o projeto será programado na Linguagem C. Depois, clique em “Next“.

linguagem c

Escolha um nome e uma pasta de destino para o projeto na ultima janela, e então clique em “Next“.

linguagem c

Na última janela, deixe tudo como está, e clique em “Finish” para criar o projeto. Esses passos deverão ser repetidos cada vez que você fizer um novo programa.

Agora, para acessar o editor de texto para escrever as linhas de código, vá na barra lateral esquerda, clique duas vezes em “Sources“. Vai aparecer “main.c” abaixo, então clique em cima duas vezes para abrir.

linguagem c

Todo projeto criado no Code::Blocks vem por padrão com um código muito simples, que imprime na tela a frase “Hello World!“(Olá mundo!) quando executado.

linguagem c

  • #include <stdio.h> e #include <stdlib.h> serve para incluir duas bibliotecas de comandos da linguagem C. Devem ser colocadas no inicio de todos os códigos.
  • int main() é uma função onde todos os comandos que serão executados no programa devem ficar.
  • printf() serve para imprimir dados na tela, no caso “Hello World!“.
  • \n é um comando para quebra de linha.
  • return 0 serve para dizer para a máquina que está tudo ok, o programa funcionou corretamente.
  • Todo comando deve ser encerrado com ponto e virgula “;”.

Para executar o programa, você deverá usar o botão “Build and Run“, na barra de ferramentas. Ele procurará por erros no programa, e, se não houver nenhum, executará o programa.

linguagem c

Ao lado esquerdo do botão “Build and Run” estão o botão “Run” e o botão “Build”

Quando o programa executar, será aberta uma janela preta, em que o programa está sendo executado. Nesse caso, aparecerá a frase “Hello World” na tela, que é o que o programa faz.

linguagem C

Constantes e Variáveis na Linguagem C

Existem diversos tipos de dados que podem ser trabalhados em C. Existem dados numéricos(números inteiros e reais) e alfanuméricos(de caracteres ou cadeias de caracteres).

Os dados podem ser operados de diversas formas. Números inteiros e reais, por exemplo, podem ser somados, subtraídos, multiplicados e assim por diante.

Em Linguagem C, existem as constantes e as variáveis.

Constantes

São dados que não são alterados ao longo do programa, e uma vez definido, continuará sempre o mesmo. Uma forma de declarar uma constante é escrever “#define nome_da_constante seu_valor.

linguagem c

Variáveis

Diferente das constantes, as variáveis podem ter seu valor alterado ao longo do programa quantas vezes for necessário.

Quando você cria uma variável na Linguagem C, o programa está alocando um espaço de memória para um determinado tipo de dado. A forma como se declara uma variável é “tipo_de_dado nome_da_variável = valor;” 

Variáveis que serão somente utilizadas na função main devem ser declaradas dentro dela.

Veja abaixo um exemplo:

linguagem c

Tipos de Dados

Os tipos de dados determinam o que a variável vai armazenar – se é um número, uma palavra, um caractere e assim por diante. Os tipos de dados mais comuns são os seguintes:

linguagem C

O formato serve para se referir ao tipo de dado que está sendo usado em uma função. Por exemplo, vimos anteriormente a função printf(), que imprime dados na tela. Para imprimir na tela um inteiro contido em uma variável, devemos primeiro colocar seu formato “%d“, depois colocar o nome da variável.

Veja um exemplo:

linguagem c

Operadores em Linguagem C

Servem para criar expressões matemáticas, usados para operar dados. Deve-se estar atento ao tipo de dado utilizado na operação. Se for uma soma de inteiros, a resposta deve ser inteira também.

Se for uma operação com números reais(float), a resposta também deve ser do tipo float. Se você declarar a resposta como int, o resultado será arredondado para o número inteiro mais próximo.

Veja abaixo os operadores da Linguagem C:

linguagem c

Entrada e saída de dados

Essas operações servem para receber dados do usuário e imprimir dados na tela.

As funções a serem utilizadas para isso são:

  • scanf(); – Para entrada de dados, receber dados do usuário
  • printf(); – Para saída de dados, imprimir dados na tela

As sintaxes das duas funções são:

scanf(“formato”, &nome_da_variável);

printf(“texto a ser exibido formato”, nome_da_variavel);

Veja alguns exemplos abaixo:

linguagem c

Lembrando que o comando “\n” é utilizado para quebra de linha e vem sempre dentro de um printf().

Exemplo: Somar dois números

Faça um programa que peça ao usuário dois números e some os dois. No fim, exiba o resultado na tela e encerre o programa.

Solução:

linguagem c

Exemplo: Calcular consumo de Combustível

Faça um programa que peça ao usuário a distancia que um carro percorreu em quilômetros e o consumo em litros, depois, calcule a média de consumo do automóvel(km/l) e mostre na tela.

Solução:

linguagem c

Expressões de Condição

Para testar se certas coisas são falsas ou verdadeiras, temos operadores para efetuar comparações.

Funcionam da mesma forma que os operadores matemáticos, porem tem a finalidade de executar comparações e dizer se algo é verdadeiro ou falso. Por exemplo, testar se 1 é maior que 2, o que é falso.

linguagem c

As expressões de condição podem também ser interligadas por meio de operadores lógicos, “e” ou “ou”.

linguagem c

A partir disso, pode-se criar estruturas de seleção.

Testes if e else

Serve para criar comandos alternativos, de forma que, o programa realiza um teste, e, de acordo com o resultado do teste executa um comando diferente.

Funciona da seguinte forma: uma condição avaliada pode ser verdadeira ou falsa – se for verdadeira, será executado o primeiro comando – senão, será executado o segundo comando.

linguagem c

A sintaxe do if else é a seguinte:

linguagem c

Você pode usar um teste dentro de um teste, como no exemplo abaixo:linguagem c

Para escrever a condição, utiliza-se os operadores de condição e caso necessário, operadores lógicos.

Exemplo com if else

Faça um programa que encontre as raízes de uma equação do segundo grau.

Solução:

linguagem c

Contadores

Quando se tem um número inteiro n, que conta o número de vezes que uma ação é realizada, deve-se usar um operador para incrementar o número n. De forma mais rudimentar, essa incrementação seria da seguinte forma:

n = n + 1

Porém, para facilitar isso, existem contadores, que acrescentam ou decrementam um em um número. São eles “++” e “–“, respectivamente.

A incrementação de n ficaria da seguinte forma:

n++ 

Para diminuir um do valor de n, usamos o “–“:

n–

Estruturas de Repetição

Para executar tarefas que precisam acontecer mais de uma vez, não é eficiente escrever o mesmo comandos inúmeras vezes. Para isso servem as estruturas de repetição.

As estruturas a serem vistas nesse artigo é o while e o for

While

A tradução de while é enquanto, e, como o nome já diz, a função executa um comando enquanto uma condição for verdadeira.

O teste pode ser feito antes ou depois do comando ser executado. Enquanto a condição for verdadeira, o comando continuará sendo executado. Quando a condição for falsa, o comando parará de ser executado.

Observe que, se a condição for determinada falsa antes do comando ser executado, o comando dentro da função não será executado.

Sintaxe while para fazer o teste antes do comando:

linguagem c

Sintaxe do while para fazer o teste depois do comando:

linguagem c

Exemplo

Peça para o usuário digitar um número de 1 a 5. Enquanto não for digitado um número nessa faixa, o programa deve continuar pedindo.

Solução:

linguagem c

For

A estrutura for serve para executar um comando um determinado número de vezes, utilizando um contador para saber quantas vezes deve acontecer a repetição.

A estrutura for possui três parâmetros:

  1. O número em que o contador deve iniciar – por padrão utiliza-se 0
  2. Uma comparação para ver se o contador já atingiu o número de repetições que devem acontecer
  3. Uma alteração do contador (n++ ou n–)

Sintaxe da estrutura for:

linguagem c

Exemplo

Faça um programa que imprima na tela n vezes uma frase. O usuário deve dar o valor de n.

Solução:

linguagem c

Funções em C

Se, ao escrever um código, for necessário realizar uma mesma ação diversas vezes ao longo do código, é mais vantajoso criar uma função que sirva somente para executar a ação. Essa função poderá ser chamada a qualquer hora na execução do programa.

Veja um exemplo: se um programa precisar receber e somar dois números no inicio do código, depois na metade do código e depois no final, criar uma função torna o código muito mais simples, uma vez que uma mesma ação não será repetida inúmeras vezes.

Ao criar uma função, existem algumas coisas que devem ser definidas:

  • O tipo de dado que a função vai retornar – se não há nada para retornar, coloque void
  • O nome da função
  • As variáveis que serão usadas dentro da função – se não houver nenhuma, coloque void
  • Os comandos e declarar a variáveis locais se houver(variáveis que só alocarão memória enquanto a função estiver sendo executada)

Veja abaixo a sintaxe de uma função em C:

linguagem c

Exemplo de função

Faça uma função que pegue um número e eleve ao quadrado. Peça ao usuário digitar um número e utilize a função.

Solução:

linguagem c

 

Veja o vídeo da instalação COMPLETA de um sistema de ENERGIA SOLAR