“Ola, Mundo”: Primeiro programa em C++
Teoria
E aí, aqui é o Juan do Responde Aí! E hoje vamos por a mão na massa com C++. Então abra a IDE que você escolheu, inicie um novo arquivo, que é hora de programar!
Ola, Mundo!
Em qualquer linguagem, o programa mais simples de se fazer é colocar uma mensagem na tela. Então vamos fazer isso agora.
Vamos fazer um programa que imprime a mensagem “Ola, Mundo!” na tela.
Ah, O C++ é muito sensível aos erros, então tenha cuidado para digitar tudo direitinho.
Se você digitou tudo certo, quando você compilar e rodar, vai aparecer algo parecido com isso:
A saída do código que digitamos é o texto “Ola, mundo” escrito na tela.
Essa tela preta se chama console, e o que o nosso primeiro programa faz é imprimir a mensagem “Ola, mundo!” no console.
Pra compreender melhor, vamos estudar esse código linha por linha.
Entendendo o primeiro programa: Biblioteca padrão e headers
Pra começar, vamos olhar as três primeiras linhas do código.
O C++ possui um monte de funções prontas pra gente usar, essas funções estão contidas na C++ Standard Library, a Biblioteca Padrão do C++. A biblioteca padrão é dividida em várias pequenas partes chamadas de headers, que em português significa “cabeçalho”.
Cada header contém funções específicas. No caso do nosso primeiro programa, vamos usar o iostream, pois é dentro dele que temos a função de escrever uma mensagem pro usuário.
Então, o que fazemos nas primeiras linhas do nosso código é incluir os headers que vamos usar.
Para incluir um header é só a gente usar a diretiva #include .
Pronto, agora o cabeçalho está incluído e já estamos acessando a biblioteca padrão do c++. Mas antes de começar a escrever o código temos que usar a expressão using namespace std;.
A expressão using namespace serve pra avisar ao compilador sobre a origem das funções do header que a gente adicionou. Como estamos usando apenas a biblioteca padrão, a gente usa o termo std que é uma sigla para “standard”. Se algum dia você utilizar outras bibliotecas, você deve adicionar a sigla dessas outras bibliotecas também.
Entendendo o primeiro programa: A função main()
Agora vamos pra linha 5 em diante do nosso código.
A próxima coisa que precisamos escrever é a função main(). Essa é função principal e mais importante do código C++, pois é ela quem diz onde o seu código começa e termina!
A grande maioria dos comandos serão escritos e usados dentro da função main().
A função main() é declarada da seguinte forma:
Observe o código acima com bastante atenção. Basicamente todos os códigos que você for escrever em C++ vão começar desse jeito! Essa é a estrutura mais básica em C++. Vamos usar essa estrutura o tempo todo daqui pra frente, e você vai ter que se acostumar com ela.
O termo int main() diz pro compilador que essa é a função mais importante do código. Dentro das chaves { } é onde a gente vai escrever o conteúdo do nosso código. E a expressão return 0; informa pro compilador o final do nosso programa
Entendendo o primeiro programa: Mensagem na tela
Pronto, a estrutura básica do nosso programa está feita. Agora podemos escrever nossa mensagem na tela.
Dentro do cabeçalho iostream temos várias funções para entrada e saída de dados. A cout é a função que escreve textos na tela.
Para usá-la, digite cout “Mensagem de texto”; dentro da função main():
E pronto! Você conseguiu escrever, passo-a-passo, uma mensagem na tela!
O símbolo é o operador de inserção. Em outras palavras, o “insere” o texto entre aspas dentro da função cout.
Ah, e uma curiosidade é que cout se pronuncia “cê out” e significa “console output”.
Se quiser saltar uma linha entre o texto e o fim do programa, basta inserir o comando endl que significa “end line” que é “fim da linha” em português.
Ah, tem um detalhe: o C++ padrão não aceita palavras acentuadas. Então se você escrever “Olá”, a letra acentuada vai ser impressa de maneira estranha.
Ampliando o primeiro programa: Muitas mensagens na tela
Se a gente quiser, podemos usar a função cout várias vezes seguidas para escrever várias mensagens consecutivas. E usando o endl podemos pular linhas.
Outra coisa legal, é que podemos usar o várias vezes no mesmo cout e inserir várias mensagens diferentes e pular várias linhas também.
Saca só esse exemplo:
A melhor forma de aprender é praticando. Tente imprimir várias mensagens legais usando o cout.
Comentários em C++
As vezes precisamos escrever coisas importantes, mas que não fazem parte do código.
Pode ser uma explicação de um código complicado, ou uma mensagem para um outro programado que esteja lendo o programa.
Em programação chamamos essas mensagens de comentários. No C++ podemos fazer comentários de duas maneiras:
Usando duas barras (//): todo o texto que estiver depois das barras na mesma linha vira um comentário.
A outra forma é iniciar o comentário em uma linha usando /* e terminar o comentário em outra linha usando */
O texto comentado é simplesmente ignorado pelo compilador, e por isso não afeta em nada o resultado do programa.
O ponto e vírgula no C++
Observe os códigos que escrevemos. Note que várias vezes usamos o ponto e vírgula ; pra terminar alguns comandos.
No C++, a maioria dos comandos precisa terminar com um ponto e vírgula. E um dos erros mais comuns entre os programadores novatos é esquecer do bendito ; .
Mas o ponto e vírgula pode ser útil em alguns casos, por exemplo, imagina que você está escrevendo um comando muito grande, e você precisa apertar enter pra escrever o resto do comando na linha abaixo. Se você não usar o ; o C++ vai saber que o comando continua na linha de baixo :-) . Dá uma olhada no exemplo:
Como eu disse, um dos erros mais comuns entre programadores novatos é esquecer de usar o ; ! Então, quando você encontrar um erro num código, sempre é bom você observar se você adicionou todos os pontos e virgula necessários (ou se não colocou um ; no lugar errado).
Bem, por hoje é isso pessoal! Até a próxima.
Entendendo o primeiro programa: Biblioteca padrão e headers
Entendendo o primeiro programa: A função main()
Entendendo o primeiro programa: Mensagem na tela
Ampliando o primeiro programa: Muitas mensagens na tela
Comentários em C++
O ponto e vírgula no C++
Exercícios Resolvidos
Exercício Resolvido #1
Elaboração Própria
Desenvolva um programa que imprima a frase “Estou aprendendo C++”, em uma linha abaixo escreva o seu nome, e numa terceira linha imprima o seu curso de graduação.
Passo 1
Fala aí, pessoal! Essa questão é pra pôr a mão na massa! Então vamos lá.
Quando a gente for escrever qualquer programa em C++, a gente sempre começa escrevendo a estrutura básica:
Passo 2
Agora, dentro da função main() vamos imprimir nossas mensagens.
Pra imprimir uma mensagem na tela usamos a função cout, os operadores de inserção e digitamos a mensagem entre aspas. Vamos colocar um endl pra poder pular de linha:
Ah, e não vai esquecer de colocar o ponto e vírgula no final da linha.
Passo 3
Seguindo o mesmo processo, vamos usar a função cout de novo pra imprimir o nosso nome na tela. Meu nome é “Juan”, mas claro coloque o seu nome né...
Chamamos a função cout utilizamos o , escrevemos o texto entre aspas, chamamos a função endl e usamos o ponto e vírgula.
Passo 4
Tudo certo! E agora vamos imprimir o nosso curso na linha abaixo. A minha engenharia é a mecânica, mas você coloca aí o seu curso!
Pela terceira vez, vamos usar o cout, o operador de inserção para escrever uma mensagem entre aspas e finalizamos com uma quebra de linha. E coloca o ponto e vírgula, não esqueça!
Resposta
Exercício Resolvido #2
Fonte do Exercício. Elaboração Própria
Faça um programa em C++ que imprima em letras maiúsculas a mensagem “C++ EH A MELHOR LINGUAGEM”. Adicione comentários no código que expliquem o processo do programa.
Passo 1
Primeiro de tudo, vamos começar escrevendo a estrutura mais básica de um programa em C++
Passo 2
Agora vamos escrever a nossa mensagem.
Pra imprimir uma mensagem na tela usamos a função cout, os operadores de inserção e digitamos a mensagem entre aspas. E vamos colocar um endl pra poder pular de linha.
Passo 3
Um comentário é algo que você escreve no seu código mas que não vai ser executado pelo computador, quando você coloca o programa pra rodar. Pode ser uma explicação pra que você mesmo não esqueça alguma informação importante ou pra que outra pessoa consiga entender seu código. São boas práticas de programação.
Pra adicionar um comentário em uma linha usamos duas barras //. Pra um comentário de várias linhas usamos o /* */.
Vamos usar o comentário de várias linhas para explicar o programa de forma geral (entre as linhas 7 e 10 abaixo). E o comentário de uma linha pra explicar o comando da respectiva linha (na linha 14).
Prontinho! Programa funcionando e comentado!
Resposta
Exercício Resolvido #3
Elaboração Própria
Jogo dos erros:
Você viu que o C++ é uma linguagem muito sensível aos erros. No código abaixo tem 4 erros que impedem o código de compilar. Identifique os erros e escreva um código com as correções.
Passo 1
Uma forma legal de resolver esse exercício é digitar o código acima, tentar compilar, e usar os avisos de erro do compilador pra encontrar os problemas.
Mas aqui vamos resolver somente lendo e analisando o código!
Passo 2
Primeiro, vamos olhar o cabeçalho pra ver se há algo estranho. Notou? Olha de perto pro using namespace std;
O código da questão esqueceu de colocar o ponto e vírgula.
Passo 3
Olhando agora pra função main(), a estrutura parece estar completa: os parêntesis, as chaves e o return estão todos no lugar certo!
Então vamos olhar cada uma das três funções cout.
No primeiro cout o texto não está entre aspas. Quando o texto não está entre aspas o C++ não consegue interpretar o que está escrito como texto.
No segundo cout faltou colocar o ponto e vírgula no final da linha. Sem o ponto e vírgula o C++ não sabe quando a função acaba, e aparecerá um erro.
No terceiro cout faltou utilizar o operador de inserção () entre o texto e o comando endl.
Passo 4
Vamos aplicar as correções no código.
Adicione o ponto e vírgula logo após std:
Vamos colocar o texto “Estou aprendendo C++!” entre as aspas:
Inserir o ponto e vírgula no segundo cout
E adicionar o operador de inserção entre o texto e o comando endl
Resposta
Os erros são:
- Faltou ponto e vírgula na linha 03.
- Faltaram as aspas ao redor do texto na linha 07.
- Faltou o ponto e vírgula no final da linha 08.
- Faltou o operador de inserção entre o texto e o endl na linha 09.
O código corrigido é:
Exercício Resolvido #4
Elaboração Própria
Observe os dois programas a seguir. Existe alguma diferença no resultado gerado por eles?
Passo 1
A questão quer que a gente compare os resultados dos dois programas. Uma forma de fazer isso seria escrever e compilar os dois e comparar os resultados.
Mas que tal se a gente só analisar os códigos? Então vamos junto...
Primeiro de tudo, da linha 1 até a linha 6 os dois códigos são idênticos. Então, o que nos interessa é analisar o que tem dentro da função main() de cada um dos códigos
Passo 2
Vamos analisar o Código 1.
O Código 1 é bem direto, na linha 7 é impressa a mensagem “Voce conhece o Responde Ai” e em seguida ocorre uma quebra de linha.
E na linha 09, ocorre uma nova impressão, o texto “Sim! Eh o site mais legal do mundo” é impresso na tela e depois tem uma quebra de linha.
Ou seja, a saída do programa são duas frases, uma em cada linha.
Passo 3
Agora vamos analisar o Código 2
Na linha 07, o comando cout é usado para inserir a mensagem “Voce conhece ”, e depois, na mesma linha, é impresso o texto “o Responde Ai”, e uma quebra de linha.
Na linha 09 é impressa a mensagem “Sim!” e depois o programador pula uma linha. Mas não inseriu o ponto e vírgula. Isso indica que o comando cout ainda está ativo.
Na linha 10 é usado o para inserir o texto “Eh o site mais legal do mundo”. Atenção, esse texto é escrito na mesma linha que o “Sim!”, pois não foi inserido o comando endl
Na linha 11 é usado o , mas dessa vez é inserido o comando endl.
O resultado são duas frases, uma em cada linha.
Passo 4
Então é isso. Os dois códigos foram escritos de maneira diferente, mas os dois imprimem as mesmas frases, nas mesmas linhas.
Ou seja, pro usuário que não pode ver o código, os dois programas são idênticos!
Resposta
Não! Apesar de terem sido escritos de maneira diferente, o resultado dos dois códigos é idêntico.