Você está na página 1de 19

Linguagem C

Uma visão Geral

Disciplina: Linguagem de Programação


Prof. : Marlon Mendes Minussi
E-mail: marlonminussi@ifsul.edu.br
Um pouco de História

• Na década de 1970, a linguagem B desenvolvida por Ken


Thompson, levou ao desenvolvimento do C.
• A linguagem C foi criada e implementada por Dennis Ritchie,
sob o sistema operacional Unix.
• Por muito tempo, o padrão para a linguagem C era fornecido
juntamente com o sistema operacional Unix e com a
popularidade dos microcomputadores um grande número de
implementações de C foram criadas, entretanto não existia
um padrão.
• Em 1983, o ANSI (American National Standards Institute)
estabeleceu um comitê para criar um padrão, o qual,
finalmente, definiria a linguagem C.
13/02/2019 marlonminussi@ifsul.edu.br 2
Linguagem de nível Médio

• A linguagem C é considerada uma linguagem de nível


médio, pois combina elementos de linguagem de alto
nível com funcionalidade da linguagem Assembly.

ADA, Modula-2, Pascal, COBOL, FORTRAN, BASIC,


Nivel mais alto entre outras

Nivel médio C, C++ e FORTH

Nivel mais baixo Macro Assembler e Assembler

13/02/2019 marlonminussi@ifsul.edu.br 3
Linguagem de nível Médio

• Como uma linguagem de nível médio, o C permite a


manipulação de bits, bytes e endereços – os
elementos básicos com os quais o computador
funcionada.
• Um código em C é muito portável. Mas o que é
portabilidade?
Portabilidade significa que é possível
adaptar um software desenvolvido para
uma determinada arquitetura a outra. Por
exemplo, um código portável escrito para
Windows deverá também executar sob
Linux.

13/02/2019 marlonminussi@ifsul.edu.br 4
Linguagem estruturada

• A linguagem C é considerada uma linguagem estruturada.


• A característica especial de uma linguagem estruturada é a
compartimentalização do código.
Compartimentalização

Capacidade de dividir o programa em sub-rotinas


que empregam variáveis locais (temporárias).
Com o uso de variáveis locais é possível
escrever sub-rotinas de forma que os eventos
que ocorrem dentro delas não causem nenhum
efeito inesperado em outras partes do programa. Compartimentalização?

Não se preocupem, este conceito ficará mais claro quando estudarmos funções!

13/02/2019 marlonminussi@ifsul.edu.br 5
Linguagem para programadores

• O C é freqüentemente usado em lugar da linguagem


Assembly, fato que o tornou bastante popular entre
os programadores.
Mas afinal o que é o Assembly?

• É uma linguagem que utiliza uma representação


simbólica do código binário real, sendo que cada
símbolo representa uma instrução que o processador
pode executar diretamente.

13/02/2019 marlonminussi@ifsul.edu.br 6
Linguagem para programadores

• O Assembly possibilita muita flexibilidade e eficiência,


entretanto desenvolver e depurar código escrito puramente
em Assembly é notoriamente difícil.

• Além disso, o Assembly não é uma linguagem estruturada,


sendo que esta falta de estruturação tende a tornar os
programas escritos em Assembly, difíceis de ler, aperfeiçoar e
manter.

• IMPORTANTE: rotinas em linguagem Assembly não são


portáveis entre máquinas com CPU´s diferentes.

13/02/2019 marlonminussi@ifsul.edu.br 7
Linguagem para programadores

• Tipos de sistema, normalmente desenvolvidos


em C:
– Sistemas operacionais
– Interpretadores
– Editores
– Programas de planilhas eletrônicas
– Compiladores
– Gerenciadores de banco de dados

13/02/2019 marlonminussi@ifsul.edu.br 8
Compiladores x Interpretadores

• Estes dois termos referem-se à maneira como um


programa é executado.

• Na teoria, qualquer linguagem de programação pode


ser compilada ou interpretada, mas as linguagens
são, normalmente, executadas de uma maneira ou
de outra.

• A maneira pela qual um programa é executado não é


definida pela linguagem em que ele é escrito.
13/02/2019 marlonminussi@ifsul.edu.br 9
Compiladores x Interpretadores

