Teoria
Introdução
Fala aí, aqui é o Guga do Responde Aí! Tudo bem com você?
Programar parece uma coisa de outro mundo, né? Porém, eu estou aqui para te dizer que não é e que vamos iniciar a nossa jornada com o que chamamos de função main.
Mas por que devemos saber o que é essa função?
Simples! Pois sem ela um programa na linguagem C nunca funcionará. Ela é a principal e na grande maiorias das vezes a primeira estrutura que nós codificamos quando vamos desenvolver um programa.
Função main
Assim que um programa inicia, a primeira coisa que ele faz é chamar a função principal que na linguagem C é conhecida como main.
Nós iremos nos aprofundar no conceito de função posteriormente, mas para entendermos essa parte, considere uma função como um local em que as instruções de um programa podem ser escritas (escopo).
Beleza, mas o que essa função principal faz?
Só para termos uma ideia, é dentro dela que as entradas dos programas são reconhecidas, processadas e uma saída é gerada. Além disso, ela também é responsável por encerrar o programa informando se foi ou não uma execução bem-sucedida a partir do retorno de um código.
Então, lembre-se da função main como o esqueleto do seu programa!
Mas que papo é esse de retorno de código?
Vamos imaginar um programa que já processou tudo aquilo que tinha que processar e agora vai se encerrar. De forma simples, o que ele faz é chamar o sistema operacional para avisar que está se encerrando e é nessa parte que ele entrega um código. Esse código, por sua vez, será analisado pelo sistema operacional e pode indicar duas coisas:
- Se for um código de valor 0, a execução do programa foi bem-sucedida;
- Se for um código de valor não-zero (diferente de 0), o programa possui erros que serão reconhecidos especificamente por esse valor.
Só para não viajarmos na maionese, imagine uma loja com diversos funcionários e um gerente. Da mesma forma que o gerente tem que administrar os funcionários e todo o funcionamento da loja, um sistema operacional tem o papel de administrar os recursos do computador e todos os processos sendo executados.
Sabendo disso, vamos criar um contexto:
Imagine que durante o processamento de um programa houve uma divisão por 0 e um erro foi gerado.
Basicamente, como a execução não foi bem-sucedida e o programa foi encerrado inesperadamente, um código de valor não-zero foi enviado para o sistema operacional. Mais especificamente, esse código possui o valor 1 e sinaliza erros diversos, esses que serão prontamente corrigidos pelo sistema operacional ao ter conhecimento da situação.
Exatamente o mesmo ocorre para os outros erros, que por sua vez possuem outros códigos e diferentes formas de serem tratados.
Declarando a função main
Agora que nós já sabemos o que é a função main, está na hora de aprendermos a declará-la em um programa da linguagem C:
Basicamente para declarar a função main nós colocamos o tipo de retorno dela, que são números inteiros (por isso a abreviação int). O nome da função (main) seguida da abertura e do fechamento de parênteses. Em seguida, abrimos e fechamos as chaves para alocar o código principal do programa e ainda dentro das chaves, mas como última instrução, colocamos um retorno de valor 0, através do comando return (se a execução chegou até ali quer dizer que ela foi bem-sucedida).
Não quebre tanto a cabeça nesse momento para desvendar alguns desses termos que apareceram, o importante aqui é lembrar desse formato de declaração. Grande parte desse conteúdo é visto apenas mais para frente no tópico de funções.
Anatomia de um programa
Apesar de já sabermos declarar a função principal de um programa, na grande maioria dos casos nós precisaremos de bibliotecas para complementar o nosso código.
Mas o que é uma biblioteca?
Para ficar mais fácil, vamos criar um contexto:
Imagine uma pessoa que não assinou o Responde Aí! e precisa urgente achar a resposta de um dos seus livros de engenharia. Além disso, imagine que o buscador Google disponibilizasse apenas a lista de todos os sites do mundo em ordem alfabética.
Eu tenho medo só de pensar nesse mundo! Pois esse aluno iria demorar uma eternidade para achar o seu livro (sendo otimista).
Uma biblioteca é mais ou menos o que o buscador Google é para nós hoje, uma ferramenta capaz de entregar coisas muito úteis e que já estão prontinhas para uso. As coisas funcionam mais ou menos assim, da mesma forma que com o Google basta incluirmos um assunto de pesquisa para encontrarmos aquilo que queremos, em um programa basta incluirmos uma biblioteca para termos acesso a códigos prontos que executam aquilo que queremos.
Sabendo disso, agora nós podemos reservar um espacinho exclusivo na declaração da função main para a inclusão de bibliotecas:
Não podemos perder essa oportunidade, que tal incluirmos uma biblioteca para desenvolvermos o nosso primeiro programa utilizando a linguagem C?
Nós incluiremos uma biblioteca chamada stdio, ela é responsável por disponibilizar as principais funções de leitura de dados e impressão de informações da linguagem C.
Para incluí-la basta escrevermos a instrução de inclusão #include seguida do nome da biblioteca com a extensão .h entre os sinais de menor e maior.
Essa imagem aqui está fazendo exatamente esse processo:
Pronto! Agora que incluímos a biblioteca stdio, podemos utilizar todas as funcionalidades que ela nos disponibiliza. Para o nosso primeiro programa, utilizaremos a função printf que é responsável por imprimir informações na tela do usuário:
Para isso, basta escrevermos printf e entre parênteses e aspas duplas colocarmos aquilo que queremos imprimir.
É só isso! Nós acabamos de construir o nosso primeiro programa na linguagem C. O objetivo dele é imprimir a frase “Hello World!” na tela (esse é o primeiro programa que todos os programadores desenvolvem na vida).
Novamente, não se preocupe com a biblioteca stdio e suas funções nesse momento, elas só foram utilizadas para que pudéssemos escrever o nosso primeiro programa. Para você não ficar preocupado, nós veremos todos esses recursos novamente de forma mais aprofundada no tópico “Entrada e saída de dados”.
Agora que nós já conhecemos o ponto de partida para se programar na linguagem C, está na hora de resolvermos alguns exercícios de fixação!
Te encontro na página aqui do lado.