Buscar

aula 01

Prévia do material em texto

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 
tradicional 
Muitas variações da linguagem C surgiram, mas, quando o livro de Dennis Ritchie 
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 
extensão c. 
Muita atenção para essa etapa. 
Etapa finalizada, embora não esteja garantida 
a compilação. 
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 
 
 
 
 
Abra o editor e o terminal. 
Digite seu código e salve, selecionando 
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.

Continue navegando