Você está na página 1de 16

17/10/2018 Estácio

Disciplina: Linguagem de Programação I

Aula 1: Conhecendo a linguagem que revolucionou -


simplesmente C

Apresentação
Falar sobre essa linguagem é, ao mesmo tempo, fácil devido à vasta bibliografia e
difícil porque precisamos decidir o que abordar, pois tudo que diz respeito a ela é
importante e fascinante. Alguns autores falaram sobre a linguagem C:

“Eficiente, pequena e poderosa linguagem de programação.” (STEELE, G.L.Jr.,


HARBSON, S.P.)

“A grande força de C é a habilidade para construir programas complexos com


elementos simples, tanto que seu lema poderia ser multum in parvo: muito com
pouco.” (HANCOCK, L.)

“C é uma poderosa e flexível linguagem. O que você pode fazer com C é limitado
somente por sua imaginação.” (LOPO, E.C, AIKEN, P., JONES, B.L.)

Temos vários outros motivos para estudar essa linguagem. Descobriremos esses
motivos nesta aula. Bons estudos!

Objetivos
Reconhecer a origem da linguagem C;
Identificar aplicações e vantagens em se utilizar a linguagem C;

file:///W:/2018.2/linguagem_de_programacao_i__conv010/aula1.html 1/16
17/10/2018 Estácio

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.

file:///W:/2018.2/linguagem_de_programacao_i__conv010/aula1.html 2/16
17/10/2018 Estácio

A história
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, alguma data sempre pode divergir
entre os autores e, por essa razão, seguiremos a cronologia que
STEELE/HARBISON III disponibilizaram em seu livro.

1960

ALGOL

Essa linguagem foi considerada mais sofisticada do que a FORTRAN, visto que
é modular e estruturada. Entretanto, é muito abstrata.

1963

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.

1967

BCPL

Basic Combined Programming Language. Desenvolvida por Martin Richards


com o objetivo de melhorar a linguagem CPL, mantendo as melhores funções.

file:///W:/2018.2/linguagem_de_programacao_i__conv010/aula1.html 3/16
17/10/2018 Estácio

1970

Ken Thompson desenvolveu a linguagem B, simplificando bastante a BCPL que


ficou muito limitada.

1972

Denis Ritchie desenvolveu a linguagem C nos laboratórios da Bell Company


Inc., voltada para programadores.

7 vantagens da linguagem C
Você conhece as 7 vantagens da linguagem C?

1
Portabilidade, pois com pouca ou nenhuma modificação poderá ser
compilado em várias plataformas;

2
Modularidade, possibilitando ao programador desenvolver suas próprias
funções;

3
Estruturada, facilitando a compreensão, uma vez que usamos três
procedimentos básicos: sequência, seleção e iteração;

4
Simplicidade, possui um conjunto pequeno de palavras reservadas, tornando
o aprendizado mais simples;

5
file:///W:/2018.2/linguagem_de_programacao_i__conv010/aula1.html 4/16
17/10/2018 Estácio

Rapidez, porque gera um executável bem compacto;

6
Uma linguagem com características 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;

7
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,
disponibilizando vários artigos e textos para pesquisa. Entretanto, precisamos
ficar atentos à evolução da linguagem e procurarmos analisar códigos que
estejam em consonância com as padronizações mais recentes.

Por essa razão, apresentaremos esse processo, com base no livro C: Manual
de Referência por que é o melhor e resume essa evolução.

file:///W:/2018.2/linguagem_de_programacao_i__conv010/aula1.html 5/16
17/10/2018 Estácio

 Capa do livro C: Manual de Referência. (


Fonte: https://goo.gl/MBKAgb
<https://goo.gl/MBKAgb> .)

História do C

? – 1984
C Tradicional

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


Ritchie e Brian Kernigham foi publicado, em 1978, passou a ser a “bíblia” da
linguagem e ela foi denominada de C tradicional.

Em 1983, o ANSI ( American National Standards Institute) formou um comitê


cuja função foi padronizar a linguagem C.

1989
C Padrão

O comitê finalizou seu trabalho em 1989. Essa versão, que incluía as


bibliotecas, ficou conhecida como ANSI C.

Outro comitê, formado por integrantes da ISO ( International Organization for


Standardization) e do IEC ( International Electrotechnical Commission),
ratificou o trabalho do grupo da ANSI, dando origem ao documento chamado
ISO/IEC 9899:1990

1995
Padrão C

Pequenos ajustes no padrão C89 foram definidos pela norma ISO/IEC


9899/AMD1: 1995.

1999
C Padrão

As modificações mais significativas aconteceram nessa época, visto que novos


recursos e bibliotecas surgiram. Conheça alguns exemplos:

1) Surge o tipo long long para inteiros;

file:///W:/2018.2/linguagem_de_programacao_i__conv010/aula1.html 6/16
17/10/2018 Estácio

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.

Editando / Compilando /
Executando
Embora você já tenha experimentado essas 3 etapas em Lógica de
Programação, iremos repeti-las, pois desejamos 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,
apresentaremos essas etapas no Linux.

Nós usaremos programas compiladores por gerarem um código executável.

Agora vamos aprender passo a passo esses processos?!


