Sei sulla pagina 1di 10

Histrico da Linguagem C

A primeira verso de C foi criada por Dennis Ritchie em 1972 nos laboratrios Bell para ser includo como um dos softwares a serem distribudos juntamente com o sistema operacional Unix do computador PDP-11, na equipe certificada por Ken Thompson. Ao ponto de vista tcnico, o surgimento do C iniciou com a linguagem ALGOL 60, definida em 1960. ALGOL era uma linguagem de alto nvel, que permitia ao programador trabalhar "longe da mquina", sem se preocupar com os aspectos de como cada comando ou dado era armazenado ou processado. Foi criado para substituir o FORTRAN. ALGOL no teve sucesso, talvez por tentar ser de muito alto nvel em uma poca em que a maioria dos sistemas operacionais exigiam do usurio um grande conhecimento de hardware. Em 1967 surgiu CPL (Combined Programming Language) nas universidades de Londres e Cambridge com o objetivo, segundo a equipe do projeto, de "trazer ALGOL terra", ou "manter contato com a realidade de um computador real". Da mesma forma de ALGOL, CPL no foi bem aceita, em especial pelos projetistas de sistemas operacionais que a consideravam difcil de implementar. Ainda em 1967, em Cambridge, Martin Richards criou o BCPL (Basic CPL), uma simplificao do CPL, tentando manter apenas as "boas coisas do CPL". Em 1970, Ken Thompson, chefe da equipe que projetou o UNIX para o PDP11 do Bell Labs, implementou um compilador para uma verso mais reduzida do CPL. Batizou a linguagem de B. Tanto BCPL quanto B mostravam-se muito limitadas, prestando-se apenas para certas classes de problemas. Isto se fez sentir especialmente na primeira verso do PDP11, lanado no mercado em 1971. Um dos fatores que levou isto foi a inteno do grupo responsvel pelo UNIX de reescrev-lo todo em uma linguagem de alto nvel, e para isto B era considerado lenta. Estes problemas levaram a que o projetista Dennis Ritchie, do Bell Labs, fosse encarregado de projetar uma nova linguagem, sucessora do B, que viria ento, a ser chamada de C. A linguagem C buscou manter o "contato com o computador real" e ainda sim dar ao programador novas condies para o desenvolvimento de programas em reas diversas, como comercial, cientfica e de engenharia. Por muitos anos (aproximadamente 10) a sintaxe (formato) tida como padro da linguagem C foi aquela fornecida com o UNIX verso 5.0 do Bell Labs. A principal documentao deste padro encontra-se na publicao "The C Programming Language", de Brian Kernighan e Dennis Ritchie (K&R), tida como a "bblia da linguagem C". O mais interessante desta verso de C era que os programas-fonte criados para rodar em um tipo de computador podiam ser transportados e recompilados em outros sem grandes problemas. A esta caracterstica d-se o nome de portabilidade. Com ela, uma empresa que desenvolve um programa pode faz-lo rodar em diferentes computadores sem ter um elevado custo a cada vez que isto for feito. Em 1985, ANSI (American National Standards Institute) estabeleceu um padro oficial de C o chamado "C ANSI".

Vamos escrever nosso programa Al mundo em C. Se voc estiver usando o Linux abra qualquer editor de textos, pode ser o vi, o emacs, o gedit, etc. e digite o cdigo abaixo:
#include <stdio.h> int main() { printf("Al mundo!"); return(0); }

Grave o programa com o nome de alo.c. Para compilar o programa digite o seguinte na linha de comando: $ gcc alo.c -o alo Para executar o programa: $ alo Lembre-se que para executar o programa: 1. Ele deve estar no PATH 2. Voc deve ter permisso de execuo para o arquivo.

Se voc estiver usando o Windows abra seu compilador favorito, digite e salve o cdigo. Depois compile o cdigo. Ao executar o arquivo ser exibida a mensagem Alo mundo!

