Вы находитесь на странице: 1из 12

Estudo Dirigido

Disciplina: LINGUAGEM DE PROGRAMAÇÃO I

Aula 01: Conhecendo a linguagem que revolucionou o cenário da programação e


influenciou várias linguagens. Simplesmente, C.

 Conhecer a origem da linguagem C;.


 Identificar aplicações e vantagens de se utilizar a linguagem C ;
 Editar, Compilar e Executar um programa codificado na linguagem C nas plataformas Windows e
Linux;
 Identificar os elementos básicos da estrutura de um programa na linguagem C.

Introdução da aula

Olá!

Nesta aula, você terá o primeiro contato com a linguagem C.


Vamos conhecer um pouco de sua história e entender porque essa linguagem se tornou tão
importante no cenário da programação.
Iremos aprender a editar um programa fonte e gerar um programa executável.
Esse processo não é desconhecido totalmente por você, uma vez que você já cursou a disciplina de
Lógica de Programação. A novidade está no fato de que faremos, também, no ambiente Linux.
Para que você acompanhe a aula sem dificuldades, sugiro que faça download do software que
iremos trabalhar no ambiente Windows e de algumas apostilas que ajudarão a instalar e a conhecer
o ambiente.

A Escolha Pelo Dev C++ Se Dá Por Ele Ser Um Ambiente Amigável Para Editar Seus
Programas E Compilá-Los. O Download Poderá Ser Feito No Endereço
Http://Sourceforge.Net/Projects/Dev-Cpp/Files/Binaries/Dev-C%2B%2B%204.9.9.2/Devcpp-
4.9.9.2_Setup.Exe/Download (Melhor versão para XP. Para as Demais versões, escolha
5.11)

Quanto ao Linux, verifique se foi instalado o programa gcc, digitando, no terminal: whereis gcc.
Se o compilador estiver instalado, aparecerá o caminho dele, mas se ele não encontrar, instale.

Tenho certeza de que você irá gostar dessa linguagem.


Boa Aula
Livro

MIZRAHI, V. V. Treinamento em linguagem C. São Paulo: Pearson Prentice Hall, 2008.

Aprenda mais!

Na Internet, você irá encontrar muitos artigos interessantes sobre a linguagem C. Pesquise.
AULA 1

Conteúdo Online

Conhecendo a linguagem C

Falar sobre essa linguagem é, ao mesmo tempo, fácil devido a grande bibliografia e
difícil porque precisamos decidir o que abordar, uma vez que tudo que diz respeito a ela
é importante e fascinante.

Começar pela história é a forma mais natural, visto que passamos a conhecer os
motivos que a tornaram tão importante no cenário da programação.

Embora não esteja distante dos dias atuais, sempre alguma data pode divergir entre os
autores e, por essa razão, segui a cronologia que STEELE/ HARBISON III
disponibilizaram em seu livro.

A história
ALGOL Essa linguagem foi considerada mais sofisticada do que a linguagem FORTRAN,
visto que era moduldar e estruturada. Entretanto, era muito abstrata.
CPL Combined Programming Language. Desenvolvida pelas universidades de Cambridge
e Londres. Procurou resolver o problema de abstração da linguagem Algol, mas
apresentou configurações de difícil compreensão.
BCPL Basic Combined Programming Language. Desenvolvida por Martin Richards com o
objetivo de melhorar a linguagem CPL, mantendo as melhores funções.
B Ken Thompson desenvolveu a linguagem B, simplificando tanto a linguagem BCPL
que ficou muito limitada.
C Denis Ritchie desenvolveu a linguagem C nos laboratórios da Bell. Uma linguagem
voltada para programadores.

Vimos o que alguns autores falaram sobre a linguagem C, mas temos vários outros
motivos para estudá-la que veremos a seguir.

Vantagens do aprendizado da linguagem C

Portabilidade, pois com pouca, ou nenhuma, modificação poderá ser compilado


em várias plataformas.
Modularidade, possibilitando ao programador desenvolver suas próprias
funções.
Estruturada, facilitando a compreensão, uma vez que usamos três
procedimentos básicos: seqüência, seleção e iteração
Simplicidade, pois possui um conjunto pequeno de palavras reservadas,
tornando o aprendizado mais simples.
Rapidez, uma vez que gera um executável bem compacto.

Uma linguagem com características de linguagem de alto nível, mas que pode
trabalhar direto com os endereços da memória, sendo por essa razão
classificada como linguagem de nível intermediário.
Não possui um propósito especifico como em outras linguagens que a
antecederam, podendo ser utilizada para o desenvolvimento de compiladores,
processadores de texto, processadores gráficos, SO, entre outros.
A evolução da linguagem

