Curso de C++/Programa HelloWorld
Considerações iniciais
editarPara CRIAR um programa em C++, você precisa de um compilador e de um ambiente de desenvolvimento da linguagem. Se você é novo e não possui um, nós indicamos três opções (você deverá fazer o download e instalar no seu computador):
- Dev-cpp: você pode baixá-lo se o seu sistema operacional for o Windows. Excelente programa, é leve, e é ideal para iniciantes na linguagem C++. Aprender a utilizar esse programa é intuitivo e fácil.
- Code::Blocks: para usuários de Windows e outros sistemas operacionais (Linux, MacOS e Solaris). É menos intuitivo que o primeiro, mas é uma ótima opção para ambientes Linux.
- Microsoft Visual C++ Express Edition: Se deseja criar interfaces gráficas para seus aplicativos, esta é uma excelente opção. A Microsoft o desenvolveu para estudantes e programadores de fim-de-semana. O desenvolvimento de interfaces gráficas (para Windows e outros sistemas) é tópico apenas para o final do curso. Utilizaremos o Console padrão para desenvolver os primeiros programas.
O código do programa
editar#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!" << endl;
system("pause");
return 0;
}
Assim que você fizer o download e instalar o seu ambiente de desenvolvimento, você deve criar um novo arquivo .cpp e digitar o código acima. Salve o arquivo e vá até a opção de menu do seu ambiente de desenvolvimento que tem a opção Compilar e executar (Run and Build, em inglês). No Microsoft Visual C++, você pode fazer isso usando a tecla de atalho F5. No Dev-cpp e no Code::Blocks, a tecla correspondente é F9.
A janela de console deverá conter uma mensagem assim após a execução:
Hello World!
Press any key to continue...
Estrutura de um programa em C++
editarUm programa em C++ tem uma estrutura básica. Acima de todo o código, existem diretivas de pré-processador. Abaixo das diretivas, o código propriamente dito, que pode ou não ter a função main.
Diretivas de pré-processador
editar#include <iostream>
using namespace std;
A palavra include, precedida de uma cerquilha (#), é uma diretiva de pré-processador. Ela é utilizada para incluir classes e/ou funções de uma biblioteca (neste caso, iostream) dentro do seu programa. Quando declaramos isso no programa, estamos importando para ele algumas funções-padrão desenvolvidas para você programar. A biblioteca iostream contém funções para entrada e saída (I/O ou E/S) de fluxo (stream) no console. No momento, a intenção é apenas definir a estrutura de um programa C++. As diretivas de pré-processador existentes e as classes e funções que estão dentro das bibliotecas do C++ estão em tópicos que veremos mais adiante.
Note também que declaramos using namespace std; dentro do nosso código. Fizemos isto porque as bibliotecas podem (ou não) estar divididas em namespaces. Estamos dizendo que usaremos (using) o namespace std (de standard, padrão em português) da biblioteca iostream. Esse namespace contém a classe cout, que utilizamos para imprimir Hello World! na janela de console.
Código do programa
editarDepois de definir as diretivas, você começa a escrever o código. Este código pode ou não ter a função main.
A função main é a primeira função a ser executada num programa. Ainda que o programa tenha apenas uma função, se ela não se chamar main, o programa não compilará - uma mensagem de erro indicando falha relatará que falta o ponto de início.
Um arquivo pode não conter uma função main? A resposta é sim. Um programa pode constituir-se de vários arquivos-fonte. Neste caso, um deles (e apenas um) deve ter uma função main - este será o primeiro arquivo a ser compilado. Os demais arquivos do programa devem ser inclusos neste arquivo principal através de diretivas #include. Mas não se preocupe com isso agora: veremos como criar um programa com vários arquivos de código-fonte mais adiante.
Importante: nunca se esqueça do ponto-e-vírgula ao final de uma linha de código. Se você esquecer, ocorrerá erro de compilação.
Linhas de comentário
editarNão havíamos comentado o programa, mas se você quiser, pode incluir comentários no código para lembrar-se de alguma coisa que fez ou para tornar o código mais legível para outros programadores. Seguem as duas formas para fazer comentários em um programa:
#include <iostream>
using namespace std;
/*
Curso de C++
Programa Hello World!
*/
/*
Adicionando barra e asterisco você abre um comentário de várias linhas.
Você pode escrever quantas linhas quiser.
Você deve encerrar o comentário com asterisco e barra.
*/
int main()
{
cout << "Hello World!" << endl; // Com duas barras você faz comentários de uma linha.
system("pause");
return 0;
// fim do programa Hello World!
}
Análise do código
editarFunções em C++
editarAbaixo das diretivas, iniciamos o seguinte código:
#include<cstdlib> //Permite usar o comando system
int main()
{
cout << "Hello World!" << endl;
system("pause");
return 0;
}
Fizemos isso de acordo com a sintaxe da linguagem. A declaração de uma função em C++ segue a seguinte sintaxe:
[tipo de retorno] [nome da função] ( [opcional: parâmetros] ) {
<bloco de código>
return [retorno]
}
No nosso código, o tipo de retorno da função é int - a função retornará um número inteiro. O nome da função é main - a função principal. E, no nosso programa, decidimos que não precisamos de parâmetros. Tipo de retorno, nomes possíveis para funções e parâmetros de funções veremos também nos tópicos subsequentes. No momento, estamos definindo a estrutura do programa, apenas.
Toda função deve ter, antes da chave final (}) o retorno, que deve ser declarado com a palavra return. No caso especial da função main com tipo de retorno int, isso é dispensável. Mas se você declarar uma outra função, qualquer que seja, sem o return, o programa não compilará, indicando que falta o return - "function (nome da função) must return a value" - a não ser que o tipo de retorno seja void.
Cout
editarDepois de declarar a função, incluimos a palavra cout seguida do operador <<, chamado de operador de extração de fluxo. Cout serve para gerar uma saída de fluxo na janela do console, e está dentro do namespace std da biblioteca iostream. O fluxo, nesse caso, é a string "Hello World!". Após, colocamos outro operador <<, indicando que o fluxo deve continuar, seguido de um endl, para indicar que é o fim da linha de texto (endl vem de end line).
System("pause")
editarA função system funciona como se tivéssemos digitado o que está entre aspas duplas na janela de console. Nesse caso, pause. System é uma função da linguagem C. Isso vai gerar uma mensagem: "pressione uma tecla para continuar..." ou "press any key to continue..." na tela do console.Para isso é necessário utilizar o " #include <stdlib.h> " Incluímos esta função para que o programa não encerre imediatamente após se executado (se não tivéssemos a incluído, o programa apareceria na tela e em segundos encerraria, logo você não conseguiria ler a tempo o "Hello World!" gerado na janela do console).
Revisão do tópico
editarEste tópico foi bastante simples. O que você precisa saber para seguir adiante no curso é: 1. a estrutura básica de um programa em C++ e 2. a sintaxe da declaração da função main.
A partir daqui, todos nossos programas seguirão essa estrutura. Na maioria dos programas subsquentes incluíremos a biblioteca iostream, usaremos o namespace std e definiremos uma função main. Usaremos o cout também para gerar as saídas na tela.