Escolar Documentos
Profissional Documentos
Cultura Documentos
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
29/07/09 Não
existe
7po
boolean
em
C
Tipos
de
Dados
em
C
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