Você está na página 1de 32

Linguagem
de
Programação
1

Tipos
de
Dados


29/07/09
Introdução
• Quatro
itens
disWnguem
programadores

profissionais
de
amadores:

– O
uso
de
um
sistema
de
controle
de
versão

– AutomaWzação
de
tarefas
repeWWvas
– Teste
sistemáWco
– Uso
de
depuradores
ao
invés
de
mensagens
via

`print'


29/07/09
POG...


29/07/09
Notação
CienXfica
• Também
conhecida
como
forma
padrão
ou
notação

exponencial.
• Maneira
de
representar
a
escrita
de
números
que

acomodam
valores
muito
grandes
para
serem

escritos
de
forma
conveninente
em
notação

decimal
tradicional.
• Geralmente
favorecida
por
cienWstas,
matemáWcos

e
engenheiros.
• Representação:

29/07/09
Notação
CienXfica
● Notação
cienXfica
com
expoentes
nem

sempre
pode
ser
representada
em

computadores,
calculadoras,
etc.
uma
forma

alternaWva
seria
usando
a
letra
“E”
ou
“e”
que

significa
“vezes
10
à
potência
de…”,

n
subsWtuindo
"
×
10 "


29/07/09
IDE

Ambiente
integrado
de
desenvolvimento
(integrated
development

environment,
IDE)
também
conhecido
como
integrated
design

environment
or
integrated
debugging
environment
é
uma
aplicação

de
soDware
que
oferece
funcionalidades
compreensivas
a

programadores
de
computador
para
desenvolvimento
de
soDware.

Geralmente
consiste
em:

Editor
de
código
fonte

Compilador
e/ou
interpretador

Ferramentas
automáWcas
para
“build”

Depurador
(debugger)


29/07/09
IDE
(cont)
● Sugestões:
● Bloodshed
Dev‐C++
● Code::Blocks


29/07/09
IDE
(cont)
● Algumas
vezes,
um
sistema
de
controle
de

versão
e
várias
ferramentas
são
integradas

para
simplificar
a
construção
de
uma
GUI.
● Muitos
IDEs
modernos
também
possuem
um

navegador
de
classes,
um
inspetor
de
objetos,

e
um
diagrama
de
hierarquia
de
classes,
para

desenvolvimento
de
soDware
orientdo
a

objetos.


29/07/09
Suposições
● Aluno
possui
seu
próprio
IDE
dentre
os

citados.
● Aluno
possui
familiaridade
com
alguns

conceitos
básicos
como
variáveis,
atribuições,

laços
e
funções.


29/07/09
Linguagem
C
● C
é
uma
linguagem
de
programação
de
propósito
geral
desenvolvida

em
1972
por
Dennis
Ritchie
no
Bell
Telephone
Laboratories
para
uso

com
o
sistema
operacional
Unix.
● Embora
o
C
tenha
sido
projetado
para
implementação
de
soDware
de

sistema,
também
é
amplamente
usado
para
desenvolvimento
de

aplicações
portáveis.
● É
uma
das
linguagens
de
programação
mais
populares,
amplamente

usado
em
várias
plataformas
de
soDware
diferentes,
e
existem
algumas

arquiteturas
de
computador
para
as
quais
um
compilador
C
não
existe.



29/07/09
Linguagem
C
(cont)

Influenciou
muitas
outras
linguagens
de
programação
populares,
notadamente
o
C+
+,
o
qual
começou
orignalmente
como
uma
extensão
ao
C

É
uma
linguagem
imperaWva
(procedural).

Foi
projetada
para
ser
compilada
usando
um
compilador
razoavelmente
direto,
para

oferecer
acesso
à
memória
em
baixo
nível
e
oferecer
construtos
de
linguagem
que

mapeiam
eficientemente
instruções
de
máquina,
e
requerem
suporte
mínimo
a
run‐
3me.


Foi
úWl
para
muitas
aplicações
que
foram
originalmente
codificadas
em
linguagem
de

montagem
(assembly).

Foi
projetada
para
encorajar
programação
independente
de
máquina.
Um
programa

compaXvel
com
o
padrão
pode
ser
compilado
para
uma
ampla
gama
de
plataformas

computacionais
e
sistemas
operacionais
com
pouca
ou
nenhuma
mudança
ao
seu

código
fonte.



29/07/09
Linguagem
C
(cont)
● Disponível
em
uma
ampla
gama
de
plataformas,
de

micro‐controladores
embarcados
a

supercomputadores.
● Possui
caracterísWcas
para
programação
estruturada

e
permite
escopo
léxico
de
variável
e
recursão.
● Em
C,
todo
o
código
executável
está
conWdo
em

funções.


29/07/09
Linguagem
C
(cont)
● Tipos
de
dado
agregados
e
heterogêneos
(structs)

permitem
que
elementos
de
dado
relacionados

possam
ser
combinados
e
manipulados
como
uma

unidade.
O
código
fonte
é
de
formatação
livre,

usando
o
ponto
e
vírgula
como
um
terminador
de

oração.


29/07/09
Linguagem
C
(cont)
● Primeiro
programa:
#include
<stdio.h>


int
main()

{






prinV("hello,
world\n");







return
0;

}
● Este
conteúdo
deve
estar
em
um
arquivo
“.c”
● A
geração
do
binário
depende
do
SO
e
IDE
usado.

29/07/09
Linguagem
C
(cont)

Um
programa
C,
independente
de
seu
tamanho
é
composto

por
funções
e
variáveis.

Uma
função
contém
asserções
(statements)
que

especificam
as
operações
computacionais
a
serem

realizadas.
São
como
os
procedures
e
func3ons
no
Pascal.

O
exemplo
dado
possui
uma
função
chamada
main.

Geralmente
pode‐se
dar
o
nome
que
quiser
a
uma
função,

mas
“main”
é
especial
–
seu
programa
começa
executando

no
início
de
main.
Isso
significa
que
todo
programa
precisa

de
uma
função
main
em
algum
lugar.


29/07/09
Linguagem
C
(cont)
#include
<stdio.h>
● Diz
ao
compilador
para
incluir
informação
sobre
a
biblioteca
de
entrada/saída

padrão.
A
linha
aparece
no
início
de
muitos
códigos
fonte
C.
● Referência
à
stdio.h
em

hYp://www.opengroup.org/onlinepubs/000095399/basedefs/stdio.h.html
● Uma
forma
para
comunicar
dados
entre
funções
seria
a
função
chamadora

oferecer
uma
lista
de
valores
(argumentos)
para
a
função
chamada.
● Os
parêntesis
após
o
nome
da
função
circunda
a
lista
de
argumentos.
Neste

exemplo,
main
é
definida
para
ser
uma
função
que
não
espera
argumentos,

representado
pela
lista
vazia
().


29/07/09
Bibliotecas
• As
funções
em
C
ficam
armazenadas
em

bibliotecas.
• Para
incluir
uma
biblioteca,
uWliza‐se

#include
<Biblioteca>
• stdio.h
(Standard
Input/Output)–
contém

funções
de
entrada
e
saída
dos
disposiWvos

básicos
(teclado,
vídeo,
arquivos):
prinV(),

scanf(),
gets(),
getchar(),
puts(),
putchar(),...


29/07/09
Tipos
de
Dados
em
C

Tipo Bytes Escala

char 1 -128 a 127


int 2 -32768 a 32767
float 4 3.4E-38 a 3.4E+38
1.7E-308 a
double 8
1.7E+308
void 0 Sem valor


29/07/09 Não
existe
7po
boolean
em
C
Tipos
de
Dados
em
C

Tipo Bytes Escala

unsigned char 1 0 a 255

unsigned int 2 0 a 65.535

long int 4 -2.147.483.648 a


2.147.483.647
unsigned long 4 0 a 4.294.967.295

long double 10 3.4e-4932 a 1.1e4932


29/07/09
Constantes

char:



‘A’
int:








65



0x41



031
string:


“Abelha”
float:




68.231



1.3E‐21


29/07/09
Declaração
de
Variáveis

Tipo

Nome_Variável;

Exemplo:
int
x,
y,
z;
char
abacate;
float
A,
a,
Bola,
BOLA,
BoLa;

29/07/09
Função
prinV(
)
● Forma
Geral:





prinV(Expressão
de
controle,
variáveis);
● Expressão
de
Controle:
string
contendo
códigos
de
formatação

– Ex:

 prinV(“O
código
ASCII
da
letra
%c
é
%d
\n“
,
x,
y);
prinV(“%c
%d
%x
%o“
,
’A’);

A


65


41

‐101



29/07/09
Códigos
de
Formatação
de

Impressão
Código Formato
%d inteiro decimal
%o inteiro octal
%x inteiro hexadecimal
%f ponto flutuante: [-]dddd.dddd.
%e Notação científica:
[-]d.dddde[+/-]ddd
%c caracter simples
%s string

29/07/09 %u decimal sem sinal
Códigos
especiais

Código Significado
\n nova linha
\t tabulação
\” aspas
\\ barra
\0 nulo

29/07/09
Exemplos
usando
prinV()
main()
{

int
numero
=
2;


 char
prova
=
‘C’;


 float
tempo
=
14.77;


 prinV(“O
corredor
%d
\n
foi
o”,
numero);

 prinV(
“campeão
da
prova
%c
\ncom
o
tempo
























%5.2f”,
prova,
tempo);
}

29/07/09
Formatação
de
campo
‐
inteiro

main()
{

prinV(“Valor
=
%d\n”,123); Valor
=
123


 prinV(“Valor
=
%4d\n”,123); Valor
=

_123


 prinV(“Valor
=
%6d\n”,123); Valor
=

___123



 prinV(“Valor
=
%2d\n”,123); Valor
=
123



}


29/07/09
Formatação
de
campo
‐
float

main()
{

prinV("%.2f%.2f%.2f\n",1.5,12.3,789.21); 1234.56


 prinV("%3.1f\n",
1234.56); 1234.6

 prinV("%1.4f\n",
1234.56); 1234.5600

 prinV("%9.3f\n",
1234.56);
_1234.560

 prinV("%9.1f\n",
1234.56);
_
_
_1234.6

 prinV("%9.0f\n",
1234.56);
_
_
_
_
_1235
}


29/07/09
Formatação
–
Alinhamento

main()
{

prinV("%‐10.2f%‐10.2f%‐10.2f\n",1.5,12.3,789.21);
prinV("%‐10.2f%‐10.2f%‐10.2f\n",





















111.5,1222.3,56789.123);

 prinV("%‐10.2f%‐10.2f%‐10.2f\n",‐10.5,1.3,7.1);
}


29/07/09
Formatação
–
Alinhamento

main()
{

prinV("%‐10.2f%‐10.2f%‐10.2f\n",1.5,12.3,789.21);
prinV("%‐10.2f%‐10.2f%‐10.2f\n",





















111.5,1222.3,56789.123);

prinV("%‐10.2f%‐10.2f%‐10.2f\n",10.5,1.3,7.1);
}


29/07/09
Formatação
–
Acrescentar
zeros

main()
{


prinV("%02d

\n%05d

\n%7.4d
\n%6.0d",

15,15,15,15);
}


29/07/09
Formatação
–
Impressão
main()
{


prinV("%d

%c
%x
%o\n",
'A',
'A',
'A',
'A');

 prinV("%c

%c
%c
%c\n",
'A',
65,
0x41,
0101);
}
65

A

41
101
A

A

A
A


29/07/09
Função
scanf(
)
• Forma
Geral:

scanf(Expressão
de
controle,
endereços);
• Expressão
de
Controle:
string
contendo
códigos
de
formatação

– Ex:
scanf(“%f%d“
,&x,&y);

&

operador
endereço.
Permite
acessar
o
endereço
de
memória
de
uma
variável.

– Ex:
prinV(“%d%u“
,x,
&x);


29/07/09