Vamos analisar o cdigo do programa: #include <stdio.h> Esta linha usa a diretiva #include para inserir o arquivo de cabealho stdio.h no seu programa. Os arquivos de cabealho so arquivos que contm definies, macros e funes que so muito utilizadas em todos os programas. Normalmente todo compilador C j vem com muitos arquivos de cabealho, mas voc tambm pode escrever os seus. Os arquivos de cabealho tem a extenso .h

int main()

Esta linha indica a definio da funo main. Um programa em C formado por vrias funes. Quando o programa executado main a primeira funo a ser chamada, assim todo programa deve ter uma funo main.

{ As chaves delimitam um bloco de comandos.

printf("Alo mundo!"); A funo printf exibe o contedo do seu argumento na tela. No caso a mensagem Alo mundo !. Esta funo faz parte do arquivo de cabealho stdio.h por isso ele foi includo no programa. O comando terminado com um ; (ponto-e-vrgula). Todo comando em C deve terminar com ;

return(0); Este comando indica que a funo main retorna 0 (zero).

} A ltima chave fecha o bloco de comandos da funo main.

Se voc no entendeu algum dos conceitos ditos acima no se preocupe, apenas aceite e no futuro voc entender o porqu disso tudo.

Tipos de dados A linguagem C possui quatro tipos bsicos de dados:


char - usado para armazenar caracteres int - usado para armazenar nmeros inteiros float - usado para armazenar nmeros de ponto flutuante (decimais) de preciso simples double - usado para armazenar nmeros de ponto flutuante de preciso dupla

Constantes
Para definir uma constante usa-se a diretiva #define. Abaixo segue um exemplo do seu uso:
#include <stdio.h> #define IDADE 34 int main() { printf("Sua idade %d anos",IDADE); return(0); }

No exemplo acima, toda ocorrncia da constante IDADE no cdigo do programa ser substituda pelo valor inteiro 34. importante observar que entre #define e IDADE deve haver apenas um espao, e entre IDADE e 34 tambm s deve haver um espao.

Variveis
As variveis devem ser declaradas antes de ser usadas. Para declarar uma varivel basta digitar seu tipo, seguido de espao e de seu nome. No esquea o ponto-e-vrgula encerrando o comando.Exemplo: int idade; float nota; As variveis devem ser declaradas no incio da funo. Exemplo:
#include <stdio.h> int main() { int idade; float nota1, nota2,nota3, nota4; printf("idade = %d",idade); return(0); }

Observe no exemplo acima que permitido declarar mais de uma varivel na mesma linha.

Nomeando constantes e variveis


Para nomear as constantes e variveis siga as seguintes regras:

Os nomes devem comear com um caractere alfabtico O caractere de sublinhado ( _ ) considerado um caractere alfabtico Os nomes podem ser constitudos de caracteres alfabticos ou numricos Os nomes no devem conter caracteres especiais (!, @, #, $, %, , &, *, etc ...) No devem ser utilizadas palavras reservadas da linguagem C que so:

Por conveno os nomes das constantes devem ser em letras maisculas e os nomes das variveis em letras minsculas.

Operadores aritmticos

Operadores relacionais

Operadores lgicos

Comando de atribuio
Na linguagem C o comando de atribuio o sinal de igualdade ( = ). Assim, a expresso:nome = samuel; atribui o valor "samuel" a varivel "nome". Da mesma forma a expresso: nota = 7.68; atribui o valor "7.68" a varivel "nota".

Sada de dados
A sada de dados proporcionada pela funo printf. Ela faz parte do arquivo de cabealho stdio.h, assim este arquivo deve ser includo no programa para a utilizao desta funo. Exemplo da utilizao de printf:
#include <stdio.h> int main() { int nr; char letra; nr = 5; letra = 's'; printf("O valor de nr %d\n",nr); printf("O valor de letra %c\n",letra); return(0); }

Observe que para exibir as variveis utiliza-se os especificadores de formato %d e %c. O caracter de escape \n provoca o avano para a prxima linha. Aps a vrgula esto os argumentos que substituiro os especificadores de formato. Estes argumentos so posicionais. Os especificadores de formato bsicos so: %d => int %c => char %f => float

Entrada de dados
A entrada de dados feita com a funo scanf. Sua sintaxe : scanf("EF",&VARIVEL);

onde EF um especificador de formato e VARIVEL varivel onde o dado entrado ser armazenado. Exemplo:
#include <stdio.h> int main() { int nr; char letra[2]; printf("Entre com o valor do nmero :"); scanf("%d",&nr); printf("Entre com a letra :"); scanf("%s",&letra); printf("O nmero %d e a letra %s\n",nr,letra); return(0); }

Desvio condicional
O desvio condicional uma estrutura de fluxo onde o programa analisa uma condio e:

caso esta condio seja verdadeira executa alguns comandos caso esta condio seja falsa executa outros comandos

Em C esta estrutura representada pelo comando if, cuja sintaxe :

if (CONDICO) COMANDOS1 else COMANDOS2


Se CONDIO for verdadeira, COMANDOS1 sero executados, caso contrrio, COMANDOS2 sero executados. importante saber como a linguagem C representa um valor verdadeiro ou falso. Para a linguagem C qualquer valor diferente de zero verdadeiro e o valor zero considerado falso. Assim, a anlise: if (1) verdadeira. E a anlise: if (0) falsa. Este conceito muito usado na linguagem C pois muitas funes retornam valores inteiros. Exemplo do uso de if:
#include <stdio.h> int main() { int idade; printf("Entre com sua idade :"); scanf("%d",&idade);

if(idade > 21) printf("Voc de maior !!!\n"); else { printf("Voc de menor !!!\n"); printf("Tem que amadurecer !!!\n"); } return(0); }

Observe que se o comando nico no h necessidade das chaves para delimitar o bloco de instrues.

Mltipla escolha
A estrutura de mltipla escolha implementada pelo comando switch. Sua sintaxe : switch (VARIVEL) { case VALOR1: COMANDO1; break; case VALOR2: COMANDO2; break; ......................................................... ......................................................... default: COMANDO; break; } O entendimento o seguinte: a VARIVEL comparada com cada VALOR especificado nos cases. Se um VALOR igual a VARIVEL for encontrado, o referido COMANDO executado. Se no houver nenhuma correspondncia com os valores dos cases, o comando de default executado. O comando break deve existir pois, sem ele, os comandos abaixo so executados independente do teste.

Exemplo:
#include <stdio.h> int main() { int opcao; printf("1. Pesquisar\n"); printf("2. Comprar\n"); printf("3. Sair\n"); printf("Entre com sua opo :"); scanf("%d",&opcao); printf("\n"); switch (opcao) { case 1: printf("Voc break; case 2: printf("Voc break; case 3: printf("Voc break; default:printf("Voc opes.\n"); break; } return(0); }

escolheu a opo 1. Pesquisar.\n"); escolheu a opo 2. Comprar.\n"); escolheu a opo 3. Sair.\n"); no escolheu nenhuma das trs

Repetio com teste no incio


Esta estrutura representada pelo comando while, cuja sintaxe : while (CONDIO) COMANDOS; A CONDIO avaliada e, caso seja verdadeira, os COMANDOS so executados. Ento, a CONDIO avaliada novamente e, caso seja verdadeira, os COMANDOS so executados de novo. Isto se repete at que a avaliao da CONDIO resulte em falso. A caracterstica importante deste tipo de construo que, caso a CONDIO seja avaliada como falsa j na primeira vez, os COMANDOS no sero executados nenhuma vez.

Exemplo:
#include <stdio.h> int main() { int nr; printf("Digite um nmero : (-1 para sair)"); scanf("%d",&nr); while (nr != -1) { printf("Voc digitou %d\n",nr); printf("Digite outro nmero (-1 para sair) :"); scanf("%d",&nr); }; printf("Voc digitou -1 para sair.\n"); return(0); }

Potrebbero piacerti anche