Carregando
0x10Lição 2 de 20

O seu primeiro programa: Hello, world

Escreva, compile e rode um programa completo em C, e entenda cada linha dele.

10 min Questionário com 6 perguntas 2 exercícios de código
Ao final desta lição, você saberá
  • Explicar cada linha de um programa mínimo em C
  • Imprimir texto com printf, incluindo quebras de linha
  • Ler um erro simples do compilador e corrigi-lo

Desde o K&R, o primeiro programa que todo mundo escreve imprime uma saudação. Ele é minúsculo, mas cada linha importa. Clique em Run para compilá-lo e rodá-lo de verdade.

hello.c
1#include <stdio.h>
2
3int main(void) {
4    printf("Hello, world!\n");
5    return 0;
6}
Saída
Hello, world!

Linha por linha

#include <stdio.h> diz ao pré-processador para colar o cabeçalho de entrada/saída padrão (standard input/output), que declara o printf. Sem ele, o compilador não sabe o que é printf.

int main(void) começa a definição de uma função chamada main. Todo programa em C tem exatamente uma main: é onde a execução começa. int significa que a main devolve (retorna) um número inteiro, e void significa que ela não recebe entradas.

{ e } marcam o início e o fim do corpo da main - as instruções que ela executa, em ordem.

printf("Hello, world!\n"); chama a função printf para imprimir texto. O texto entre aspas duplas é um literal de string. O ponto e vírgula encerra a instrução - quase toda instrução em C termina com um.

return 0; encerra a main e devolve o número 0 ao sistema operacional. Por convenção, 0 significa sucesso; qualquer outro número sinaliza um erro.

Quebras de linha e sequências de escape

O printf imprime exatamente o que você passa para ele - ele não acrescenta uma quebra de linha no final. Os dois caracteres \n dentro de uma string são uma sequência de escape que significa "nova linha". Outras úteis são \t (tab), \\ (uma barra invertida) e \" (aspas duplas dentro de uma string).

newlines.c
1#include <stdio.h>
2
3int main(void) {
4    printf("one ");
5    printf("two\n");
6    printf("three\tfour\n");
7    printf("She said \"hi\"\n");
8    return 0;
9}
Saída
one two
three	four
She said "hi"

Comentários

Comentários são notas para humanos; o compilador os ignora. Os comentários // vão até o fim da linha. Os comentários /* ... */ podem ocupar várias linhas. Use-os para explicar por que o código faz algo, e não para repetir o que ele obviamente faz.

1/* greet.c - prints a greeting.
2   Written for the NBK Tech World C track. */
3#include <stdio.h>
4
5int main(void) {
6    // Exit status 0 tells the shell everything went fine.
7    printf("Hi!\n");
8    return 0;
9}

Lendo erros do compilador

Você vai ver muitos erros do compilador, e isso é normal - até para especialistas. O truque é ler o primeiro erro com atenção: ele dá um arquivo, uma linha e uma coluna e depois uma mensagem. Os erros seguintes muitas vezes são só efeitos colaterais do primeiro. Experimente rodar este programa quebrado:

broken.c
1#include <stdio.h>
2
3int main(void) {
4    printf("Hello, world!\n")
5    return 0;
6}

O compilador relata algo como expected ';' before 'return'. Ele notou o problema na linha do return, mas o erro de verdade - um ponto e vírgula faltando - está no fim da linha anterior. Os compiladores muitas vezes apontam logo depois do erro real. Clique em Edit and experiment, acrescente o ponto e vírgula e rode de novo.

Principais conclusões

  • A execução começa na main; devolver 0 dela significa sucesso.

  • #include <stdio.h> torna o printf disponível. O printf não acrescenta quebra de linha - escreva \n você mesmo.

  • As instruções terminam com ;. Quando você receber um erro do compilador, corrija o primeiro antes, e confira também a linha anterior a ele.

Quiz da aula

6 perguntas · aprovação com 5 acertos · até 50 XP

Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.

Pratique: escreva código em C

Estes exercícios rodam de verdade. Escreva o programa, clique em “Executar testes” e leia o que o compilador informa: aprender a ler as mensagens do compilador é metade do aprendizado de C.

Exercício 1

Diga olá

+25 XP

Escreva um programa que imprima exatamente estas duas linhas:

Hello, world!
I am learning C.
  • Imprime as duas linhas
main.c
Carregando editor…

Seu código é compilado com gcc 14 (-Wall -Wextra) e executado no Compiler Explorer (godbolt.org), um serviço público gratuito.

Exercício 2

Desenhe uma caixa

+25 XP

Imprima esta caixa feita de caracteres, exatamente como mostrado (5 caracteres de largura, 3 linhas de altura):

+---+
|   |
+---+
  • Imprime a caixa
main.c
Carregando editor…

Seu código é compilado com gcc 14 (-Wall -Wextra) e executado no Compiler Explorer (godbolt.org), um serviço público gratuito.

Dúvidas sobre esta lição

Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.

Carregando publicações…