Sabemos que a Internet diminui distâncias e facilita o nosso aprendizado, uma vez que
disponibiliza vários artigos e textos para pesquisa. Entretanto, precisamos ficar atentos à
evolução da linguagem e procuramos analisar códigos que estejam em consonância com as
padronizações mais recentes.
Por essa razão, resolvi apresentar esse processo, me baseando no livro C: Manual de
Referência por acreditar que é o que melhor resume essa evolução.

C Muitas variações da linguagem C surgiram, mas, quando o livro de Dennis Ritchie


tradicional com Brian Kernigham que foi publicado por volta de 1978, ele passou a ser a
”bíblia” da linguagem e ela passou a ser denominada de C tradicional.
Por volta de 1983, ANSI( American National Standards Institute )formou um
comitê que tinha como função padronizar a linguagem C.
C89 O comitê finalizou seu trabalho por volta de 1989. Essa versão que incluía as
bibliotecas ficou sendo conhecida como ANSI C .
Um comitê formado por integrantes da ISO( International Organization for
Standardization) e do IEC(International Electrotechnical Commission) ratificaram o
trabalho do comitê da ANSI, surgindo o documento chamado ISO/IEC
9899:1990.
C95 Pequenos ajustes no padrão C89 foram definidos pela norma ISO / IEC
9899/AMD1: 1995.
C99 As modificações mais significativas aconteceram nessa época, visto que novos
recursos e bibliotecas surgiram.
Você poderá ler sobre essa norma no link http://www.open-
std.org/jtc1/sc22/wg14/www/docs/n1124.pdf, mas, por hora, adianto alguns
exemplos:
1) Surge o tipo long long para inteiros
2) As funções matemáticas passam a aceitar todos os tipos numéricos.
3) O caracter // para comentário de uma linha pode ser usado também.
Infelizmente nem todos os compiladores adotam esse padrão. O motivo? Conclua!
Editando/ Compilando/ Executando

Embora você já tenha experimentado essas três etapas em Lógica de Programação, vou
repeti-las, uma vez que vou lhe mostrar que alterações precisam ser feitas, quando você
estiver na plataforma Windows, para editar, compilar e executar um programa codificado na
linguagem C.
Além disso, uma vez que essa linguagem foi desenvolvida na plataforma UNIX, vou lhe
apresentar essas etapas no LINUX.
Nós estaremos usando programas compiladores por gerarem um código executável.
Existem alguns antigos interpretadores para a linguagem C que facilitavam o aprendizado
inicial, uma vez que um programa interpretador vai exibindo um erro por vez, mas não
faremos uso de nenhum deles.

Windows- Dev-cpp

1) Editando

Clique no ícone do Dev-cpp. Selecione Arquivo/ Novo/ Arquivo fonte

Salve digitando a extensão .c ou escolha no menu a Etapa finalizada, embora não esteja garantida
extensão c. a compilação.
Muita atenção para essa etapa. Qualquer erro na próxima etapa, corrija, salve
e tente compilar novamente.
2) Compilando / Executando

Esse ambiente apresenta algumas facilidades, uma vez que você pode escolher para
compilar e depois executar ou então, pedir para que seja executado logo após a
compilação.
Convém lembra que existe um atalho(tecla F9) para esse pedido.
Se sua versão NÃO reconhecer a função system(...); INCLUA a biblioteca
stdlib.h também.

Linux

Para que você possa editar, compilar e executar no linux, não precisa de um ambiente
específico, visto que o compilador C já está disponível.
Entretanto, precisará escolher um editor (gedit, kate, kwrite, etc.).
Lembro que, quando se usa um editor, você deverá adicionar a extensão com letra c em
minúscula ao final do nome e separada por um ponto.

1) Editando

Digite seu código e salve, selecionando


Abra o editor e o terminal. Arquivo/ Salvar como/ Escolha a pasta e
digite um nome com a extensão c. Veja o
exemplo(primeiro.c)
2) Compilando

Essa etapa precisa ser feita no terminal.


Para compilar/ linkeditar, temos duas formas:
1) gcc nomeDoArquivo.c, gerando o executável a.out
2) gcc –o nomeExecutável nomeDoArquivo.c, gerando o executável
nomeExecutável.
A segunda forma é mais usada porque teremos o fonte e o executável enquanto que,
na primeira, toda vez que for gerado um executável, o anterior é substituído.
No exemplo acima usei a segunda. Observe que o executável é exibido na cor verde.

