Primeiro Programa
O primeiro programa que várias pessoas costumam escrever consiste em exibir "Hello, World!" ("Olá, Mundo!" em inglês). Um simples código C para essa tarefa é o seguinte:
Código-Fonte
Arquivo main.c:
#include <stdio.h>
int main(void)
{
    puts("Hello, World!");
    return 0;
}
Esse programa simples é composto por várias partes. Primeiro, stdio.h é o
arquivo que fornece as principais funções de entrada e saída no C. A linha
#include <stdio.h> essencialmente permite ao programa usar essas funções.
main é o ponto de entrada do programa, ou seja, onde começa a execução do
código. As chaves { e } representam o corpo do main, e o código entre elas
faz parte dele.
A primeira tarefa realizada em nosso main é a linha puts("Hello, World!");.
puts é uma das funções de entrada e saída do stdio.h, e ela exibe seu
argumento (em nosso caso, "Hello, World") na tela.
Logo após isso temos a linha return 0;. return termina a execução da função,
que nesse caso é main, e 0 é um valor que será enviado ao sistema
operacional. 0 costuma significar que o programa foi executado corretamente.
Executando
O código-fonte acima está completo, mas ainda não é executável; precisamos utilizar um compilador C para transformar código-fonte em código objeto. Esse processo é chamado compilação e, por si só, não é suficiente para produzir um executável. Antes da compilação deve ocorrer o pré-processamento e, após a compilação, a ligação. Ambos processos são realizados automaticamente em compiladores atuais (como GCC e Clang), portanto ainda não serão detalhados.
Para criar um executável utilizando o compilador GCC, por exemplo, você deve
fornecer como argumento o arquivo de extensão .c contendo o código-fonte. No
caso do programa acima, o comando seria gcc main.c. O executável comumente
será chamado a.exe ou a.out, mas o nome pode ser alterado fornecendo a opção
-o seguida pelo caminho de destino. Para criar o executável Programa
usaríamos o comando gcc main.c -o Programa.
Se tudo der certo, a execução do programa exibirá Hello, World!.
Referências
- Padrão C18 (ISO/IEC 9899:2018):
- 5.1.2.2 Hosted environment
- 6.8.6.4 The return statement
- 7.21 Input/output <stdio.h>