Apostila C da UFMG - Universidade do Minho
Apostila C da UFMG - Universidade do Minho
Apostila C da UFMG - Universidade do Minho
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Compilan<strong>do</strong> e executan<strong>do</strong> este programa você verá que ele coloca a mensagem Ola! Eu estou vivo! na tela<br />
2.2.1 - Vamos analisar o programa por partes.<br />
A linha #include diz ao compila<strong>do</strong>r que ele deve incluir o arquivo-cabeçalho stdio.h. Neste arquivo<br />
existem definições de funções úteis para entra<strong>da</strong> e saí<strong>da</strong> de <strong>da</strong><strong>do</strong>s (std = stan<strong>da</strong>rd, padrão em inglês; io =<br />
Input/Output, entra<strong>da</strong> e saí<strong>da</strong> ==> stdio = Entra<strong>da</strong> e saí<strong>da</strong> padroniza<strong>da</strong>s). To<strong>da</strong> vez que você quiser usar uma destas<br />
funções deve -se incluir este coman<strong>do</strong>. O C possui diversos arquivos -cabeçalhos.<br />
Quan<strong>do</strong> fazemos um programa, uma boa idéia é usar comentários que ajudem a eluci<strong>da</strong>r o funcionamento <strong>do</strong> mesmo.<br />
No caso acima temos um comentário: /* Um Primeiro Programa */. O compila<strong>do</strong>r C desconsidera qualquer coisa<br />
que esteja começan<strong>do</strong> com /* e terminan<strong>do</strong> com */. Um comentário pode, inclusive, ter mais de uma linha.<br />
A linha main() define uma função de nome main. To<strong>do</strong>s os programas em C têm que ter uma função main, pois é<br />
esta função que será chama<strong>da</strong> quan<strong>do</strong> o programa for executa<strong>do</strong>. O conteú<strong>do</strong> <strong>da</strong> função é delimita<strong>do</strong> por chaves { }. O<br />
código que estiver dentro <strong>da</strong>s chaves será executa<strong>do</strong> sequencialmente quan<strong>do</strong> a função for chama<strong>da</strong>.<br />
A única coisa que o programa realmente faz é chamar a função printf(), passan<strong>do</strong> a string (uma string é uma<br />
seqüência de caracteres, como veremos brevemente) "Ola! Eu estou vivo!\n" como argumento. É por causa <strong>da</strong><br />
função printf() que devemos incluir o arquivo- cabeçalho stdio.h . A função printf() neste caso irá apenas colocar a<br />
string na tela <strong>do</strong> computa<strong>do</strong>r. O \n é uma constante chama<strong>da</strong> de constante barra inverti<strong>da</strong> . O \n é de "new line" e ele<br />
é interpreta<strong>do</strong> como um coman<strong>do</strong> de mu<strong>da</strong>nça de linha, isto é, após imprimir Ola! Eu estou vivo! o cursor passará<br />
para a próxima linha. É importante observar também que os coman<strong>do</strong>s <strong>do</strong> C terminam com ; .<br />
Alguns compila<strong>do</strong>res C podem <strong>da</strong>r uma mensagem de aviso ("warning") ao compilar os programas iniciais<br />
apresenta<strong>do</strong>s aqui. Isto é porque, por default, to<strong>da</strong> função em C (inclusive a main()) retorna um inteiro. Quan<strong>do</strong> não<br />
fornecemos este inteiro de retorno, o compila<strong>do</strong>r pode man<strong>da</strong>r uma mensagem <strong>do</strong> tipo "Function should return a<br />
value.". Por enquanto você terá que aceitar estas mensagens. Mais tarde ensinaremos como devemos fazer para que o<br />
programa fique "correto".<br />
Podemos agora tentar um programa mais complica<strong>do</strong>:<br />
#include <br />
main ()<br />
{<br />
int Dias; /* Declaracao de Variaveis */<br />
float Anos;<br />
printf ("Entre com o número de dias: "); /* Entra<strong>da</strong> de Da<strong>do</strong>s */<br />
scanf ("%d",&Dias);<br />
Anos=Dias/365.25; /* Conversao Dias->Anos */<br />
printf ("\n\n%d dias equivalem a %f anos.\n",Dias,Anos);<br />
}<br />
Vamos entender como o programa acima funciona. São declara<strong>da</strong>s duas variáveis chama<strong>da</strong>s Dias e Anos. A primeira<br />
é um int (inteiro) e a segun<strong>da</strong> um float (ponto flutuante). É feita então uma chama<strong>da</strong> à função printf(), que coloca<br />
uma mensagem na tela.<br />
Queremos agora ler um <strong>da</strong><strong>do</strong> que será forneci<strong>do</strong> pelo usuário e colocá-lo na variável Dias . Para tanto usamos a função<br />
scanf(). A string "%d" diz à função que iremos ler um inteiro. O segun<strong>do</strong> parâmetro passa<strong>do</strong> à função diz que o <strong>da</strong><strong>do</strong><br />
li<strong>do</strong> deverá ser armazena<strong>do</strong> na variável Dias. É importante ressaltar a necessi<strong>da</strong>de de se colocar um & antes <strong>do</strong> nome<br />
<strong>da</strong> variável a ser li<strong>da</strong> quan<strong>do</strong> se usa a função scanf(). O motivo disto só ficará claro mais tarde. Observe que, no C,<br />
quan<strong>do</strong> temos mais de um parâmetro para uma função, eles serão separa<strong>do</strong>s por vírgula.<br />
Temos então uma expressão matemática simples que atribui a Anos o valor de Dias dividi<strong>do</strong> por 365.25. Como Anos<br />
é uma variável float o compila<strong>do</strong>r fará uma conversão automática entre os tipos <strong>da</strong>s variáveis (veremos isto com<br />
detalhes mais tarde).<br />
Pág. 7