Atenção

Existem alguns antigos interpretadores para a linguagem C que facilitam


o aprendizado inicial, pois um programa interpretador vai exibindo um
erro por vez, mas não faremos uso de nenhum deles.

Windows - Dev-cpp
Primeiro vamos aprender a Editar.

Surgirá esta tela.

file:///W:/2018.2/linguagem_de_programacao_i__conv010/aula1.html 7/16
17/10/2018 Estácio

 Dev-C

Selecione Arquivo/ Novo/ Arquivo fonte

 Guia de arquivo do Dev-C

Salve digitando a extensão .c ou escolha no menu a extensão .c.

Muita atenção para essa etapa.

 Salvar Arquivo

Etapa finalizada, embora não esteja garantida a compilação.

Qualquer erro na próxima etapa, corrija, salve e tente compilar novamente.

file:///W:/2018.2/linguagem_de_programacao_i__conv010/aula1.html 8/16
17/10/2018 Estácio

 Janela do Dev-C

Agora que você já sabe como editar, passaremos para o segundo


passo: 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.

 Compilar e executar

Veja a saída:

 Saída


Dica

file:///W:/2018.2/linguagem_de_programacao_i__conv010/aula1.html 9/16
17/10/2018 Estácio

Para a compilação/execução convém lembrar que o DEV-C++


disponibiliza uma de tecla de atalho (F9) para facilitar essa função.

Linux
Agora que você já sabe como editar, compilar e executar no windows, vamos
aprender a fazer o mesmo, mas agora no 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.

Vamos praticar juntos?

Pra começar, abra o editor e o terminal.

 Editor e Terminal

Depois, 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).

 Código no editor

A próxima etapa precisa ser feita no terminal. Para compilar/ linkeditar, temos
duas formas:

gcc nomeDoArquivo.c, gerando o executável a.out;

file:///W:/2018.2/linguagem_de_programacao_i__conv010/aula1.html 10/16
17/10/2018 Estácio

2) gcc –o nomeExecutável nomeDoArquivo.c, gerando o executável


nomeExecutável.

 Terminal


Dica

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 será substituído.

Essa etapa, também, precisa ser feita no terminal.

Uma vez que não foi exibido nenhum erro, o executável é gerado. Observe
que o executável é exibido em verde.

Se você desejar visualizá-lo (não é obrigatório) use o comando ls para exibir


todos os arquivos da pasta (diretório).

É preciso digitar um ponto e, sem espaço, a barra e o nome do executável.

 Terminal

Veja a saída:

file:///W:/2018.2/linguagem_de_programacao_i__conv010/aula1.html 11/16
17/10/2018 Estácio

 Saída

Estrutura básica de um 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. Veja um exemplo de código:

< arquivos de cabeçalhos >

< definições de constantes >

< declaração de variáveis globais >

< protótipo das funções >

int main()

Bloco de comandos

< tipo de retorno da função 1 > < nome_da_função1>(< parâmetros >) >

Bloco de comandos da função1

...

< tipo de retorno da função 2 > < nome_da_função2 > (< parâmetros >) >

file:///W:/2018.2/linguagem_de_programacao_i__conv010/aula1.html 12/16
17/10/2018 Estácio

Bloco de comandos da função 2

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 todos os elementos que se encontram antes do


cabeçalho da função main().

Arquivos de cabeçalho

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.

Conheça algumas das bibliotecas que vamos utilizar e que serão


chamadas, uma a uma, pela diretiva include:

math.h
stdlib.h
stdio.h
ctype.h
string.h

Exemplos:

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


obrigatório.

#include “engenharia.h” - você deverá usar essa sintaxe quando criar


uma biblioteca que se encontra no diretório corrente.

file:///W:/2018.2/linguagem_de_programacao_i__conv010/aula1.html 13/16
17/10/2018 Estácio

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


mas se você criar uma 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.

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

Variáveis globais

São 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.

Protótipos das funções

Você já deve saber do que se trata, mas tornaremos a falar sobre eles.

file:///W:/2018.2/linguagem_de_programacao_i__conv010/aula1.html 14/16
17/10/2018 Estácio

Não fique preocupado porque, nesse primeiro momento, não faremos uso
de tudo que já foi exposto.

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

Atividade
Você seria capaz de identificar alguns elementos fundamentais da
linguagem C?

Fecha o corpo da função

Inclusão da biblioteca padrão

Cabeçalho da função principal

No Windows

Abre o corpo da função

Próximos Passos

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


Os operadores aritméticos;

file:///W:/2018.2/linguagem_de_programacao_i__conv010/aula1.html 15/16
17/10/2018 Estácio

Os especificadores de formatos para a função printf();


Algumas funções da biblioteca math.h.

Explore mais

Esperamos que você, de posse do exemplo usado para demonstrar os processos de


edição, compilação e execução, aliado à sua experiência obtida na disciplina de Lógica
de Programação, ouse e desenvolva alguns pequenos programas.

Aproveite para ler sobre o assunto abordado nesta aula na internet.

Até a próxima!

file:///W:/2018.2/linguagem_de_programacao_i__conv010/aula1.html 16/16

Você também pode gostar