Tutoriais

Vamos Programar? – Introdução à Programação #6

37 Comentários

“Hello World!”

O mundo está constantemente a evoluir: desde o mais pequeno inseto à espécie Humana. Evolução, mudança, futuro – são das palavras que mais são ouvidas atualmente.

A tecnologia tem revolucionado o mundo das mais diversas formas. Se quer entrar no mundo da tecnologia e deixar a sua marca, pode começar aqui.

Introdução à Programação #6


Na  semana passada, falámos sobre a instalação de um IDE, sendo que o IDE que foi recomendado foi o Netbeans. A partir de agora, algumas das partes que serão aqui visualizadas terão o Netbeans na sua base, como, por exemplo, a forma de executar um programa.

A utilização de um IDE poderá esconder diversos conceitos aos mais iniciantes porém, nós optámos por seguir esse caminho visto que existem muitos sistemas operativos e teríamos que dar instruções para vários SO ao mesmo tempo.

[field name=iframe]

Visualize este vídeo no YouTube

Como seria o mundo da programação sem o famoso “Hello World”? É uma tradição o primeiro programa criado por alguém imprimir a mensagem “Hello World” no ecrã.

Antes de escrever qualquer coisa em C, precisa criar um projeto. Para isso, abra o Netbeans e clique File → New Project. No ecrã que se abriu escolha C/C++ Application.

De seguida clique em Next. Na nova janela, escolha o nome do projeto – que eu coloquei “HelloWorld” – e onde vai guardar os ficheiros do projeto.

netbeans02

As restantes definições podem ficar como estão. Agora, deve ver uma disposição de ficheiros parecida à seguinte:

netbeans05

De momento, deve focar-se na pasta Source Files que é a que contém o código-fonte da aplicação. Abra o ficheiro main.c que foi criado automaticamente e apague o seu conteúdo. Depois, copie e cole o seguinte trecho de código:

#include 

int main() 
{
  printf("Hello World!\n");
  return 0;
}

Este trecho de código irá imprimir, numa janela de linha de comandos, a mensagem “Hello World!”. Vamos então executar este trecho de código. Para isso, tem que clicar no seguinte botão que está localizado na barra superior:

netbeans03

Depois de aguardarmos uns momentos, iremos visualizar a mensagem “Hello World!” numa “caixa” semelhante à seguinte (localizada na parte inferior do Netbeans):

netbeans04

“#include”

A primeira linha do trecho acima não é C mas sim uma indicação para o compilador. Vamos começar do início. C é uma linguagem de alta velocidade, por isso é que é usada em locais que necessitam disso como, por exemplo, o kernel – núcleo – do Linux e de diversos sistemas operativos como o Windows.

Devido à alta velocidade que pode ser proporcionada por esta linguagem, C não está preparado, por omissão, para todos os tipos de tarefas. Assim, precisamos de incluí-las para ter disponíveis mais funções.

Para as incluir, utilizamos o comando “#include” que diz ao compilador que precisa de incluir ficheiros ponto H (.h) que são ficheiros do tipo HEADER.

Nesta caso adicionámos o ficheiro “stdio.h” que quer dizer standard input/output, ou seja, sistema padrão de entrada e saída.

Função “main”

Todos os programas C têm que ter, obrigatoriamente, uma função “main” que será automaticamente executada. Esta função retorna um dado do tipo “int” (número inteiro).

De momento não há mais nada a acrescentar sobre funções porém, mais à frente, iremos voltar a falar sobre este tema e o porquê de ser muito importante.

“printf”

Este é um comando/função que está contido no ficheiro stdio.h e, caso não incluamos o ficheiro, será gerado erro. Esta função quer dizer print formatted ou seja “escrita de dados formatados”.

Esta função aceita vários parâmetros ou seja, permite-nos enviar várias coisas que irão ser processadas por ela. De momento, apenas iremos falar do primeiro argumento.

O primeiro argumento é uma string ou seja “conjunto de caracteres”. Este conjunto de caracteres deve ser colocado dentro de aspas.

