Você está na página 1de 5

Linguagem de programação C

Rodrigo Bairos

PORTO ALEGRE
MARÇO - 2011
1-INTRODUÇÃO

*O objetivo trabalho é falar sobre a linguagem de programação C, tentando abranger

todos os pontos solicitados pela professora; Dentre todas as linguagens

sugestionadas escolhi a linguagem C pois é uma das linguagens que pretendo

estudar e ampliar meus conhecimentos.


Linguagem de programação C
I - Origem da linguagem.
O desenvolvimento inicial da linguagem C
ocorreu nos laboratórios Bell da AT&T
entre 1969 e 1973. Segundo Ritchie, o
periodo mais criativo ocorreu em 1972.
Deu-se o nome "C" à linguagem porque
muitas das suas características derivaram
de uma linguagem de programação anterior
chamada "B". Há vários relatos que se
referem à origem do nome "B": Ken
Thompson dá crédito à linguagem de
programação BCPL, mas ele também criou
uma outra linguagem de programação Kenneth Thompson (à esquerda) e Dennis Ritchie (à direita),
os criadores da linguagem C
chamada 'Bon, em honra da sua mulher
Bonnie.
Por volta de 1973, a linguagem C tinha se tornado suficientemente poderosa para que grande
parte do núcleo de UNIX, originalmente escrito na linguagem de programação PDP-11/20
Assembly, fosse reescrito em C. Este foi um dos primeiros núcleos de sistema operativo que
foi implementado numa linguagem sem ser o Assembly, sendo exemplos anteriores o sistema
Multics (escrito em PL/I) e TRIPOS (escrito em BCPL).

II - Propósito da linguagem.
C é uma linguagem de programação compilada de propósito geral, estruturada, imperativa,
procedural, de alto nível, padronizada pela ISO, criada para desenvolver o sistema
operacional Unix (que foi originalmente escrito em Assembly).
C é uma das linguagens de programação mais populares e existem poucas arquiteturas para as
quais não existem compiladores para C. C tem influenciado muitas outras linguagens de
programação, mais notavelmente C++, que originalmente começou como uma extensão para
C.

III - Cite alguns comandos explicando sua função.


a) O Comando switch - Facilita a escrita de trechos de programa em que a seleção
deve ser feita entre várias alternativas.

b) O Comando for - A idéia básica do comando for é a seguinte. Uma variável de


controle, geralmente um contador, recebe um valor inicial. O trecho de programa
que pertence ao laço é executado e ao final a variável de controle é incrementada
ou decrementada e comparada com o valor final que ela deve alcançar. Caso a
condição de término tenha sido atingida o laço é interrompido.
c) O Comando break - Pode ser tanto usado para terminar um teste case dentro de
um comando switch quanto interromper a execução de um laço.
Quando o comando é utilizado dentro de um comando for o laço é imediatamente
interrompido e o programa continua a execução no comando seguinte ao comando
for.
d) O Comando continue - É parecido com o comando break. A diferença é que o
comando continue interrompe a execução da iteração corrente passando para a
próxima iteração do laço, se houver uma. No comando for o controle passa para
que o teste e o incremento do laço sejam executados, nos comandos while e do-
while o controle passa para a fase de testes.
e) O Comando goto - Causa um desvio incondicional para outro ponto da função em
que o comando está sendo usado. O comando para onde deve ser feito o desvio é
indicado por um rótulo, que é um identificador válido em C seguido por dois
pontos.
É importante notar que o comando goto e o ponto para onde será feito o desvio
devem estar dentro da mesma função.

IV - Apresente um trecho de código ou particularidades da linguagem.


Objetivo do código: Apresentar o conteúdo de um ficheiro de texto assinalando as linhas que
contenham o texto "printf". Indicar também o número total de linhas e o número de linhas
com "printf".

#include
#include

#define MAX_BUF 120

int main(int argc, char* argv[])


{
FILE *f;
int n1=0;
int n2=0;
char filename[80];
char buf[MAX_BUF];

printf("Indique nome do ficheiro:");


gets(filename);

f=fopen(filename,"r");
if (f==NULL)
{
printf("Erro na abertura do ficheiro");
return 1;
}
while (! feof(f))
{
fgets(buf,MAX_BUF, f);
n1++;
if (strstr(buf, "printf")>0) {
n2++;
printf("> %s", buf);
}
else
printf("* %s", buf);
}
fclose(f);
printf("\n\nO ficheiro tem %d linhas, das quais %d com \"printf\"\n",n1,n2);
return 0;
}
V - Que características da linguagem você achou mais interessante?
Existem várias característica que me chamaram a atenção na linguagem, entre elas posso
citar: Portalibilade, recursos de baixo nível, geração de código eficiente, simplicidade,
facilidade de uso, pode ser usada para os mais variados propósitos, indicada para escrever
compiladores, editores de textos, bancos de dados, etc.

VI - Qual bibliografia ou sites você utilizou na sua pesquisa?

http://pt.wikibooks.org/wiki/Programar_em_C/Hist%C3%B3ria_da_linguagem_C
http://pt.wikipedia.org/wiki/C_(linguagem_de_programa%C3%A7%C3%A3o)
http://equipe.nce.ufrj.br/adriano/c/apostila/contro.htm
http://www.dei.isep.ipp.pt/~ffp/9900b/prg2/index.html6