Introdução à Linguagem C
As linguagens de programação evoluiram exponencialmente desde que os primeiros computadores electrónicos foram feitos para calcular dados de telemetria durante a 2.ª Guerra Mundial, onde os programadores trabalhavam apenas com as mais primitivas instruções, a linguagem máquina. Essas instruções consistiam em longas cadeias de uns e zeros.
De seguida apareceram os assembladores que mapeavam mnemónicas (mais facilmente utilizadas) para a linguagem máquina.
Com o passar do tempo, apareceram linguagens de mais alto nível como BASIC e COBOL. Estas linguagens permitiram que os programadores utilizassem algo parecido com palavras e frases usadas normalmente como "Let I = 100". Essas instruções eram então traduzidas para linguagem máquina por interpretadores e compiladores.
Durante alguns anos, o primeiro objectivo de programação foi escrever pequenas porções de código que eram executadas rapidamente. O programa precisava de ser pequeno, visto que a memória era cara e precisava de ser executado rapidamente, porque o poder de processamento também era dispendioso. à medida que os computadores se tornaram mais pequenos, mais baratos, mais rápidos e a memória mais barata, as prioridades mudaram. Hoje em dia, o tempo dispendido por um programador numa aplicação é muito mais caro do que o hardware utilizado. Código bem escrito e fácil de actualizar é a prioridade da maioria das aplicações de hoje.
A linguagem C foi criada e implantada pela primeira vez por Dennis Ritchie num Dec PDP-11, utilizando o sistema operativo Unix.
A linguagem C foi desenvolvida nos laboratórios Bell na década de 70, tendo surgido a partir da necessidade de escrever programas, que utilizassem as potencialidades da linguagem máquina, mas de uma forma mais simples e portátil que esta.
Usada inicialmente para a programação de sistemas, viria pela sua flexibilidade e poder, a tornar-se numa linguagem de uso geral nos mais diversos contextos, sendo actualmente muito utilizada pelos programadores profissionais.
A linguagem C pode ser considerada uma linguagem de médio nível, porque para além de possuir instruções de alto nível e ser tão estruturada como por exemplo o PASCAL, também possui instruções de baixo nível.
As suas principais características são :
Existem algumas particularidades na linguagem C que a tornam especialmente interessante :
Um programa em linguagem C é constituído por uma ou mais funções e variáveis.
Uma função contém instruções que especificam as operações de computação a serem executadas, enquanto as variáveis armazenam os valores.
A função permite encapsular (esconder certa complexidade) alguma computação, podendo depois ser utilizada sabendo-se apenas o que faz e sem preocupações quanto à forma como o faz.
As funções em C assemelham-se aos procedimentos e funções do Pascal. A execução de um programa começa tipicamente numa função de nome main, que deverá existir em qualquer parte do programa.
O aspecto geral de uma função é o seguinte :
tipo_retornado nome_função(declarações de parâmetros){
declarações locais;
instruções;
}
Assim, uma função é composta por um cabeçalho seguido do respectivo corpo.
O cabeçalho é constituído pelo nome da função a que se segue entre parêntesis, uma lista de declarações de parâmetros. Caso estes não existam, os parêntesis surgem vazios.
Quanto ao corpo da função, este é delimitado por chavetas
{ } e contêm, declarações de variáveis, ou mesmo de
outras funções, a serem utilizadas, seguidas de instruções.
Sempre que se pretenderem incluir comentários num programa, pode-se fazê-lo colocando esses comentários entre /* e */.
Uma função pode retornar um valor para a função que a chama, o que é conseguido com a instrução return, sendo o seu aspecto:
return expressão;
em que,
expressãopode ser qualquer expressão . Por exemplo :
return 5; /*Retorna a constante inteira 5 */ return val*val; /*Retorna o resultado do produto entre as variáveis
As funções são chamadas (invocadas para execução) dando-se o nome da função, juntamente com os argumentos, entre parêntises:
nome_função(prim_arg, seg_arg, ...);
Os valores dos argumentos na chamada da função, são atribuidos aos parâmetros da função pela ordem em que se encontram.
Exemplo 1 : Programa que imprime no ecrâ : "O meu primeiro programa !"
#include <stdio.h> /* Inclui dados sobre funções de entrada e saída
standards (standard input output), como a printf */
main(){ /* Definição da função main */
printf (O meu primeiro programa !); /*Chama a função printf */
}
O resultado da execução do programa será a impressão
no ecrâ do texto contido entre aspas na função printf. A instrução
#include <stdio.h>
tem por finalidade incluir no programa informação sobre
funções de entrada e saída de dados, tal como a função
printf
que será explicada no
Capítulo 4
.
Exemplo 2 : O programa seguinte chama uma função mul(), que multiplica dois números inteiros e retorna o resultado.
O valor retornado passa a ser o argumento da função printf() que o imprime.
Os dois parâmetros a e b da função mul(), recebem respectivamente os dois argumentos 5 e 4, com que a função é chamada.
#include <stdio.h>
main(){
printf( A multiplicação de 5 com 4 é igual a %d,mul(5,4));
}
int mul(int a,int b){
return (a*b);
}
A impressão no ecrâ será : A multiplicação de 5 com 4 é igual a 20, o que significa que
%d
vai ser substituido pelo valor retornado pela função mul().
Notar ainda que as variáveis a e b, definidas na função mul() só são reconhecidas no interior desta.
Uma variável é o nome que é dado a uma zona de memória, cujo tamanho varia conforme o tipo dessa variável. No exemplo anterior, a e b são variáveis capazes de armazenar inteiros. Este assunto será abordado detalhadamente na secção 2.3 .
A produção e execução de programas, depende do sistema operativo em que se esteja a trabalhar, bem como do compilador utilizado.
A função main(), como função que é, também pode retornar um valor. Neste caso, o valor será retornado ao ambiente exterior, responsável pela execução do programa.
Habitualmente o valor 0 significa um final sem erro, e um valor diferente de 0 um final com erro. No entanto, e para simplificação não será utilizada a instrução return 0 nas várias funções main() aqui apresentadas.
Uma expressão seguida de ; (ponto e virgula) é uma instrução.
Expressões são formadas por constantes, variáveis e operadores combinados de uma forma válida.
As instruções dividem-se em simples e compostas.
Simples quando se trata de apenas uma instrução, e compostas quando se trata de um conjunto (bloco) de instruções.
Estes conceitos, de instrução simples e composta, farão mais sentido quando, no capítulo 3, forem discutidas as instruções de controle de sequência.
Instrução simples : expressão;
Exemplo :
printf(O meu primeiro programa!);Instruções Compostas : Instruções simples dentro de chavetas.
{
instrução;
instrução;
instrução;
...;
}
Exemplo:
{
X=10;
Y=X+X;
}
O sinal '=' significa atribuição, isto é, para o exemplo acima apresentado, à variável X foi-lhe atribuido o valor 10.
|
Up |
Forward |
|
|
Pages by Nuno Nunes. |
|