Neste caso escrevemos “Hello World!\n!” o que quer dizer que será imprimido “Hello World!” na janela. E o que faz “\n”? Simples, é um caracter especial que imprime uma nova linha. Chama-se new line.

A “\” serve para inserir caracteres especiais. Então… como se insere esta mesma barra? Basta colocar “\\”. Existem alguns outros caracteres especiais que também devem ser inseridos utilizando esta barra:

  • Tab → \t
  • Carriage Return (coloca o cursor no início da linha) → \r
  • Alguns sons → \a e \7
  • Por cento → %%

“return”

Como referi acima, a função main irá, neste caso, retornar um número inteiro. É aqui que o comando return, que quer dizer retorno, entra. Este retorna o número 0 que é o binário para falso.

De momento, ainda não temos muito a acrescentar sobre este comando mas mais à frente iremos falar de novo sobre ele quando abordarmos funções e procedimentos.

Exercícios

  1. Imprima o seu nome no ecrã.
  2. Imprima a sua idade no ecrã.
  3. Imprima o seu nome, idade, profissão e morada no ecrã em linhas separadas.

Mais uma vez, gostávamos de saber a sua opinião. Caso tenha alguma dúvida, pode sempre utilizar os comentários para colocar a questão. Caso o faça,  pedimos que utilize a keyword [DUVIDA] no início do seu comentários.


Resoluções de exercícios.

Esta saga

Henrique Dias

Mais episódios: 
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13][12] [14] [15] [16]
[17] [18] [19] [20] [21] [22] [23][24]

homefacebookgoogle-plus

Também pode gostar

Comentários

