segunda-feira, 14 de setembro de 2009

Curso de C - Aula 3: Palavras Reservadas

Oi pessoal! O que acharam da semana passada? Não se preocupem se não entenderam alguns detalhes, e' só mandar e-mail. Muitas das questões tratadas nas postagens passadas são teóricas demais e demora um tempo para se acostumar. A programação em si é mais fácil do que parece. Nesta nova postagem, trataremos de algumas coisas interessantes, entre elas as palavras reservadas do C.

O que vem a ser palavras reservadas? São palavras que têm significado especial na linguagem. Cada palavra quer dizer alguma coisa e em C as instruções são executadas através do uso de palavras chaves previamente determinadas que chamaremos de palavras reservadas. Elas não poderão ser usadas para outras coisas, alem do determinado para o C, mas entenderemos mais a fundo o que isso quer dizer com o tempo.

Para o C conseguir trabalhar ficaria complicado distinguir quando uma dessas palavras especiais forem usadas como variáveis ou com instruções. Por isso, foi determinado a não utilização desta para outra coisa senão comando e afirmativas.

Abaixo está a lista dessas palavras. Relembrando, o C entende, tais palavras apenas em letras minúsculas (não funcionará se você colocar em maiúsculas).


auto, break, case, char, continue, default, do, double, else, entry, extern, float, for, goto, if, int, long, register, return, short, sizeof, static, struct, switch, typedef, union, unsigned, while, enum, void, const, signed, volatile.

Todo conjunto de palavras reservadas acima são o conjunto das instruções básicas do C. Aparentemente, parecem poucas e você na prática usará apenas algumas poucas delas. Tal fato acontece pois uma das facilidades do C é a utilização muito natural de bibliotecas que funcionam como acessórios para o C (como plugins do seu netscape). Tais bibliotecas (conjunto de funções) não fazem parte intrínseca do C, mas você não encontrará nenhuma versão do C sem nenhuma delas. Algumas são até tratadas como parte da linguagem por serem padronizadas.

Bibliotecas
Como dito anteriormente, funções são uma forma genérica de resolvermos problemas. É como uma caixa preta, você passa os dados para ela e recebe o resultado.

Vamos supor que tenho uma função de realizar soma, eu só me preocupo em passar para ela os números que desejo ver somado e a função se preocupa em me entregar o resultado, o que acontece lá dentro é problema dela.

Através deste método, dividimos os programas em pedaços de funcionalidades, genéricos e pequenos de preferência, com intuito de utiliza-lo futuramente em situações que sejam convenientes.

Assim como soma, pode-se fazer uma função de subtração, multiplicação, divisão e várias outras e juntando-as se cria a tal famosa biblioteca.

As bibliotecas em si podem ser utilizadas por vários programas. Estes utilizam os subprogramas(funções!) desta mesma biblioteca tornando o programa gerado de menor tamanho, ou seja, o executável só vai possuir as chamadas das funções da biblioteca e não o incluirá no executável.

Só para esclarecer, tenho uma biblioteca que desenha botões em janelas(GTK faz isso). Na hora que se for criar uma agenda, por exemplo, utilizo as funções desta biblioteca sem precisar rescrever estas mesmas funções neste programa.

Em geral, utilizamos algumas funções já prontas para fazer determinadas tarefas que são consideradas básicas. O programador não costuma fazer uma rotina que leia diretamente do teclado ou imprima na tela um caracter.

Isso já existe e é bem implementado (uma coisa interessante de se entender em programação é, o que já existe de bem feito e pode ser utilizado deve ser utilizado). Seu sistema não será menos digno ou pior se você utilizar uma rotina que todo mundo utiliza em vez de ter a sua própria. O que importa e a finalidade do programa e o quão bem implementado ele esteja.

Tais funções que falamos, básicas, fazem parte da biblioteca C padrão (citada acima). Todo compilador C a possui, ele faz parte da padronização ANSI C. Seu compilador, independente do sistema que você utiliza, deve possuir. Outras bibliotecas a mais, além das padronizadas pelo ANSI, também vem junto com seu compilador porém não é recomendado a utilização, caso você queira escrever programas portáveis (que rode em todas as plataformas). Podemos aqui citar programação gráfica, de rede, etc como casos que são "perigosos" para programação portável. Não estou dizendo que você não deve programar para estas áreas, futuramente haverão tutoriais para essas áreas por aqui, porém deve atentar-se que tal programação é peculiar a plataforma que você está utilizando e fazer algo padronizado portável torna-se quase impossível.

Printf():
Se desejamos citar uma função invariável e já consagrada que não é da linguagem C, porém já pode até ser considerada é a função printf(). Ela está contida na biblioteca padrão de entrada/saída (a barra eqüivale a palavra e tal biblioteca se chama stdio.h, o .h eqüivale a terminação de biblioteca, header em inglês).

A função printf quer dizer print-formated, ou imprimir formatado. A maneira mais simples de imprimir algo é:

printf("algum texto aqui!");

Bem, comecemos então. Caso você não queira imprimir uma coisa fixa, um texto, mas sim algo que varie durante a execução de um programa, digamos uma variável. Chamemos de controladores de seqüência os caracteres especiais que significarão as variáveis que serão impressas pela função. O lugar onde o controlador for colocado é o lugar onde a variável será impressa. Por exemplo, caso queiramos imprimir um inteiro.

printf ("O inteiro vale: %d, legal!", algum_inteiro);

A saída será:

O inteiro vale: 10, legal!

onde 10 é o valor dado a variável chamada "algum_inteiro" (sem aspas)

Exemplo básico de um programa em C:
/*************************************************************/

/* Primeiro exemplo */


/************************************************************/

#include /* Aqui incluímos a biblioteca */

/* C padrão de Entrada/Saída */

/***********************************************************/

main () /* Comentários em C ficam nesse formato! */

{

printf (" nosso exemplo número %d em C !", 1);

printf ("Hello World! Que desse exemplo número %d surja o %d .. \n", 1, 1+1);

printf ("E depois o %d ! \n", 3);

printf (" To meio sem criatividade e venceu de %d X %d de mim!", 1000, 0);

}

Saída:

nosso exemplo número 1 em C !
Hello World! Que desse exemplo número 1 surja o 2 ..
E depois o 3 !
To meio sem criatividade e venceu de 1000 X 0 de mim!

Até semana que vem !

Nenhum comentário:

Postar um comentário