No momento, você está visualizando Entenda como funciona a estrutura da Linguagem C.

Entenda como funciona a estrutura da Linguagem C.

  • Autor do post:
  • Categoria do post:Linguagem C
  • Última modificação do post:21/11/2025

A linguagem C é uma das mais importantes e influentes da história da computação. Mesmo tendo sido criada na década de 1970, ela continua sendo amplamente utilizada, servindo como base para muitas outras linguagens modernas, como C++, Java e até Python. Compreender a estrutura de um programa em C é fundamental não apenas para quem deseja aprender essa linguagem, mas também para quem quer dominar os princípios fundamentais da programação.

Por que a linguagem C é importante ?

Aprender a estrutura de um programa em C é importante porque ela ajuda o programador a entender como o computador executa instruções de forma organizada e eficiente. A linguagem C se comunica diretamente com o hardware por meio de instruções de baixo nível, mas ainda mantém características de uma linguagem de alto nível. Assim, o estudo da linguagem ensina conceitos essenciais, como tipos de dados, funções, controle de fluxo e manipulação de memória.

Além disso, muitos sistemas operacionais, compiladores e softwares de alto desempenho são escritos em C. Portanto, compreender como um programa em C é estruturado fornece uma base sólida para entender como as máquinas realmente funcionam e como o software se conecta ao hardware.

Estrutura de um programa em C

Um programa em C segue uma estrutura simples, porém lógica. Ele normalmente é composto por quatro partes principais: bibliotecas, funções, variáveis e instruções. A espinha dorsal de qualquer programa é a função principal, chamada main(), pois é nela que a execução realmente começa. Vejamos o exemplo abaixo.

Linguagem C
    #include 

int main() {    
    printf("Olá, mundo!\n"); 
    return 0;  
}
    
  

Esse é o exemplo clássico do “Olá, mundo!” e é o primeiro programa que a maioria dos alunos escreve ao aprender qualquer linguagem de programação.

Inclusão de bibliotecas

A primeira linha do programa utiliza #include <stdio.h>. Ela indica ao compilador que deve incluir o conteúdo da biblioteca padrão de entrada e saída, responsável por funções como printf() e scanf(). O uso do símbolo # mostra que se trata de uma diretiva de pré-processamento, ou seja, algo que é executado antes mesmo da compilação.

Sem bibliotecas, o C seria bem limitado, pois grande parte das suas funcionalidades vem dessas coleções de funções prontas. Existem várias bibliotecas disponíveis, como math.h (para funções matemáticas), string.h (para manipulação de strings) e stdlib.h (para gerenciamento de memória e utilidades diversas).

A função principal main

Todo programa em C deve conter uma função chamada main. É nela que a execução começa.
Quando o sistema operacional carrega o programa na memória, ele procura essa função para saber onde iniciar.

A função main pode ser escrita de duas formas válidas

Linguagem C
    int main() { ... }
    
  
Linguagem C
    int main(void) { ... }
    
  

Ambas são equivalentes na maioria dos casos. 

Declarando variáveis

Dentro de main(), podemos criar variáveis para armazenar informações da seguinte forma

Linguagem C
    int idade = 25;
float altura = 1.75;
char inicial = 'M';
    
  

As variáveis precisam ser declaradas com um tipo (como int, float, char, etc.). Uma das características do C é que o tipo deve ser conhecido no momento da compilação, pois o compilador precisa saber quanto espaço reservar na memória.

Comandos e instruções

O corpo de uma função em C é formado por comandos e instruções que são executados linha a linha.
Cada instrução precisa terminar com um ponto e vírgula (;). Isso é obrigatório e ajuda o compilador a identificar onde um comando termina. Abaixo temos um exemplo de soma de dois valores

Linguagem C
    int x = 10;
int y = 20;
int soma = x + y;
printf("A soma é: %d\n", soma);
    
  

Estruturas de controle

As estruturas de controle são elementos fundamentais em C, pois permitem alterar o fluxo de execução de um programa, ou seja, decidir quais instruções serão executadas e quantas vezes. Sem elas, o código seguiria sempre uma sequência linear, de cima para baixo, o que limitaria sua utilidade. Podemos dividir essas estruturas em dois grandes grupos: estruturas condicionais e estruturas de repetição.

Estruturas condicionais

Existem três principais estruturas condicionais são elas: if, else e switch. Sendo que as duas primeiras dependendo do problemas a ser solucionado trabalham juntas.

O IF ELSE e ELSE IF

As estruturas condicionais, como if, else if e else, permitem que o programa execute blocos de código diferentes conforme certas condições sejam verdadeiras ou falsas.

