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>