Escreva o seu primeiro programa em C++

C++Beginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá a escrever o seu primeiro programa em C++. Começaremos instalando o compilador GCC (GNU Compiler Collection) e configurando as variáveis de ambiente necessárias no Ubuntu 22.04. Em seguida, você criará um novo arquivo de código-fonte C++, escreverá a estrutura básica do programa e usará o comando cout para exibir a mensagem "Hello World". Você também aprenderá a compilar e executar o programa, além de como adicionar comentários de linha única e de múltiplas linhas, usar endl e \n para quebras de linha e corrigir erros de sintaxe comuns, como a falta de ponto e vírgula.

Instalar o compilador GCC e configurar variáveis de ambiente no Ubuntu 22.04

Nesta etapa, você aprenderá a instalar o compilador GCC (GNU Compiler Collection) para C++ e a configurar as variáveis de ambiente necessárias no Ubuntu 22.04. O GCC é essencial para compilar e executar programas em C++.

Primeiro, vamos abrir o terminal no WebIDE. Você pode fazer isso clicando no ícone do terminal na parte inferior da tela ou usando o atalho de teclado (geralmente Ctrl+`).

Começaremos atualizando a lista de pacotes para garantir que temos as informações mais recentes sobre os pacotes disponíveis:

sudo apt update

Exemplo de saída:

Hit:1 http://mirrors.cloud.aliyuncs.com/ubuntu jammy InRelease
Hit:2 http://mirrors.cloud.aliyuncs.com/ubuntu jammy-updates InRelease
Hit:3 http://mirrors.cloud.aliyuncs.com/ubuntu jammy-backports InRelease
Hit:4 http://mirrors.cloud.aliyuncs.com/ubuntu jammy-security InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
157 packages can be upgraded. Run 'apt list --upgradable' to see them.

Saída do comando de atualização do terminal

Em seguida, instalaremos o compilador GCC e as ferramentas de desenvolvimento relacionadas:

sudo apt install -y build-essential

Exemplo de saída:

Reading package lists...
Building dependency tree...
Reading state information...
build-essential is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 22 not upgraded.

Para verificar a instalação e conferir a versão do GCC, execute:

g++ --version

Exemplo de saída:

g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

O compilador GCC geralmente já está no PATH do sistema, portanto, nenhuma configuração adicional é necessária.

Criar um novo arquivo de código-fonte C++ com a extensão .cpp

Nesta etapa, você aprenderá a criar um novo arquivo de código-fonte C++ com a extensão .cpp. Em C++, os arquivos de código-fonte usam a extensão .cpp para indicar que contêm código C++. Usaremos o explorador de arquivos e o editor de texto do WebIDE para criar nosso primeiro arquivo de código-fonte C++.

Primeiro, navegue até o diretório ~/project no terminal:

cd ~/project

Agora, abra o explorador de arquivos do WebIDE. Você verá uma barra lateral com uma lista de arquivos e pastas. Procure um ícone que permita criar um novo arquivo - ele pode parecer um sinal de "+" ou uma opção "New File".

Clique com o botão direito no explorador de arquivos e selecione "New File". Quando solicitado, nomeie o arquivo como hello.cpp. A extensão .cpp é crucial, pois informa ao compilador e às ferramentas de desenvolvimento que este é um arquivo de código-fonte C++.

Exemplo de criação de arquivo no terminal (para referência):

touch hello.cpp

Clique no arquivo hello.cpp recém-criado para abri-lo no editor de texto do WebIDE. Você verá um arquivo vazio pronto para o seu primeiro código C++.

A extensão .cpp é importante porque:

  • Identifica o arquivo como um arquivo de código-fonte C++
  • Ajuda as ferramentas de desenvolvimento e compiladores a reconhecer o tipo de arquivo
  • Distingue arquivos C++ de outros arquivos de linguagens de programação, como .c (C), .java (Java) ou .py (Python)

Neste ponto, seu arquivo hello.cpp está pronto para você começar a escrever código C++. Nas próximas etapas, você aprenderá a escrever um programa básico em C++ neste arquivo.

Escrever a estrutura básica do programa com a função int main()

Nesta etapa, você aprenderá sobre a estrutura fundamental de um programa em C++, focando na função main(). Todo programa em C++ deve ter uma função main(), que é o ponto de entrada onde o programa começa a ser executado.

Abra o arquivo hello.cpp no WebIDE que você criou na etapa anterior. Agora, adicionaremos a estrutura básica do programa:

#include <iostream>

int main() {
    // Your code will go here
    return 0;
}

Nota: Digitar o código manualmente é recomendado para melhores resultados de aprendizado. Tenha cuidado com as chaves { } e os pontos e vírgulas ;, pois são essenciais na sintaxe do C++. Não se esqueça dos espaços e da indentação, caso contrário, a verificação da etapa pode falhar.

Vamos analisar essa estrutura básica:

  1. #include <iostream>: Esta é uma diretiva de pré-processador que inclui a biblioteca de fluxo de entrada/saída. Ela nos permite usar operações de entrada e saída, como imprimir na tela.
  2. int main(): Esta é a declaração da função principal
    • int especifica que a função retornará um valor inteiro
    • main() é o ponto de entrada padrão para programas em C++
    • Os parênteses vazios () indicam que a função não recebe argumentos
  3. Chaves { }: Definem o corpo da função onde seu código será escrito
  4. return 0;: Indica a conclusão bem-sucedida do programa
    • Retornar 0 informa ao sistema operacional que o programa foi executado sem erros
    • Esta é uma prática padrão em programas C++

O WebIDE salvará automaticamente suas alterações conforme você digita. Ou você pode salvar o arquivo manualmente usando a opção de salvar do editor.

Se você quiser saber mais sobre o WebIDE, confira o Guia do WebIDE.

Alguns pontos importantes para lembrar:

  • Todo programa em C++ deve ter uma função main()
  • A função main() é onde a execução do programa começa
  • A instrução return 0; é normalmente usada para indicar a execução bem-sucedida do programa

Você pode pensar na função main() como o ponto de partida de uma jornada. Assim como uma viagem começa em um local específico, um programa em C++ começa sua execução na função main().

Usar cout para imprimir a mensagem Hello World

Nesta etapa, você aprenderá a usar o cout para imprimir uma mensagem "Hello, World!" na tela. O cout faz parte da biblioteca padrão de entrada/saída do C++ e é usado para exibir saídas.

Abra o arquivo hello.cpp no WebIDE e modifique a função main() para incluir o seguinte código:

#include <iostream>

int main() {
    std::cout << "Hello, World!" << std::endl;
    return 0;
}

Vamos analisar a nova linha de código:

  • std::cout: Este é o objeto de fluxo de saída padrão
    • std:: indica que estamos usando o namespace padrão
    • cout significa "console output" (saída do console)
  • <<: O operador de inserção de fluxo, usado para enviar dados para o fluxo de saída
  • "Hello, World!": A mensagem de texto que queremos imprimir
  • std::endl: Adiciona uma nova linha e limpa o buffer de saída
    • Garante que a mensagem seja exibida imediatamente
    • Move o cursor para a próxima linha

Ao salvar o arquivo, certifique-se de incluir toda a estrutura mostrada acima.

Alguns pontos importantes sobre o cout:

  • É usado para imprimir texto, números e outros tipos de dados na tela
  • O operador << pode ser encadeado para imprimir vários itens
  • std::endl é usado para criar uma nova linha após a impressão

Você pode pensar no cout como um megafone que anuncia sua mensagem para o mundo. O operador << ajuda você a carregar a mensagem, e o std::endl garante que todos a ouçam claramente.

Compilar o programa com o comando g++ hello.cpp -o hello

Nesta etapa, você aprenderá a compilar seu programa em C++ usando o compilador g++. A compilação é o processo de converter seu código-fonte C++ legível por humanos em um programa executável que o computador pode rodar.

Abra o terminal no WebIDE. Certifique-se de estar no diretório ~/project:

cd ~/project

Agora, vamos compilar o arquivo hello.cpp que você criou anteriormente usando o comando g++:

g++ hello.cpp -o hello

Vamos analisar este comando:

  • g++: O compilador GNU C++
  • hello.cpp: O arquivo de código-fonte que você deseja compilar
  • -o hello: Especifica o nome do executável de saída
    • -o é uma opção que permite nomear o arquivo de saída
    • hello é o nome do executável que você criará

Exemplo de saída:

## Nenhuma saída significa compilação bem-sucedida

Se a compilação for bem-sucedida, nenhuma mensagem de erro será exibida. O compilador cria um arquivo executável chamado hello no mesmo diretório.

Terminal compilando código C++

Para verificar a compilação, você pode verificar os arquivos no diretório:

ls

Exemplo de saída:

hello  hello.cpp

Agora você deve ver dois arquivos:

  • hello.cpp: Seu arquivo de código-fonte
  • hello: O programa executável compilado

Algumas notas importantes sobre a compilação:

  • Se houver erros no seu código, o g++ exibirá mensagens de erro
  • Sempre verifique e corrija quaisquer erros de compilação antes de tentar executar o programa
  • A opção -o é opcional, mas é uma boa prática dar ao seu executável um nome significativo

Você pode pensar na compilação como traduzir um livro de um idioma para outro. O compilador g++ traduz seu código C++ legível por humanos para uma linguagem que o computador pode entender e executar.

Executar o programa com o comando ./hello

Nesta etapa, você aprenderá a executar o programa executável que acabou de compilar. Após compilar seu programa em C++, você pode executá-lo usando o comando ./ seguido pelo nome do executável.

Certifique-se de estar no diretório ~/project:

cd ~/project

Para executar o programa que você compilou na etapa anterior, use o seguinte comando:

./hello

O ./ diz ao sistema para procurar o executável no diretório atual, e hello é o nome do executável que você criou.

Exemplo de saída:

Hello, World!

Vamos analisar o que está acontecendo:

  • ./ significa "no diretório atual"
  • O programa lê as instruções no seu executável compilado
  • Ele imprime a mensagem que você definiu no seu código-fonte C++
  • Após a impressão, o programa é encerrado

Algumas notas importantes sobre a execução:

  • Sempre use ./ antes do nome do executável ao rodar um programa no diretório atual
  • O programa deve ter permissões de execução (que o g++ fornece automaticamente)
  • Se você não vir a saída, verifique se compilou o programa corretamente

Você pode pensar em executar um programa como ligar um carro. A compilação é preparar o carro, e rodar o programa é girar a chave e dirigir.

Se você quiser rodar o programa várias vezes, pode simplesmente repetir o comando ./hello.

Adicionar comentários de linha única e de múltiplas linhas

Nesta etapa, você aprenderá a adicionar comentários ao seu código C++. Comentários são notas no seu código que explicam o que ele faz. Eles são ignorados pelo compilador e ajudam a tornar seu código mais legível.

Abra o arquivo hello.cpp no WebIDE e modifique-o para incluir diferentes tipos de comentários:

#include <iostream>

// This is a single-line comment
// It explains what the program does

/*
This is a multi-line comment
You can write multiple lines of explanation
Without worrying about adding // to each line
*/
int main() {
    // Print a greeting message
    std::cout << "Hello, World!" << std::endl;  // Inline comment explaining the output

    /*
    You can also use multi-line comments
    in the middle of your code if needed
    */
    return 0;  // Return success status to the operating system
}

Vamos analisar os tipos de comentários:

  1. Comentários de linha única:

    • Começam com //
    • Estendem-se até o final da linha
    • Ótimos para explicações curtas
  2. Comentários de múltiplas linhas:

    • Começam com /*
    • Terminam com */
    • Podem abranger várias linhas
    • Úteis para explicações mais longas
  3. Comentários em linha:

    • Adicionados ao final de uma linha de código
    • Explicam a linha específica de código

Compile e execute o programa para verificar se ele ainda funciona:

g++ hello.cpp -o hello
./hello

Exemplo de saída:

Hello, World!

Alguns pontos importantes sobre comentários:

  • Comentários tornam seu código mais compreensível
  • Eles ajudam outros programadores (e você mesmo) a entender o propósito do código
  • O compilador ignora completamente os comentários
  • Use comentários para explicar "por que" algo é feito, não "o que" está sendo feito

Você pode pensar nos comentários como notas adesivas em um livro. Eles fornecem contexto e explicação extras sem alterar o texto real.

Usar endl e \n para quebras de linha

Nesta etapa, você aprenderá duas maneiras de criar quebras de linha na saída do C++: std::endl e o caractere de nova linha \n. Ambos os métodos ajudam você a formatar sua saída em várias linhas.

Abra o arquivo hello.cpp no WebIDE e modifique-o para demonstrar quebras de linha:

#include <iostream>

int main() {
    // Using std::endl for line breaks
    std::cout << "Hello, World!" << std::endl;
    std::cout << "Welcome to C++ Programming!" << std::endl;

    // Using \n for line breaks
    std::cout << "Using newline character:\n";
    std::cout << "Line 1\n";
    std::cout << "Line 2\n";

    // Mixing both methods
    std::cout << "Mixing methods: " << std::endl;
    std::cout << "Line with endl\n";
    std::cout << "Line with newline character" << std::endl;

    return 0;
}

👆 Dicas LabEx: Clique em "Explain Code" no canto inferior direito do bloco de código para conversar com a Labby AI para esclarecimentos sobre o código.

Vamos analisar os métodos de quebra de linha:

  1. std::endl:

    • Adiciona uma nova linha
    • Limpa o buffer de saída (garante a impressão imediata)
    • Parte da biblioteca <iostream>
    • Usado com std::cout
  2. \n (Caractere de nova linha):

    • Maneira simples de criar uma nova linha
    • Mais leve que std::endl
    • Funciona em muitos contextos de programação
    • Não limpa o buffer de saída

Compile e execute o programa:

g++ hello.cpp -o hello
./hello

Exemplo de saída:

Hello, World!
Welcome to C++ Programming!
Using newline character:
Line 1
Line 2
Mixing methods:
Line with endl
Line with newline character

Pontos principais:

  • Tanto std::endl quanto \n criam novas linhas
  • std::endl é mais abrangente, mas um pouco mais lento
  • \n é mais rápido e mais leve
  • Você pode misturar e combinar esses métodos

Você pode pensar nas quebras de linha como quebras de parágrafo em um livro. Elas ajudam a organizar e estruturar sua saída.

Corrigir erros de sintaxe comuns, como a falta de ponto e vírgula

Nesta etapa, você aprenderá sobre erros de sintaxe comuns em C++, com foco na falta de ponto e vírgula. Pontos e vírgulas são cruciais em C++, pois marcam o final das instruções.

Crie um novo arquivo chamado syntax_errors.cpp no WebIDE:

cd ~/project
touch syntax_errors.cpp
#include <iostream>

int main() {
    // Common syntax error: Missing semicolon
    std::cout << "This line has an error"  // Missing semicolon here!
    std::cout << "This line will not compile" << std::endl;

    // Correct version with semicolons
    std::cout << "This line is correct" << std::endl;
    std::cout << "All statements end with a semicolon" << std::endl;

    return 0;  // Don't forget the semicolon here too!
}

Tente compilar o programa:

g++ syntax_errors.cpp -o syntax_errors

Exemplo de erro de compilação:

syntax_errors.cpp: In function ‘int main()’:
syntax_errors.cpp:5:42: error: expected ‘;’ before ‘std’
    5 |     std::cout << "This line has an error"  // Missing semicolon here!
      |                                          ^
      |                                          ;
    6 |     std::cout << "This line will not compile" << std::endl;
      |     ~~~

Pontos principais sobre pontos e vírgulas:

  • Toda instrução em C++ deve terminar com um ponto e vírgula ;
  • Pontos e vírgulas dizem ao compilador onde uma instrução termina e outra começa
  • A falta de pontos e vírgulas causa erros de compilação
  • Lugares comuns para esquecer pontos e vírgulas:
    • Após instruções cout
    • Após instruções return
    • No final de declarações de variáveis

Vamos corrigir os erros:

  1. Adicione os pontos e vírgulas ausentes
  2. Certifique-se de que cada instrução termine com ;

Compile a versão corrigida:

g++ syntax_errors.cpp -o syntax_errors
./syntax_errors

Se for bem-sucedido, nenhuma mensagem de erro aparecerá.

Você pode pensar nos pontos e vírgulas como pontos finais em uma frase. Eles marcam o fim de um pensamento completo no seu código.

Resumo

Neste laboratório, você aprendeu a instalar o compilador GCC (GNU Compiler Collection) para C++ e a configurar as variáveis de ambiente necessárias no Ubuntu 22.04. Você criou um novo arquivo de código-fonte C++, escreveu uma estrutura básica de programa com a função int main() e usou o cout para imprimir a mensagem "Hello World". Em seguida, você compilou o programa usando o comando g++ e o executou. Além disso, você aprendeu a adicionar comentários de linha única e de múltiplas linhas, usar endl e \n para quebras de linha e corrigir erros de sintaxe comuns, como a falta de ponto e vírgula.

Após concluir essas etapas, você terá uma base sólida para escrever e executar seu primeiro programa em C++, bem como uma compreensão das ferramentas e conceitos básicos necessários para o desenvolvimento em C++ no Ubuntu 22.04.