Linguagem C
    int nota = 7;

if (nota >= 6) {
    printf("Aprovado!\n");
} else {
    printf("Reprovado!\n");
}
    
  

Nesse trecho, se a variável nota for maior ou igual a 6, a mensagem exibida será “Aprovado!”. Caso contrário, será impressa a palavra “Reprovado!”.

O comando SWITCH

A estrutura switch, usada quando há várias condições possíveis para um mesmo valor. Veja!

Linguagem C
    int opcao = 2;

switch (opcao) {
    case 1:
        printf("Opção 1 selecionada\n");
        break;
    case 2:
        printf("Opção 2 selecionada\n");
        break;
    default:
        printf("Opção inválida\n");
}
    
  

O switch compara o valor de opcao com cada case. Quando encontra uma correspondência, executa aquele bloco. O comando break evita que o programa continue executando os casos seguintes.

Estruturas de repetição

As estruturas de repetição, ou laços, permitem executar um mesmo bloco de código várias vezes, até que uma condição seja satisfeita.

O comando FOR

O comando for é bastante utlizado quando o número de repetições é conhecido. No exemplo abaixo, a variável i inicia em 1 e é incrementada até que chegue a 5. O resultado é a impressão dos números de 1 a 5 na tela.

Linguagem C
    for (int i = 1; i <= 5; i++) {
    printf("Contagem: %d\n", i);
}
    
  
O comando WHILE

O laço while repete um bloco enquanto uma condição for verdadeira. No exemplo apresentado abaixo note que enquanto o contador for menor que 3 uma mensagem é mostrada na tela após isso, o programa encerra.

Linguagem C
    int contador = 0;
while (contador < 3) {
    printf("Repetição %d\n", contador);
    contador++;
}
    
  

Essas estruturas dão poder e flexibilidade à linguagem, permitindo que programas realizem tomadas de decisão, percorram dados, processem listas e executem tarefas complexas de forma controlada e eficiente.

Comentários de código

Os comentários não são executados. Servem para explicar o código, tornando-o mais legível. Existem duas formas de adicionar comentários.

Linguagem C
    // Comentário de linha única

/*
   Comentário de múltiplas linhas
*/
    
  

Usar comentários de forma inteligente é uma boa prática, especialmente em códigos mais longos e complexos.

Funções em C

Além da função principal main(), podemos definir outras funções para organizar melhor o código e evitar repetições. Cada função realiza uma tarefa específica e pode receber parâmetros e retornar um valor.

Linguagem C
    #include 

int somar(int a, int b) {
    return a + b;
}

int main() {
    int x = 5;
    int y = 3;
    int resultado = somar(x, y);
    printf("O resultado é: %d\n", resultado);
    return 0;
}
    
  

Explicação

O código mostrado realiza a soma de dois números e exibe o resultado na tela. Tudo começa com a linha #include <stdio.h>, que indica ao compilador que deve incluir a biblioteca padrão de entrada e saída, necessária para utilizar a função printf().

Em seguida, é declarada a função somar(int a, int b), que recebe dois parâmetros inteiros chamados a e b. Dentro dessa função, há apenas uma linha: return a + b;, que devolve ao chamador a soma dos dois valores. Essa função é um exemplo de modularidade em vez de fazer a soma diretamente em main(), as operações são separadas em funções reutilizáveis, o que torna o código mais organizado e fácil de entender.

Logo depois, inicia-se a função main(), que é o ponto de entrada do programa, isto é, o local onde sua execução começa. Nela, são declaradas as variáveis x e y, ambas do tipo int, que recebem os valores 5 e 3. A linha int resultado = somar(x, y); chama a função definida anteriormente, passando x e y como argumentos, e armazena o valor retornado pela função (neste caso, 8) na variável resultado.

Adiante, o comando printf("O resultado é: %d\n", resultado); imprime na tela a frase “O resultado é: 8”, substituindo o especificador de formato %d pelo valor armazenado em resultado. Por fim, o comando return 0; encerra a função main() informando ao sistema operacional que a execução do programa foi bem-sucedida.

Conclusão

A linguagem C possui inúmeros recursos que a torna uma ferramenta extremante poderosa e eficiente para resolver problemas da computação. Diante disso, esse artigo teve como objetivo expor alguns conceitos elementares para o estudo e compreensão da linguagem. Por isso, para executar os códigos que foram apresentados acima e ter uma experiência prática, recomendo a leitura do artigo Como instalar o CodeBlocks tanto no Windows como no Linux. Além disso, caso prefira é possível assistir vídeos da playlist "Linguagem C" do canal Descomplicando Algoritmos.