Como executar

Como executar C

Trilha de C →

C é compilado: primeiro o compilador transforma o .c num executável, depois você roda o executável.

Testar sem instalar nada

No Compiler Explorer, escolha C na lista de linguagens, cole o código e abra Add new... → Execution Only para ver a saída do programa.

Instalar

Linux (Debian/Ubuntu)

sudo apt install build-essential
gcc --version

O build-essential instala o GCC (gcc para C e g++ para C++). A versão do apt pode não ser a mais recente; para uma mais nova, veja como compilar o GCC a partir do código-fonte.

Windows

Instale o MSYS2 e, no terminal MSYS2 UCRT64, rode:

pacman -S mingw-w64-ucrt-x86_64-gcc

Compile e rode no mesmo terminal MSYS2 UCRT64 (ou adicione C:\msys64\ucrt64\bin ao PATH do Windows para usar no PowerShell). Se os acentos saírem trocados no terminal do Windows, o problema é a codificação do terminal, não o programa.

Executar um arquivo

Exemplo básico: Olá, mundo!

Salve como hello.c. Este programa mostra uma mensagem no terminal.

#include <stdio.h>

int main(void) {
    if (puts("Olá, mundo!") == EOF) {
        return 1;
    }
    return 0;
}

Na pasta do arquivo, execute no Linux ou no terminal MSYS2 UCRT64 do Windows:

gcc -std=c23 -Wall -Wextra -Wpedantic hello.c -o hello
./hello

No PowerShell, compile com gcc -std=c23 -Wall -Wextra -Wpedantic hello.c -o hello.exe e execute .\hello.exe.

Saída esperada:

Olá, mundo!

Converter Celsius em Fahrenheit

Salve o programa como main.c. O programa lê Celsius e aplica F = C × 1,8 + 32. Use ponto nos decimais. scanf lê o dado, printf mostra o resultado e isfinite verifica se o número é finito. Digite apenas um número pequeno: essa leitura introdutória não valida toda a linha.

#include <math.h>
#include <stdio.h>

int main(void) {
    double celsius;
    printf("Temperatura em Celsius (ex.: 25.5):\n");
    if (scanf("%lf", &celsius) != 1 || !isfinite(celsius) || celsius < -273.15) {
        fprintf(stderr, "Entrada inválida: informe uma temperatura a partir de -273.15.\n");
        return 1;
    }
    const double fahrenheit = celsius * 1.8 + 32;
    if (!isfinite(fahrenheit)) {
        fprintf(stderr, "Temperatura grande demais para calcular.\n");
        return 1;
    }
    printf("Fahrenheit: %.2f °F\n", fahrenheit);
    return 0;
}

Na pasta do arquivo, execute:

gcc -std=c23 -Wall -Wextra -Wpedantic main.c -o main
./main

Uma interação no terminal será:

Temperatura em Celsius (ex.: 25.5):
25
Fahrenheit: 77.00 °F

As linhas com os valores das respostas são digitadas por você. Pressione Enter após cada resposta. As demais linhas são a saída do programa.

Quando o exemplo é só um trecho

Coloque as linhas dentro de int main(void) { ... }, inclua os #include que ele usar (<stdio.h> para printf, <stdlib.h> para malloc, <string.h> para strlen) e deixe as outras funções acima do main.

Erros comuns

  • implicit declaration of function 'printf': faltou o #include <stdio.h>.
  • undefined reference to 'sqrt': funções de <math.h> pedem -lm no fim do comando (gcc main.c -o main -lm).
  • unrecognized command-line option '-std=c23': o GCC é anterior ao 14; use -std=c17 ou atualize o compilador.
  • Esqueceu o \n no printf: a saída pode aparecer colada no prompt do terminal.