Tutorial C - Parte 06 - Estrutura básica de um programa em C
Você já
viu um programa básico em C. Antes de começar a se dedicar ao estudo de C,
é bom que você compreenda alguns termos e alguns aspectos da linguagem, o que
facilitará sua compreensão dos capítulos seguintes. A seguir, formalizaremos
alguns aspectos da estrutura básica da linguagem.
·
Um
programa em C é basicamente estruturado em blocos de código. Blocos nada mais são que
conjuntos de instruções, e devem ser delimitados com chaves ({
... }). Um bloco
também pode conter outros blocos.
· Uma instrução geralmente corresponde a uma ação
executada, e deve sempre terminar com ponto-e-vírgula (;).
·
O
compilador ignora espaços, tabulações e quebras de linha no meio do código;
esses caracteres são chamados genericamente de espaço em branco (whitespace). Ou seja, os três
trechos a seguir são equivalentes:
printf("Olá mundo");return 0;
printf ("Olá mundo");
return 0;
printf(
"Olá mundo"
);
return
0
;
No entanto, você achará
muito mais fácil de ler um estilo de código mais parecido com o segundo
exemplo. Costuma-se usar (mas não abusar de) espaços e tabulações para
organizar o código.
· A
linguagem é sensível à utilização de maiúsculas e minúsculas. Por exemplo, se
você escrevesse
Printf
no lugar de printf
, ocorreria um erro, pois o nome da
função é totalmente em minúsculas.
Escopo
Geralmente,
em programação, não queremos que outras funções usem as variáveis que estamos
manipulando no momento. O conceito de escopo está
justamente relacionado a isso. Escopo é
o nível em que um dado pode ser acessado; em C há dois níveis: local e global. Uma variável global pode ser acessada por
qualquer parte do programa; variáveis locais podem ser acessadas
apenas dentro do bloco onde foram declaradas (ou nos seus sub-blocos), mas não
fora dele (ou nos blocos que o contêm). Isso possibilita que você declare
várias variáveis com o mesmo nome mas em blocos diferentes. Veja um exemplo:
int a;
{
int a;
int b;
}
{
int b;
}
As
duas variáveis chamadas b são diferentes e só podem ser acessadas
dentro do próprio bloco. A primeira variável a é global, mas só pode
ser acessada no segundo bloco, pois a variável local no primeiro bloco
oculta a variável global de mesmo nome. Note que isso é possível em C, e tome
cuidado para não cometer erros por causa disso.
Introdução às
funções
Funções são
muito usadas, não só em C, mas em linguagens de programação em geral. Uma
função é basicamente um bloco de código que realiza uma certa tarefa. Quando
queremos realizar aquela tarefa, simplesmente fazemos uma chamada de
função para a função correspondente.
Uma
função pode precisar que o programador dê certos dados para realizar a tarefa;
esses dados são chamados argumentos.
A função também pode retornar um valor, que pode indicar se a tarefa foi
realizada com sucesso, por exemplo; esse valor é o valor de retorno.
Podemos fazer uma analogia com as funções
matemáticas: as variáveis independentes são os argumentos e o valor numérico da
função é o valor de retorno.
Em
C, para chamar uma função, devemos escrever o seu nome, seguido da lista de
argumentos (separados por vírgula) entre parênteses, mesmo que não haja nenhum
argumento. Lembre que a chamada de função também é uma instrução, portanto devemos
escrever o ponto-e-vírgula no final. Alguns exemplos de chamadas de funções:
funcao(arg1, arg2, arg3);
funcao();
Se
quisermos saber o valor de retorno de uma função, podemos armazená-lo numa
variável. Variáveis serão introduzidas logo adiante, mas a sintaxe é muito
fácil de aprender:
valor_de_retorno = funcao(arg1, arg2);
Em
C, todo o código (exceto as declarações de variáveis e funções) deve estar
dentro de funções. Todo programa deve ter pelo menos uma função, a função main, que é por onde começa a execução
do programa.
Expressões
Um
conceito muito importante em programação é o de expressão. Expressões são
conjuntos de valores, variáveis, operadores e chamadas de funções que são avaliados ou interpretados para
resultar num certo valor, que é chamado o valor da expressão. Por exemplo:
·
3 * 4 + 9
é uma expressão de valor 21;
·
a + 3 * b
é uma expressão equivalente à expressão
matemática a + 3b;
·
foo()
é uma expressão cujo valor é o valor de
retorno da função foo.
Comentários
Muitas
vezes é bastante útil colocar comentários no código, por exemplo para
esclarecer o que uma função faz, ou qual a utilidade de um argumento, etc. A
maioria das linguagens de programação permite comentários; em C, eles podem
aparecer de duas maneiras:
/* Comentários que podem
ocupar várias
linhas.
*/
e
// Comentários de uma linha só, que englobam
// tudo desde as duas barras até o final da linha.
Tudo
que estiver entre as marcas /* e */ ou entre // será
ignorado pelo compilador. Note que os comentários de uma linha só (iniciados
por //) foram incorporados ao padrão da linguagem apenas em 1999, e
portanto alguns compiladores podem não os suportar. As versões mais recentes do
GCC não terão problema em suportar esse tipo de comentário.
Seja o primeiro a comentar
Postar um comentário