37

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de jedi
    jedi

    porque c e nao java ou c#?

    1. Avatar de Pedro Luís
      Pedro Luís

      Se souberes C/C++, sabes C# u java… C é uma linguagem de baixo nível bsatante importante para qualquer programador. C# e java já são linguagens de mais alto nível, igualmente importantes nos dias de hoje.

      1. Avatar de Moreira
        Moreira

        Muito bem explicado. Subscrevo. 🙂

      2. Avatar de Ricardo Fernandes
        Ricardo Fernandes

        Eu ando num curso de programação e começamos logo a dar c#, nem passamos pelo C

    2. Avatar de Só um gajo
      Só um gajo

      Porque se souberes C é mais fácil mudares de linguagem de programação. O C não tem as abstracções que o Java e o C# têm e por isso é melhor para se aprender.
      Além de que C ainda é utilizado em muito sítio, o sistema operativo que usaste apra escrever isso tem, quase de certeza, uma grande parte escrita em C, assim como muitos dispositivos e programas que se vêem por aí.

    3. Avatar de Alex
      Alex

      O d nao é mais complicado k o c#? Se é, quem programa em c programa em c#

    4. Avatar de jedi
      jedi

      Muitas faculdades dos US como MIT ensinam Python, por exemplo. 😉

      Uma coisa que acho desnecessário, ensinar uma linguagem logo num IDE, que não é procedimento correto.

      Primeiramente devia diretamente através da linha de comandos.

      em sistema Unix como ubuntu ou ate mesmo Mac OS X, atraves da linha comando serve perfeitamente para programas pequenos. 😉

      1. Avatar de Henrique Dias

        Olá jedi!
        Sim, tens razão na questão de utilizar IDE ser a melhor opção nesta altura do campeonato mas, tal como já havia mencionado num comentário, o facto de nem todos os leitores utilizarem o mesmo SO levaria a termos que explicar comandos para diversos sistemas operativos.

        Não é por mais nada.

        Cumprimentos,
        Henrique Dias

        1. Avatar de Moreira
          Moreira

          Citando JFK sobre a ida à Lua:
          “We are doing it not because it’s easy, but because IT IS HARD”.
          Keep on Pplware.

        2. Avatar de lmx
          lmx

          podes sempre usar o melhor ide do mundo para c…geany.

          1. Avatar de jedi
            jedi

            Para mim o melhor é o Turbo C. LOL

  2. Avatar de Diogo

    Ensinar alguem a programar e utilizar C é overkill. Acho que podiam ter usado uma linguagem mais simples para iniciantes, se esse é o objecivo.

    1. Avatar de Só um gajo
      Só um gajo

      Overkill? Porquê?

      É mais fácil para alguém que seja educado a programar numa linguagem com um nível de abstracção mais baixo começar a programar num nível de abstracção mais alto, do que fazer o oposto.
      Se ensinares alguém a programar em C como deve ser, esse alguém, eventualmente, irá desenvolver outras capacidades de resolução de problemas porque não há funções out of the box para fazer aquilo que em Java ou C# é trivial. Por exemplo em Java tens pacotes para tratar de listas ligadas e mapas sem teres que instalar nenhuma depend~encia adicional. Em C se quiseres fazer isso, tens que criar tu os métodos para o fazer. Isso faz-te investigar e estudar como funciona uma lista ligada para a implementares.
      A curva de aprendizagem pode ser mais íngreme no início, mas a longo prazo vão aparecer outros benefícios. Além de que tu em C programas tudo, desde um programa para gestão do que quer que seja, a drivers para fazer funcionar um dispositivo ligado ao computador, até à centralina do teu carro e a outros dispositivos.

    2. Avatar de Moreira
      Moreira

      Citando JFK sobre a ida à Lua:
      “We are doing it no because it’s easy, but because IT IS HARD”.
      Keep on Pplware.

  3. Avatar de Apaxe
    Apaxe

    Era importante que o autor fizesse um tutorial a ensinar os menos inexperientes de como adicionar um compilador C/C++ ao IDE Netbeans, pois só assim poderão seguir o que aqui foi ensinado.
    Deixo aqui um link que pode ajudar os menos inexperientes a adicionar o Cygwin ao NetBeans:

    https://www.youtube.com/watch?v=FDJ7YhMzsXw

  4. Avatar de alexandre fonseca
    alexandre fonseca

    [Duvida]
    ao tenter executar o codigo com o netbeans surge erro para configurar compilador sera que pode ajudar?
    obrigado
    alexandre fonseca

    1. Avatar de Apaxe
      Apaxe

      O Post de cima tem um link para um vídeo que ensina adicionar o compilador Cygwin ao Netbeans.
      Aconselho-te a reiniciares o PC no final.

    2. Avatar de Henrique Dias

      Olá Alexandre!
      Recomendo a visualizar o vídeo que o Apaxe mencionou no comentário anterior. Boa sorte para a instalação e boa aprendizagem 🙂

  5. Avatar de alexandre fonseca
    alexandre fonseca

    boa noite
    obrigada, apache e henique pela dica ja funciona correctamente

  6. Avatar de Alex
    Alex

    [Duvida]

    Eu nao tenho C/C++ Application na janela de novo projecto, baixei o jdk-8u25-nb-8_0_1-windows-x64.exe nao é o full afinal? Em plugins tenho o C/C+…

    1. Avatar de Henrique Dias

      Olá Alex!
      Tens o compilador corretamente instalado?

      1. Avatar de Alex
        Alex

        Hoje peguei no ide e instalei o plugin c/c++ através do menu tools do NetBeans

        Depois de o reiniciar apareceu uma janela a indicar que faltavam os compiladores para c/c++, instalei o cygwin com o gcc-g++, gdb

  7. Avatar de marcio
    marcio

    não sei se foi só a mim mas ao compilar estava a me dar erro só tive sucesso quando coloquei o ” ; ” no final do codigo ficando assim:

    #include

    int main()
    {
    printf(“Hello World!\n”);
    return 0;
    };

    Alguem me pode explicar porque ou foi so mesmo erro no artigo??
    Obrigado.

    1. Avatar de Henrique Dias

      Olá marcio!

      Não é erro do artigo. Poderá ser, talvez, do compilador. O compilador da Microsoft, por exemplo, necessita de alguns comandos adicionais.

      Já agora, falta o “<stdio.h>” depois de #include. 😉

      1. Avatar de marcio
        marcio

        pois o “stdio.h” em falta foi mesmo erro mas a fazer o comentario e eu estou a usar o Netbeans no Ubuntu, de qualquer forma se for só isso que eu terei de fazer a mais para que tudo corre sem erros tambem não me parece grave.
        Obrigado pela resposta. 😉

  8. Avatar de Rodrigo
    Rodrigo

    Boa no meu fica assim alguém explica o que fazer ?

    “/C/MinGW/msys/1.0/bin/make.exe” -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
    make.exe[1]: Entering directory `/c/Users/Rodrigo Maia/Documents/NetBeansProjects/CppApplication_1′
    “/C/MinGW/msys/1.0/bin/make.exe” -f nbproject/Makefile-Debug.mk dist/Debug/MinGW-Windows/cppapplication_1.exe
    make.exe[2]: Entering directory `/c/Users/Rodrigo Maia/Documents/NetBeansProjects/CppApplication_1′
    mkdir -p build/Debug/MinGW-Windows
    make.exe[2]: mkdir: Command not found
    make.exe[2]: *** [build/Debug/MinGW-Windows/main.o] Error 127
    make.exe[2]: Leaving directory `/c/Users/Rodrigo Maia/Documents/NetBeansProjects/CppApplication_1′
    make.exe[1]: *** [.build-conf] Error 2
    make.exe[1]: Leaving directory `/c/Users/Rodrigo Maia/Documents/NetBeansProjects/CppApplication_1′
    make.exe”: *** [.build-impl] Error 2

    BUILD FAILED (exit value 2, total time: 3s)

    Obrigado 🙂

    1. Avatar de Henrique Dias

      Olá Rodrigo!

      Que versão do Netbeans está a utilizar? E qual o código que está a tentar compilar (pode copiá-lo para aqui: pastebin.com)?

      1. Avatar de Rodrigo
        Rodrigo

        Boas a versão é 8.0.2 e o código é aquele que aparece no video, só que quando carrego em executar aparece isso.

        Obrigado

        1. Avatar de Henrique Dias

          Olá Rodrigo.

          Experimenta adicionar “C/MinGW/msys/1.0/bin” à variável PATH do sistema. Estás a utilizar que SO?

          1. Avatar de Rodrigo
            Rodrigo

            Windows 8.1

          2. Avatar de Henrique Dias

            Rodrigo, encontrei aqui uma página onde falam acerca desse problema (http://forums.netbeans.org/topic57824.html). Espero que seja útil. Se não conseguir resolver, diga.

          3. Avatar de Rodrigo
            Rodrigo

            Obrigado mas eu sou muito novo nisto não percebo muito bem 🙂 mas poderiam fazer um video como se instala o programa sff 🙂

          4. Avatar de Henrique Dias

            Normalmente, não acontecem esses problemas. Daqui a duas semanas iremos lançar a compilação de toda a saga. Lá recomendamos apenas a instalação de um compilador e a sua utilização. Talvez seja o mais indicado e, por vezes, mais fácil. 🙂 Qualquer coisa, diga.

  9. Avatar de Rodrigo
    Rodrigo

    Obrigado 🙂 vou esperar, e uma sugestão para o pplware abrir uma aba no site a dizer “ajuda” e a ideia é quem precisar de ajuda escreve o problema e uma pessoa se for necessário entrar no computador da outra pessoa para ajudar como por exemplo o meu caso com o programa :).

  10. Avatar de Lourenço
    Lourenço

    Estou a tentar fazer esta introfuçao a programaçao, sou iniciante e gostaria bastante de aprender a programar
    ate este capitulo ja fiz tudo mas quando tava a executar o primeiro trecho de codigo apareceu me isto http://prntscr.com/635veo (printscreen c o qe apareceu) o qe e qe tenho qe por em make command para poder executar?

    alem disso gostaria de saber se eu qe sou iniciante e muito mau começar diretamente usando um IDE

  11. Avatar de Lino

    Aqui também estou com o mesmo problema, dá sempre erro ao compilar. Estou a usar Arch Linux.