3) Executando

Essa etapa precisa ser feita no terminal.


Uma vez que não foi exibido nenhum erro, o executável é gerado.
Se você desejar visualizá-lo, não é obrigatório, use o comando ls para exibir todos os
arquivos da pasta(diretório).
Observe que tem que digitar um ponto e, sem espaço, a barra e o nome do
executável. Veja a saída.
Para finalizar essa aula, vou apresentar a estrutura básica de um programa codificado na
linguagem C.

Ao longo das aulas, iremos explicar cada elemento presente nessa estrutura.

Estrutura básica do programa codificado na linguagem C

Um programa na linguagem C é formado por funções, mas somente a função main() é


obrigatória, significando que um programa poderá ter somente uma função.

Se fizermos uma análise, sem considerar o uso de funções criadas pelo programador,
percebemos que vários elementos precisam ser definidos para que você compreenda a
importância de cada um.

Sendo assim, vamos explicar cada um dos elementos que se encontram antes do cabeçalho
da função main().

1 Arquivos de cabeçalhos

A diretiva #include é usada para incluir arquivos dentro do programa fonte que estivermos
construindo.

Esses arquivos são chamados de biblioteca e eles agrupam várias funções/definições de


acordo com a finalidade delas.

Na figura, podemos observar algumas das bibliotecas que vamos utilizar e que serão
chamadas, uma a uma, pela diretiva include.
Exemplos

#include <stdio.h> biblioteca padrão da linguagem e de uso obrigatório.

#include <stdlib.h> para usar a função system(...); ou outras funções que estudará em
outras aulas.

#include ”engenharia.h” você deverá usar essa sintaxe quando incluir uma biblioteca
criada por você e que se encontra no diretório corrente.

As bibliotecas da linguagem se encontram em um diretório específico, mas


se você criar uma biblioteca e não armazená-la nesse diretório então, deverá
colocar o nome entre aspas e incluir todo o caminho. Exemplo: #include
"c:\biblioteca\engenharia.h". Supondo que você tenha um diretório de nome
biblioteca, na raiz do drive C e que, dentro do diretório, esteja a biblioteca
que você criou de nome engenharia.h.

Nós aprenderemos a construir biblioteca.

2 Diretiva define
Essa diretiva tem várias utilidades e uma delas é construir macros que, algumas vezes,
poderão substituir a definição de funções, tornando mais rápido o processamento.
A princípio, vamos usá-la para definir constantes.

Exemplo

#define PI 3.14159265

3 Variáveis globais
Variáveis que poderão ser manipuladas por todas as funções. Não as declararemos por
enquanto, mas elas são declaradas fora de todas as funções
4 Protótipos das funções
Você já deve saber do que se trata, mas tornaremos a falar sobre eles.
Mas, não fique preocupado porque, nesse primeiro momento, não faremos uso de tudo que
foi exposto acima.

Fique atento para o comando system(”pause>NULL”); ou


system(”pause”); , que deverá ser colocado antes de fechar o programa
com a chave } porque, no ambiente Windows, a janela se fecha quando a
execução do programa é finalizada.
E não se esqueça, verá mais adiante que, em algumas versões do
DEV-Cpp ou de outras IDEs, precisará incluir a biblioteca stdlib.h
também.
Se você vai trabalhar no LINUX, esse comando não deverá ser colocado.

Nesse primeiro momento, usaremos uma estrutura bem menor, mas que possibilitará testar
seus programas.

Você poderá identificar alguns elementos fundamentais da linguagem C.


Finalizando

Hoje iremos ficar por aqui e espero que você, de posse do exemplo usado para lhe mostrar os processos
de edição, compilação e execução aliado a sua experiência obtida na disciplina de Lógica de Programa,
ouse e desenvolva alguns pequenos programas.
Aproveite para ler sobre o assunto abordado nessa aula na Internet.
Até a próxima aula

 Conheceu a origem da linguagem C;


 Identificou aplicações e vantagens de se utilizar a linguagem C;
 Aprendeu a editar, compilar e executar um programa codificado na linguagem C nas
plataformas Windows e Linux;
 Identificou os elementos básicos de um programa na linguagem C.

Próxima aula

 As principais funções de saída disponíveis na biblioteca stdio.h;


 Os operadores aritméticos;
 Os especificadores de formatos para a função printf();
 Algumas funções da biblioteca math.h.