Escolar Documentos
Profissional Documentos
Cultura Documentos
UNIVERSIDADE DE FORTALEZA
LINGUAGEM C
Nesta aula sero vistos os fundamentos da linguagem C. O conceito de linguagem de
programao, linguagens de alto e baixo nvel, linguagens genricas e especificas. Ser visto
um pouco do histrico da criao da linguagem e a descrio das caractersticas mais
importantes da linguagem C. Finalmente, ser visto o aspecto geral de um cdigo fonte escrito
em C.
1 Linguagens de Programao
Exemplo: trecho do mesmo programa escrito em linguagem Assembly para INTEL 8088:
MOV CX,0
IN AX,PORTA
MOV DX,AX
LABEL:
INC CX
MOV AX,DX
MUL CX
OUT AX, PORTA
CMP CX,10
JNE LABEL
Linguagens de alto nvel: So linguagens voltadas para o ser humano. Em geral utilizam
sintaxe estruturada tornando seu cdigo mais legvel. Necessitam de compiladores ou
interpretadores para gerar instrues do microprocessador. Interpretadores fazem a
interpretao de cada instruo do programa fonte executando-a dentro de um ambiente de
programao, Basic e AutoLISP por exemplo. Compiladores fazem a traduo de todas as
instrues do programa fonte gerando um programa executvel. Estes programas executveis
(*.exe) podem ser executados fora dos ambientes de programao, C e Pascal por exemplo.
As linguagens de alto nvel podem
FUNDAO EDSON QUEIROZ
UNIVERSIDADE DE FORTALEZA
2 Linguagem C
A linguagem C uma linguagem de alto nvel, genrica. Foi desenvolvida por programadores
para programadores tendo como meta caractersticas de flexibilidade e portabilidade. O C
uma linguagem que nasceu juntamente com o advento da teoria de linguagem estruturada e
do computador pessoal. Assim tornou-se rapidamente uma linguagem popular entre os
programadores. O C foi usado para desenvolver o sistema operacional UNIX, e hoje esta
sendo usada para desenvolver novas linguagens, entre elas a linguagem C++ e Java.
2.1 Caractersticas do C
Principais caractersticas:
O C uma linguagem de alto nvel com uma sintaxe bastante estruturada e flexvel
tornando sua programao bastante simplificada.
Programas em C so compilados, gerando programas executveis.
O C compartilha recursos tanto de alto quanto de baixo nvel, pois permite acesso e
programao direta do microprocessador. Com isto, rotinas cuja dependncia do tempo
crtica, podem ser facilmente implementadas usando instrues em Assembly. Por esta
razo o C a linguagem preferida dos programadores de aplicativos.
O C uma linguagem estruturalmente simples e de grande portabilidade. O compilador C
gera cdigos mais enxutos e velozes do que muitas outras linguagens.
Embora estruturalmente simples (poucas funes intrnsecas) o C no perde funcionalidade
pois permite a incluso de uma farta quantidade de rotinas do usurio. Os fabricantes de
compiladores fornecem uma ampla variedade de rotinas pr-compiladas em bibliotecas.
2.2 Histrico
1970: Denis Ritchie desenha uma linguagem a partir do BCPL nos laboratrios da Bell
Telephones, Inc. chama a linguagem de B.
FUNDAO EDSON QUEIROZ
UNIVERSIDADE DE FORTALEZA
1978: Brian Kerningham junta-se a Ritchie para aprimorar a linguagem. A nova verso
chama-se C. Pelas suas caractersticas de portabilidade e estruturao j se torna popular
entre os programadores.
~1980: A linguagem padronizada pelo American National Standard Institute: surge o ANSI
C.
~1990: A Borland International, fabricante de compiladores profissionais escolhe o C e o
Pascal como linguagens de trabalho para o seu Integrated Development Enviroment
(Ambiente Integrado de Desenvolvimento): surge o Turbo C.
~1992: O C se torna ponto de concordncia entre tericos do desenvolvimento da teoria de
Object Oriented Programming (programao orientada a objetos): surge o C++.
3 Estrutura de um programa em C
[ <Diretivas de Incluso>
<Declaraes Globais: Variveis, Prottipos de Funes, Estruturas, Classes, etc>
]
<tipo> main (<parametros>)
{
<Programa Principal>
}
[ <Implementao de Funes> ]
FUNDAO EDSON QUEIROZ
UNIVERSIDADE DE FORTALEZA
Programa Exemplo:
// leitura individual
printf("\nDigite o nome do item: "); // texto de aviso (prompt)
scanf("%s",nome); // leitura do dado
printf("Digite o cdigo do item: ");
scanf("%d",&cod);
printf("Digite o preo do item: ");
scanf("%f",&preco);
}
Exerccio Proposto:
Faa um programa que leia 2 nmeros reais e imprima a mdia aritmtica entre eles.
Caracteres vlidos:
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
1234567890
+-*/\=|&!?#%(){}[]_.,:<>
Caracteres no vlidos:
@$
3.2 Comentrios
Exemplo:
/* esta e uma linha de comentrio em C */
Observao: O C++ permite que comentrios sejam escritos de outra forma: colocando um //
em uma linha, o compilador entender que tudo que estiver direita do smbolo um
comentrio. Observe no programa exemplo primeiro.cpp as linhas de comentrios colocadas
a direita dos comandos.
Exemplo:
// este um comentrio vlido apenas em C++
sadia de informaes via portas serial e paralela sero vistas em captulos posteriores. No
exemplo acima printf uma funo de escrita na tela, scanf uma funo de leitura de
teclado.
Estrutura de Deciso:
Pseudo-linguagem Linguagem C
se condio if(condio){
ento bloco 1 bloco 1;
seno bloco 2 }else{
fim se bloco 2;
};
Pseudo-linguagem Linguagem C
faa do{
bloco bloco;
at condio }while(condio);