• Mas afinal, o que são compiladores e


interpretadores?

Basicamente, interpretadores e
compiladores são programas sofisticados
que operam sobre o código-fonte do
programa escrito em determinada
linguagem, gerando código que é possível
do processador interpretar e executar.

Questão de Prova

13/02/2019 marlonminussi@ifsul.edu.br 10
Compiladores x Interpretadores

• Como funciona um Compilador?


Um compilador, lê todo o código do programa de
uma só vez e converte-o em código-objeto, que é
uma tradução do código-fonte do programa em
código de máquina para que o processador possa
executar diretamente. Uma vez que o programa
tenha sido compilado, se uma linha do código-fonte
for alterada, essa alteração não será considerada,
a não ser que o código-fonte, seja novamente
compilado.

Questão de Prova

13/02/2019 marlonminussi@ifsul.edu.br 11
Compiladores x Interpretadores

• Como funciona um Interpretador?

Um interpretador, lê o código-fonte do programa


uma linha por vez, executando a instrução
específica contida nessa linha. Desta forma, toda
vez que se desejar executar o programa é
necessário que o interpretador esteja presente.
Além disso, qualquer alteração efetuada no código
será considerada na próxima vez que o código for
executado pelo interpretador.

Questão de Prova

13/02/2019 marlonminussi@ifsul.edu.br 12
Compiladores x Interpretadores

• Atividade
– 1 – A linguagem C é interpretada ou compilada?

– 2 – Existe alguma vantagem de desempenho entre


o processo de compilação e interpretação?

– 3 – Efetuar uma pesquisa procurando por


linguagens interpretadas e linguagens compiladas.

13/02/2019 marlonminussi@ifsul.edu.br 13
Forma de um programa em C

• A linguagem C possui 32 palavras reservadas.


• O que são palavras reservadas em uma
linguagem de programação?

Palavras reservadas da linguagem C

13/02/2019 marlonminussi@ifsul.edu.br 14
Forma de um programa em C

• Todas as palavras reservadas em C são minúsculas.

• Não esqueçam: C é uma linguagem que diferencia


maiúsculas de minúsculas, ou seja, else é uma
palavra reservada, mas ELSE não.

• Uma palavra reservada não pode ser utilizada para


nenhum outro propósito, ou seja, ela não pode servir
como uma variável ou nome de uma função.

13/02/2019 marlonminussi@ifsul.edu.br 15
Revisão de termos

• Código-fonte: o texto de um programa desenvolvido em


determinada linguagem. Na linguagem C o código-fonte é a entrada
para o compilador C.
• Código-objeto: tradução do código-fonte de um programa em
código de máquina, o qual o processador pode ler e executar
diretamente.
• Biblioteca: O arquivo contendo as funções padrão que o programa
pode usar. Estas funções, incluem todas as operações de E/S como
também outras rotinas úteis.
• Tempo de compilação: Os eventos que ocorrem enquanto o seu
programa está sendo compilado. Uma ocorrência comum em
tempo de compilação é o erro de sintaxe.
• Tempo de execução: os eventos que ocorrem enquanto o programa
está sendo executado. marlonminussi@ifsul.edu.br
13/02/2019 16
Atividade

• 1 - No entendimento de vocês, o que é um erro de


sintaxe em um programa?

• 2 – O que determina a diferença entre o tempo de


compilação e o tempo de execução de um
programa?

• 3 – Os erros em um programa poderão aparecer


apenas no momento em que o mesmo for
compilado. Concorda? Explique.
13/02/2019 marlonminussi@ifsul.edu.br 17
Como iremos programar em C

• Ambientes de desenvolvimento

• Iremos adotar como IDE (Integrated Development


Environment) para desenvolvimento em nossa
disciplina o DEV-C++.

• http://www.baixaki.com.br/download/dev-c-.htm

• Vamos conhecer este programa e como faremos para


instalá-lo em casa.
13/02/2019 marlonminussi@ifsul.edu.br 18
MUITO

OBRIGADO
Marlon Mendes Minussi

www.ifsul.edu.br
marlonminussi@ifsul.edu.br
https://sites.google.com/site/ifsulmarlon/

19

Você também pode gostar