SlideShare una empresa de Scribd logo
1 de 41
Descargar para leer sin conexión
Introdução à Programação em
Linguagem C
Prof. Rodolfo Riyoei Goya
Modelo Abstrato de Programação
• Elementos Estruturais
• Dados de Tipo Simples
• Dados em Estruturas
Homogêneas
• Dados em Estruturas
Heterogêneas
• Elementos Algorítmicos
• Declaração
• Comandos de Entrada/Saída
• Comandos de Expressão
• Comandos de Decisão
• Comandos de Iteração
Tipos Abstratos de Dados Básicos -
Inteiros
16 8 4 2 1
17 9 5 3 3
18 10 6 6 5
19 11 7 7 7
20 12 12 10 9
21 13 13 11 11
22 14 14 14 13
23 15 15 15 15
24 24 20 18 17
25 25 21 19 19
26 26 22 22 21
27 27 23 23 23
28 28 28 26 25
29 29 29 27 27
30 30 30 30 29
31 31 31 31 31
• Escolha um número entre 0 e
31.
• Identifique em que colunas o
número está.
• O número será dado pela soma
dos números na primeira linha
das colunas onde ele está!
Tipos Abstratos de Dados Básicos -
Inteiros
• Dados em computadores são representados em codificação binária
usando-se bits que podem valer ‘0’ ou ‘1’.
• Com 1 bit, 2 valores de codificação são possíveis:
• 0 codificando 0.
• 1 codificando 1.
Tipos Abstratos de Dados Básicos -
Inteiros
• Dados em computadores são representados em codificação binária
usando-se bits que podem valer ‘0’ ou ‘1’.
• Com 2 bits, 4 valores de codificação são possíveis:
• 00 codificando 0.
• 01 codificando 1.
• 10 codificando 2.
• 11 codificando 3.
Tipos Abstratos de Dados Básicos -
Inteiros
• Dados em computadores são representados em codificação binária
usando-se bits que podem valer ‘0’ ou ‘1’.
• Com 3 bits, 8 valores de codificação são possíveis:
• 000 codificando 0.
• 001 codificando 1.
• 010 codificando 2.
• 011 codificando 3.
• 100 codificando 4.
• 101 codificando 5.
• 110 codificando 6.
• 111 codificando 7.
Tipos Abstratos de Dados Básicos -
Inteiros
• Dados em computadores são representados em codificação binária
usando-se bits que podem valer ‘0’ ou ‘1’.
• Com 5 bits, 32 valores de codificação são possíveis:
• 00000 codificando 0.
• 00001 codificando 1.
• 00010 codificando 2.
• 00011 codificando 3.
...
• 11101 codificando 29.
• 11110 codificando 30.
• 11111 codificando 31.
Tipos Abstratos de Dados Básicos -
Inteiros
• Dados em computadores são representados em codificação binária
usando-se bits que podem valer ‘0’ ou ‘1’.
• Com n bits, 2n valores de codificação são possíveis:
• 0...0000 codificando 0.
• 0...0001 codificando 1.
• 0...0010 codificando 2.
• 0...0011 codificando 3.
...
• 1...1101 codificando 2n-3.
• 1...1110 codificando 2n-2.
• 1...1111 codificando 2n-1.
Números em base 10 e base 2
• O número 1961 é reconhecido como sendo:
• 1x1000 + 9x100 + 6x10 +1, ou seja
• 1x103 + 9x102 + 6x101 +1x100
• As vezes é escrito: 196110 onde o 10 subscrito é a base 10.
• Por esta razão, diz-se que o número está escrito na base 10, pois
cada dígito tem um peso que é potência de 10.
• Números na base 10 usam dez dígitos possíveis em cada posição no
número: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Números em base 10 e base 2
• Números na base 2 usam dois dígitos possíveis em cada posição no
número: 0 ou 1.
• Números na base 2 têm dígitos com pesos que são potência de 2:
• O número 11001 é reconhecido como sendo:
• 1x24 + 1x23 + 0x22 +0x21 +1x20
• 1x16 + 1x8 + 0x4 + 0x2 + 1x1, ou seja, 25
• As vezes escrito: 110012 onde o 2 subscrito é a base 2.
• 110012 corresponde ao número 2510.
Tipos Abstratos de Dados Básicos –
Inteiros com Sinal
• Números negativos são codificados com o acréscimo de um bit com
‘0’ indicando valor positivo e ‘1’ indicando valor negativo.
• Com 2 bits, 4 valores de codificação são possíveis:
• 00 codificando 0.
• 01 codificando 1.
• 10 codificando 2.
• 11 codificando 3.
Tipos Abstratos de Dados Básicos –
Inteiros com Sinal
• Números negativos são codificados com o acréscimo de um bit com
‘0’ indicando valor positivo e ‘1’ indicando valor negativo.
• Com 2 bits, 4 valores de codificação são possíveis:
• 00
• 01
• 10
• 11
• 00 codificando 0.
• 01 codificando 1.
• 10 codificando 2.
• 11 codificando 3.
Tipos Abstratos de Dados Básicos –
Inteiros com Sinal
• Números negativos são codificados com o acréscimo de um bit com
‘0’ indicando valor positivo e ‘1’ indicando valor negativo.
• Com 3 bits, 8 valores com sinal são possíveis:
• 100 codificando -4.
• 101 codificando -3.
• 110 codificando -2.
• 111 codificando -1.
• 000 codificando 0.
• 001 codificando 1.
• 010 codificando 2.
• 011 codificando 3.
Tipos Abstratos de Dados Básicos –
Inteiros com Sinal
• Números negativos são codificados com o acréscimo de um bit com
‘0’ indicando valor positivo e ‘1’ indicando valor negativo.
• Com n bits, 2n valores com sinal são possíveis:
• 100..00 codificando -2n-1.
• 100..01 codificando -2n-1 +1.
• ...
• 111..11 codificando -1.
• 000..00 codificando 0.
• 000..01 codificando 1.
• ...
• 011..11 codificando 2n-1-1.
Números com sinal em base 2
• No caso de números com sinal em base 2, a única diferença é que o
peso do dígito mais à esquerda do número é negativo.
• O número 11001 é reconhecido como sendo:
• 1x(-24)+ 1x23 + 0x22 +0x21 +1x20
• 1x(-16) + 1x8 + 0x4 + 0x2 + 1x1, ou seja, -7
• 110012 com sinal corresponde ao número -710.
Tipos Abstratos de Dados Básicos –
Inteiros
• Números, no mundo real, são limitados:
• O número de átomos no universo conhecido é de cerca de 1080
• A precisão com que uma medida pode ser feita tem limites
• Um computador que precise armazenar um número com uma quantidade
infinita de dígitos precisaria de uma memória com capacidade infinita
• Manipular números grandes requer grande memória e tempo para
processar
• Alguns processadores são de 32 ou 64 bits indicando o limite em que
podem processar números de modo eficiente
Tamanho de Palavra por Processador
Ano Processador
Palavra
(bits)
Memória
(bits) Palavra / Memória
1971 4004 4 4 1
1974 8080 8 8 1
1982 80286 16 8 2
1985 80386 32 8 4
1989 80486 32 8 4
1993 P5 – Pentium 32 8 4
1996 P6 – Pentium II 32 8 4
1999 P7 – Pentium III 32 8 4
2010 Core – I3 64 8 8
2010 Core – I5 64 8 8
2013 Core – I7 64 8 8
Tipos Abstratos de Dados Básicos –
Inteiros
• Inteiros
• int 32 bits (-2.147.483.648 a +2.147.483.647)
• unsigned int 32 bits (0 a 4.294.967.265)
• short 16 bits (-32.768 a +32.767)
• unsigned short 16 bits (0 a 65.535)
• long 32 bits (-2.147.483.648 a +2.147.483.647)
• unsigned long 32 bits (0 a 4.294.967.265)
• long long 64 bits (-263 a 263-1)
• unsigned long long 64 bits (0 a 264-1)
Tipos Abstratos de Dados Básicos –
Inteiros
• Números inteiros não podem começar com zero (exceto o 0).
• 25 é número inteiro.
• +42 é número inteiro.
• -12 é número inteiro.
• 025 não é número inteiro.
• -012 não é número inteiro.
• 0 e -0 são números inteiros.
• Número de tipo long devem ter a letra l no final:
• 1234567890l é número de tipo long.
• Número de tipo long long devem ter LL no final:
• 123456789012345LL é número de tipo long long.
• Inteiros com o modificador de tipo unsigned codificam apenas
valores positivos.
Tipos Abstratos de Dados Básicos –
Caracteres
• Caracteres
• char 8 bits (valor de -128 a +127)
• unsigned char 8 bits (valor de 0 a 255)
• Variáveis de tipo caractere permitem codificar letras minúsculas,
maiúsculas, dígitos numéricos e símbolos.
• Caracteres são representados entre aspas simples: ‘a’.
• A codificação é feita obedecendo a norma ditada pelo padrão ASCII
(American Standard Coding for Information Interchange).
• http://pt.wikipedia.org/wiki/ASCII
Tipos Abstratos de Dados Básicos –
Caracteres - ASCII
Binário Decimal Glifo
0010 0000 32
0010 0001 33 !
0010 0010 34 "
0010 0011 35 #
0010 0100 36 $
0010 0101 37 %
0010 0110 38 &
0010 0111 39 '
Binário Decimal Glifo
0010 1000 40 (
0010 1001 41 )
0010 1010 42 *
0010 1011 43 +
0010 1100 44 ,
0010 1101 45 -
0010 1110 46 .
0010 1111 47 /
Tipos Abstratos de Dados Básicos –
Caracteres - ASCII
Binário Decimal Glifo
0011 0000 48 0
0011 0001 49 1
0011 0010 50 2
0011 0011 51 3
0011 0100 52 4
0011 0101 53 5
0011 0110 54 6
0011 0111 55 7
Binário Decimal Glifo
0011 1000 56 8
0011 1001 57 9
0011 1010 58 :
0011 1011 59 ;
0011 1100 60 <
0011 1101 61 =
0011 1110 62 >
0011 1111 63 ?
Tipos Abstratos de Dados Básicos –
Caracteres - ASCII
Binário Decimal Glifo
0100 0000 64 @
0100 0001 65 A
0100 0010 66 B
0100 0011 67 C
0100 0100 68 D
0100 0101 69 E
0100 0110 70 F
0100 0111 71 G
Binário Decimal Glifo
0100 1000 72 H
0100 1001 73 I
0100 1010 74 J
0100 1011 75 K
0100 1100 76 L
0100 1101 77 M
0100 1110 78 N
0100 1111 79 O
Tipos Abstratos de Dados Básicos –
Caracteres - ASCII
Binário Decimal Glifo
0101 0000 80 P
0101 0001 81 Q
0101 0010 82 R
0101 0011 83 S
0101 0100 84 T
0101 0101 85 U
0101 0110 86 V
0101 0111 87 W
Binário Decimal Glifo
0101 1000 88 X
0101 1001 89 Y
0101 1010 90 Z
0101 1011 91 [
0101 1100 92 
0101 1101 93 ]
0101 1110 94 ^
0101 1111 95 _
Tipos Abstratos de Dados Básicos –
Caracteres - ASCII
Binário Decimal Glifo
0110 0000 96 `
0110 0001 97 a
0110 0010 98 b
0110 0011 99 c
0110 0100 100 d
0110 0101 101 e
0110 0110 102 f
0110 0111 103 g
Binário Decimal Glifo
0110 1000 104 h
0110 1001 105 i
0110 1010 106 j
0110 1011 107 k
0110 1100 108 l
0110 1101 109 m
0110 1110 110 n
0110 1111 111 O
Tipos Abstratos de Dados Básicos –
Caracteres - ASCII
Binário Decimal Glifo
0111 0000 112 p
0111 0001 113 q
0111 0010 114 r
0111 0011 115 s
0111 0100 116 t
0111 0101 117 u
0111 0110 118 v
0111 0111 119 w
Binário Decimal Glifo
0111 1000 120 x
0111 1001 121 y
0111 1010 122 z
0111 1011 123 {
0111 1100 124 |
0111 1101 125 }
0111 1110 126 ~
0111 1111 127
Tipos Abstratos de Dados Básicos
– Caracteres - ASCII
Binário Decimal Controle Abreviação Descrição
0000 0000 00 ^@ NUL Null
0000 0001 01 ^A SOH Start of Header
0000 0010 02 ^B STX Start of Text
0000 0011 03 ^C ETX End of Text
0000 0100 04 ^D EOT End of Tape
0000 0101 05 ^E ENQ Enquire
0000 0110 06 ^F ACK Acknowledge
0000 0111 07 ^G BEL Bell
Tipos Abstratos de Dados Básicos
– Caracteres - ASCII
Binário Decimal Controle Abreviação Descrição
0000 1000 08 ^H BS Back-space
0000 1001 09 ^I HT Tab (Horizontal Tabulation)
0000 1010 10 ^J LF Line-Feed - Alimenta linha
0000 1011 11 ^K VT Vertical Tabulation
0000 1100 12 ^L FF Form-Feed
0000 1101 13 ^M CR (Enter) Carriage-Return
0000 1110 14 ^N SO
0000 1111 15 ^O SI
Tipos Abstratos de Dados Básicos
– Caracteres - ASCII
Binário Decimal Controle Abreviação Descrição
0001 0000 16 ^P DLE Data-Link Escape
0001 0001 17 ^Q DC1 Device-Control 1
0001 0010 18 ^R DC2 Device-Control 2
0001 0011 19 ^S DC3 Device-Control 3
0001 0100 20 ^T DC4 Device-Control 4
0001 0101 21 ^U NAK Neg-Acknowledge
0001 0110 22 ^V SYN Synchronous Idle
0001 0111 23 ^W ETB End-of-Transmission Block
Tipos Abstratos de Dados Básicos
– Caracteres - ASCII
Binário Decimal Controle Abreviação Descrição
0001 1000 24 ^X CAN Cancel
0001 1001 25 ^Y EM End-Of-Medium
0001 1010 26 ^Z SUB Substitute
0001 1011 27 ^[ ESC (ESC) Escape
0001 1100 28 ^ FS File Separator
0001 1101 29 ^] GS Group Separator
0001 1110 30 ^^ RS Record Separator
0001 1111 31 ^_ US Unit Separator
Tipos Abstratos de Dados Básicos –
Números em Ponto Flutuante
• Nem todos os números que se usam em aplicações são números
inteiros. Alguns apresentam parte fracionária ou decimal.
• Estes números também podem ser representados em programas de
computador. Neste caso, recebem a denominação de números em
ponto flutuante.
• Do mesmo modo que ocorre com números inteiros, os números em
ponto flutuante tem limitação tanto em magnitude, como em precisão
(número de casas decimais).
Tipos Abstratos de Dados Básicos –
Números em Ponto Flutuante
• Números com parte inteira e decimal.
• 3.141592
• 1.414127
• Números inteiros, porém maiores do que podem ser expressos nos
tipos inteiros:
• int maior que 232 (≈109) ou long long maior que 264 (≈ 1020)
• Números expressos em notação científica.
• 6.023e+23 (equivalente a 6,023 x 1023)
• -1.609e-19 (equivalente a -1,609 x 10-19)
Tipos Abstratos de Dados Básicos –
Números em Ponto Flutuante
• Números em ponto flutuante em linguagem C
• float 32 bits
• 3.4x10-38 a 3.4x10+38
• 7 dígitos de precisão
• double 64 bits
• 1.7x10-308 a 1.7x10+308
• 14 dígitos de precisão
• long double80 bits
• 1.18973e-4932 a 1.18973e+4932
• 18 dígitos de precisão
• Padrão IEEE-754 (754-1985 e 754-2008) e IEEE-854
• http://en.wikipedia.org/wiki/IEEE_754-2008
Declaração de Variáveis
• Porções de memória reservadas para armazenar valores.
• São caracterizadas pelo seu nome, tipo, valor atual e endereço onde
está localizada.
• Para definir nomes de variáveis, pode-se usar letras maiúsculas,
minúsculas, dígitos e o caractere ‘_’ (apenas não se pode começar o
nomes com dígitos).
• Maiúsculas e minúsculas são distintas. A variável de nome x é
diferente de outra de nome X.
• Embora seja permitido, não é comum usar letras maiúsculas nos
nomes em linguagem C.
• Alguns nomes não podem ser usados pois são palavras reservadas
para a própria linguagem.
Palavras Reservadas
auto double int struct
break else long switch
case enum register typedef
char extern return union
const float short unsigned
continue for signed void
default goto sizeof volatile
do if static while
Declaração de Variáveis
• Formato: tipo lista de variáveis separadas por vírgulas;
• Feita antes do uso da variável, em geral no inicio de cada função;
• Cada declaração termina sempre com ponto e vírgula;
• Apenas unsigned significa unsigned int.
• Por exemplo:
• int contagem;
• char opcao, letra;
• unsigned dia, mes, ano;
• unsigned long populacao;
• float max, min;
• double valor, erro;
Declaração de Variáveis
• Pode-se inicializar variáveis na declaração:
• Por exemplo:
• int contagem = 0;
• char opcao = ‘S’, letra = 97; /* 97 == ‘a’ */
• unsigned dia = 21, mes = 12, ano = 2012;
• unsigned long populacao = 100;
• float max = 10.0, min = 0.0;
• double valor = 10.0, erro = 0.0;
Exemplo
main()
{
int i, j;
double x, y;
i = 1;
j = 3;
x = 0.0;
y = 10.0;
}
Conclusões
• Valores numéricos e caracteres são armazenados em padrões de
‘0’s e ‘1’s (bits) na memória segundo regras de conversão (por
exemplo, tabela ASCII para caracteres).
• Variáveis têm precisão finita no valor representado, assim, quando
modelam valores do mundo real, são aproximações.
• Diferentes tipos de variáveis (por exemplo short, int, long e
long long) podem armazenar o mesmo valor, mas ocupando
espaços de memória maiores e tomando mais tempo para
processamento.
Introdução à Programação em Linguagem C
Rodolfo Riyoei Goya
Copyright © 2015, Rodolfo Riyoei Goya

Más contenido relacionado

La actualidad más candente

La actualidad más candente (6)

Introdução
IntroduçãoIntrodução
Introdução
 
Circuitos Digitais - Revisão
Circuitos Digitais - RevisãoCircuitos Digitais - Revisão
Circuitos Digitais - Revisão
 
Sistemas numéricos
Sistemas numéricosSistemas numéricos
Sistemas numéricos
 
Actividade - Números Binários
Actividade - Números BináriosActividade - Números Binários
Actividade - Números Binários
 
Sistemas Digitais Aula 29-08-18
Sistemas Digitais Aula 29-08-18Sistemas Digitais Aula 29-08-18
Sistemas Digitais Aula 29-08-18
 
Circuitos Digitais: Revisão
Circuitos Digitais: RevisãoCircuitos Digitais: Revisão
Circuitos Digitais: Revisão
 

Destacado

Impressoras Makerbot
Impressoras MakerbotImpressoras Makerbot
Impressoras MakerbotVitorLWT
 
Portafolio de servicios
Portafolio de serviciosPortafolio de servicios
Portafolio de serviciosDany Esteban
 
Setmana de la música
Setmana de la músicaSetmana de la música
Setmana de la músicapinetons
 
Amenazas más usuales a las personas
Amenazas más usuales a las personasAmenazas más usuales a las personas
Amenazas más usuales a las personasTICIS
 
Technology creates social isolation and neurosis
Technology creates social isolation and neurosis Technology creates social isolation and neurosis
Technology creates social isolation and neurosis chrisgodward1
 
Jaime Bencomo Gutiérrez - Notre Dame
Jaime Bencomo Gutiérrez - Notre DameJaime Bencomo Gutiérrez - Notre Dame
Jaime Bencomo Gutiérrez - Notre DameFabiola Aranda
 
Consumidor20slideshare 091126203217-phpapp01
Consumidor20slideshare 091126203217-phpapp01Consumidor20slideshare 091126203217-phpapp01
Consumidor20slideshare 091126203217-phpapp01Mayk0nMel0
 
January2011 france
January2011 franceJanuary2011 france
January2011 francePerbosc
 
Factors influencing contraceptive use among urban men in nigeria
Factors influencing contraceptive use among urban men in nigeriaFactors influencing contraceptive use among urban men in nigeria
Factors influencing contraceptive use among urban men in nigeriaGabriel Ken
 
Train The Trainer Certification
Train The Trainer CertificationTrain The Trainer Certification
Train The Trainer CertificationSiddharthan VGJ
 
Mass media advertising in nigeria problems and prospects
Mass media advertising in nigeria  problems and prospectsMass media advertising in nigeria  problems and prospects
Mass media advertising in nigeria problems and prospectsGabriel Ken
 

Destacado (16)

Impressoras Makerbot
Impressoras MakerbotImpressoras Makerbot
Impressoras Makerbot
 
Portafolio de servicios
Portafolio de serviciosPortafolio de servicios
Portafolio de servicios
 
Setmana de la música
Setmana de la músicaSetmana de la música
Setmana de la música
 
Amenazas más usuales a las personas
Amenazas más usuales a las personasAmenazas más usuales a las personas
Amenazas más usuales a las personas
 
Technology creates social isolation and neurosis
Technology creates social isolation and neurosis Technology creates social isolation and neurosis
Technology creates social isolation and neurosis
 
Jaime Bencomo Gutiérrez - Notre Dame
Jaime Bencomo Gutiérrez - Notre DameJaime Bencomo Gutiérrez - Notre Dame
Jaime Bencomo Gutiérrez - Notre Dame
 
Word 2
Word 2Word 2
Word 2
 
5
55
5
 
Consumidor20slideshare 091126203217-phpapp01
Consumidor20slideshare 091126203217-phpapp01Consumidor20slideshare 091126203217-phpapp01
Consumidor20slideshare 091126203217-phpapp01
 
Navegadores y busc.
Navegadores y busc.Navegadores y busc.
Navegadores y busc.
 
January2011 france
January2011 franceJanuary2011 france
January2011 france
 
Factors influencing contraceptive use among urban men in nigeria
Factors influencing contraceptive use among urban men in nigeriaFactors influencing contraceptive use among urban men in nigeria
Factors influencing contraceptive use among urban men in nigeria
 
Norwaynd (3)
Norwaynd (3)Norwaynd (3)
Norwaynd (3)
 
Train The Trainer Certification
Train The Trainer CertificationTrain The Trainer Certification
Train The Trainer Certification
 
Programas de entrevistas
Programas de entrevistasProgramas de entrevistas
Programas de entrevistas
 
Mass media advertising in nigeria problems and prospects
Mass media advertising in nigeria  problems and prospectsMass media advertising in nigeria  problems and prospects
Mass media advertising in nigeria problems and prospects
 

Similar a Linguagem C (Parte 4)

Linguagem C (Parte 1)
Linguagem C (Parte 1)Linguagem C (Parte 1)
Linguagem C (Parte 1)Daniel Barão
 
UFCD 6024.pptx
UFCD 6024.pptxUFCD 6024.pptx
UFCD 6024.pptxteresa rua
 
Circuitos de portas logicas - Conversão de sistemas binarios e decimais
Circuitos de portas logicas - Conversão de sistemas binarios e decimaisCircuitos de portas logicas - Conversão de sistemas binarios e decimais
Circuitos de portas logicas - Conversão de sistemas binarios e decimaisRafaelRocha658505
 
Unidades de Medidas Computacionais
Unidades de Medidas ComputacionaisUnidades de Medidas Computacionais
Unidades de Medidas ComputacionaisJoao Neves
 
descodificadores codificadores Encoder Decoder Sistemas Digitais
descodificadores codificadores Encoder Decoder Sistemas Digitaisdescodificadores codificadores Encoder Decoder Sistemas Digitais
descodificadores codificadores Encoder Decoder Sistemas DigitaisCarlos Pereira
 
O básico que ainda deveríamos entender sobre Unicode e encondings
O básico que ainda deveríamos entender sobre Unicode e encondingsO básico que ainda deveríamos entender sobre Unicode e encondings
O básico que ainda deveríamos entender sobre Unicode e encondingsThiago Colares
 
Aula 10 - Códigos BCD.pptx
Aula 10 - Códigos BCD.pptxAula 10 - Códigos BCD.pptx
Aula 10 - Códigos BCD.pptxriodurval
 
Interligados Apresentação Final
Interligados Apresentação FinalInterligados Apresentação Final
Interligados Apresentação FinalHugo Leonardo
 
SISTEMAS digitais SISTEMAS DE NUMERAÇÃO
SISTEMAS digitais SISTEMAS DE NUMERAÇÃOSISTEMAS digitais SISTEMAS DE NUMERAÇÃO
SISTEMAS digitais SISTEMAS DE NUMERAÇÃOCarlos Pereira
 
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e OperadoresAula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e OperadoresAndré Constantino da Silva
 
CCNA 5 - Introdução à Redes de Computadores
CCNA 5 - Introdução à Redes de ComputadoresCCNA 5 - Introdução à Redes de Computadores
CCNA 5 - Introdução à Redes de ComputadoresFerNandoSantos287416
 
Ferramentas web aula02
Ferramentas web aula02Ferramentas web aula02
Ferramentas web aula02Carla Suelen
 
C:\Fakepath\Sistemasnumeracaobinariaedecimal
C:\Fakepath\SistemasnumeracaobinariaedecimalC:\Fakepath\Sistemasnumeracaobinariaedecimal
C:\Fakepath\SistemasnumeracaobinariaedecimalJosé Mortágua
 

Similar a Linguagem C (Parte 4) (20)

Linguagem C (Parte 1)
Linguagem C (Parte 1)Linguagem C (Parte 1)
Linguagem C (Parte 1)
 
UFCD 6024.pptx
UFCD 6024.pptxUFCD 6024.pptx
UFCD 6024.pptx
 
Circuitos de portas logicas - Conversão de sistemas binarios e decimais
Circuitos de portas logicas - Conversão de sistemas binarios e decimaisCircuitos de portas logicas - Conversão de sistemas binarios e decimais
Circuitos de portas logicas - Conversão de sistemas binarios e decimais
 
Unidades de Medidas Computacionais
Unidades de Medidas ComputacionaisUnidades de Medidas Computacionais
Unidades de Medidas Computacionais
 
descodificadores codificadores Encoder Decoder Sistemas Digitais
descodificadores codificadores Encoder Decoder Sistemas Digitaisdescodificadores codificadores Encoder Decoder Sistemas Digitais
descodificadores codificadores Encoder Decoder Sistemas Digitais
 
ITI Slides
ITI SlidesITI Slides
ITI Slides
 
O básico que ainda deveríamos entender sobre Unicode e encondings
O básico que ainda deveríamos entender sobre Unicode e encondingsO básico que ainda deveríamos entender sobre Unicode e encondings
O básico que ainda deveríamos entender sobre Unicode e encondings
 
Eletrônica digital aula 01
Eletrônica digital   aula 01Eletrônica digital   aula 01
Eletrônica digital aula 01
 
Sistemas Digitais Aula 29-08-2018
Sistemas Digitais Aula 29-08-2018Sistemas Digitais Aula 29-08-2018
Sistemas Digitais Aula 29-08-2018
 
Aula 10 - Códigos BCD.pptx
Aula 10 - Códigos BCD.pptxAula 10 - Códigos BCD.pptx
Aula 10 - Códigos BCD.pptx
 
Representação de dados
Representação de dadosRepresentação de dados
Representação de dados
 
Interligados Apresentação Final
Interligados Apresentação FinalInterligados Apresentação Final
Interligados Apresentação Final
 
Sistemas de numeração
Sistemas de numeraçãoSistemas de numeração
Sistemas de numeração
 
SISTEMAS digitais SISTEMAS DE NUMERAÇÃO
SISTEMAS digitais SISTEMAS DE NUMERAÇÃOSISTEMAS digitais SISTEMAS DE NUMERAÇÃO
SISTEMAS digitais SISTEMAS DE NUMERAÇÃO
 
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e OperadoresAula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
 
CCNA 5 - Introdução à Redes de Computadores
CCNA 5 - Introdução à Redes de ComputadoresCCNA 5 - Introdução à Redes de Computadores
CCNA 5 - Introdução à Redes de Computadores
 
Aula de Circuitos Lógicos Draft
Aula de Circuitos Lógicos DraftAula de Circuitos Lógicos Draft
Aula de Circuitos Lógicos Draft
 
Ferramentas web aula02
Ferramentas web aula02Ferramentas web aula02
Ferramentas web aula02
 
Códigos BCD, Gray e ASCII
Códigos  BCD, Gray e ASCIICódigos  BCD, Gray e ASCII
Códigos BCD, Gray e ASCII
 
C:\Fakepath\Sistemasnumeracaobinariaedecimal
C:\Fakepath\SistemasnumeracaobinariaedecimalC:\Fakepath\Sistemasnumeracaobinariaedecimal
C:\Fakepath\Sistemasnumeracaobinariaedecimal
 

Más de Daniel Barão

Conhecimentos de Informática.pdf
Conhecimentos de Informática.pdfConhecimentos de Informática.pdf
Conhecimentos de Informática.pdfDaniel Barão
 
Linguagem C (Parte 6)
Linguagem C (Parte 6)Linguagem C (Parte 6)
Linguagem C (Parte 6)Daniel Barão
 
Linguagem C (Parte 5)
Linguagem C (Parte 5)Linguagem C (Parte 5)
Linguagem C (Parte 5)Daniel Barão
 
Linguagem C (Parte 3)
Linguagem C (Parte 3)Linguagem C (Parte 3)
Linguagem C (Parte 3)Daniel Barão
 
Linguagem C (Parte 2)
Linguagem C (Parte 2)Linguagem C (Parte 2)
Linguagem C (Parte 2)Daniel Barão
 
Apostila de Linguagem C
Apostila de Linguagem CApostila de Linguagem C
Apostila de Linguagem CDaniel Barão
 
Tempo de vida das variaveis
Tempo de vida das variaveisTempo de vida das variaveis
Tempo de vida das variaveisDaniel Barão
 

Más de Daniel Barão (8)

Conhecimentos de Informática.pdf
Conhecimentos de Informática.pdfConhecimentos de Informática.pdf
Conhecimentos de Informática.pdf
 
Linguagem C (Parte 6)
Linguagem C (Parte 6)Linguagem C (Parte 6)
Linguagem C (Parte 6)
 
Linguagem C (Parte 5)
Linguagem C (Parte 5)Linguagem C (Parte 5)
Linguagem C (Parte 5)
 
Linguagem C (Parte 3)
Linguagem C (Parte 3)Linguagem C (Parte 3)
Linguagem C (Parte 3)
 
Linguagem C (Parte 2)
Linguagem C (Parte 2)Linguagem C (Parte 2)
Linguagem C (Parte 2)
 
Apostila de Linguagem C
Apostila de Linguagem CApostila de Linguagem C
Apostila de Linguagem C
 
Tabela de Integrais
Tabela de  IntegraisTabela de  Integrais
Tabela de Integrais
 
Tempo de vida das variaveis
Tempo de vida das variaveisTempo de vida das variaveis
Tempo de vida das variaveis
 

Último

07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptxVagner Soares da Costa
 
Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3filiperigueira1
 
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxTRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxFlvioDadinhoNNhamizi
 
Apresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMApresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMdiminutcasamentos
 
Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06AndressaTenreiro
 
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptxVagner Soares da Costa
 

Último (6)

07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
 
Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3
 
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxTRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
 
Apresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMApresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPM
 
Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06
 
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
 

Linguagem C (Parte 4)

  • 1. Introdução à Programação em Linguagem C Prof. Rodolfo Riyoei Goya
  • 2. Modelo Abstrato de Programação • Elementos Estruturais • Dados de Tipo Simples • Dados em Estruturas Homogêneas • Dados em Estruturas Heterogêneas • Elementos Algorítmicos • Declaração • Comandos de Entrada/Saída • Comandos de Expressão • Comandos de Decisão • Comandos de Iteração
  • 3. Tipos Abstratos de Dados Básicos - Inteiros 16 8 4 2 1 17 9 5 3 3 18 10 6 6 5 19 11 7 7 7 20 12 12 10 9 21 13 13 11 11 22 14 14 14 13 23 15 15 15 15 24 24 20 18 17 25 25 21 19 19 26 26 22 22 21 27 27 23 23 23 28 28 28 26 25 29 29 29 27 27 30 30 30 30 29 31 31 31 31 31 • Escolha um número entre 0 e 31. • Identifique em que colunas o número está. • O número será dado pela soma dos números na primeira linha das colunas onde ele está!
  • 4. Tipos Abstratos de Dados Básicos - Inteiros • Dados em computadores são representados em codificação binária usando-se bits que podem valer ‘0’ ou ‘1’. • Com 1 bit, 2 valores de codificação são possíveis: • 0 codificando 0. • 1 codificando 1.
  • 5. Tipos Abstratos de Dados Básicos - Inteiros • Dados em computadores são representados em codificação binária usando-se bits que podem valer ‘0’ ou ‘1’. • Com 2 bits, 4 valores de codificação são possíveis: • 00 codificando 0. • 01 codificando 1. • 10 codificando 2. • 11 codificando 3.
  • 6. Tipos Abstratos de Dados Básicos - Inteiros • Dados em computadores são representados em codificação binária usando-se bits que podem valer ‘0’ ou ‘1’. • Com 3 bits, 8 valores de codificação são possíveis: • 000 codificando 0. • 001 codificando 1. • 010 codificando 2. • 011 codificando 3. • 100 codificando 4. • 101 codificando 5. • 110 codificando 6. • 111 codificando 7.
  • 7. Tipos Abstratos de Dados Básicos - Inteiros • Dados em computadores são representados em codificação binária usando-se bits que podem valer ‘0’ ou ‘1’. • Com 5 bits, 32 valores de codificação são possíveis: • 00000 codificando 0. • 00001 codificando 1. • 00010 codificando 2. • 00011 codificando 3. ... • 11101 codificando 29. • 11110 codificando 30. • 11111 codificando 31.
  • 8. Tipos Abstratos de Dados Básicos - Inteiros • Dados em computadores são representados em codificação binária usando-se bits que podem valer ‘0’ ou ‘1’. • Com n bits, 2n valores de codificação são possíveis: • 0...0000 codificando 0. • 0...0001 codificando 1. • 0...0010 codificando 2. • 0...0011 codificando 3. ... • 1...1101 codificando 2n-3. • 1...1110 codificando 2n-2. • 1...1111 codificando 2n-1.
  • 9. Números em base 10 e base 2 • O número 1961 é reconhecido como sendo: • 1x1000 + 9x100 + 6x10 +1, ou seja • 1x103 + 9x102 + 6x101 +1x100 • As vezes é escrito: 196110 onde o 10 subscrito é a base 10. • Por esta razão, diz-se que o número está escrito na base 10, pois cada dígito tem um peso que é potência de 10. • Números na base 10 usam dez dígitos possíveis em cada posição no número: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
  • 10. Números em base 10 e base 2 • Números na base 2 usam dois dígitos possíveis em cada posição no número: 0 ou 1. • Números na base 2 têm dígitos com pesos que são potência de 2: • O número 11001 é reconhecido como sendo: • 1x24 + 1x23 + 0x22 +0x21 +1x20 • 1x16 + 1x8 + 0x4 + 0x2 + 1x1, ou seja, 25 • As vezes escrito: 110012 onde o 2 subscrito é a base 2. • 110012 corresponde ao número 2510.
  • 11. Tipos Abstratos de Dados Básicos – Inteiros com Sinal • Números negativos são codificados com o acréscimo de um bit com ‘0’ indicando valor positivo e ‘1’ indicando valor negativo. • Com 2 bits, 4 valores de codificação são possíveis: • 00 codificando 0. • 01 codificando 1. • 10 codificando 2. • 11 codificando 3.
  • 12. Tipos Abstratos de Dados Básicos – Inteiros com Sinal • Números negativos são codificados com o acréscimo de um bit com ‘0’ indicando valor positivo e ‘1’ indicando valor negativo. • Com 2 bits, 4 valores de codificação são possíveis: • 00 • 01 • 10 • 11 • 00 codificando 0. • 01 codificando 1. • 10 codificando 2. • 11 codificando 3.
  • 13. Tipos Abstratos de Dados Básicos – Inteiros com Sinal • Números negativos são codificados com o acréscimo de um bit com ‘0’ indicando valor positivo e ‘1’ indicando valor negativo. • Com 3 bits, 8 valores com sinal são possíveis: • 100 codificando -4. • 101 codificando -3. • 110 codificando -2. • 111 codificando -1. • 000 codificando 0. • 001 codificando 1. • 010 codificando 2. • 011 codificando 3.
  • 14. Tipos Abstratos de Dados Básicos – Inteiros com Sinal • Números negativos são codificados com o acréscimo de um bit com ‘0’ indicando valor positivo e ‘1’ indicando valor negativo. • Com n bits, 2n valores com sinal são possíveis: • 100..00 codificando -2n-1. • 100..01 codificando -2n-1 +1. • ... • 111..11 codificando -1. • 000..00 codificando 0. • 000..01 codificando 1. • ... • 011..11 codificando 2n-1-1.
  • 15. Números com sinal em base 2 • No caso de números com sinal em base 2, a única diferença é que o peso do dígito mais à esquerda do número é negativo. • O número 11001 é reconhecido como sendo: • 1x(-24)+ 1x23 + 0x22 +0x21 +1x20 • 1x(-16) + 1x8 + 0x4 + 0x2 + 1x1, ou seja, -7 • 110012 com sinal corresponde ao número -710.
  • 16. Tipos Abstratos de Dados Básicos – Inteiros • Números, no mundo real, são limitados: • O número de átomos no universo conhecido é de cerca de 1080 • A precisão com que uma medida pode ser feita tem limites • Um computador que precise armazenar um número com uma quantidade infinita de dígitos precisaria de uma memória com capacidade infinita • Manipular números grandes requer grande memória e tempo para processar • Alguns processadores são de 32 ou 64 bits indicando o limite em que podem processar números de modo eficiente
  • 17. Tamanho de Palavra por Processador Ano Processador Palavra (bits) Memória (bits) Palavra / Memória 1971 4004 4 4 1 1974 8080 8 8 1 1982 80286 16 8 2 1985 80386 32 8 4 1989 80486 32 8 4 1993 P5 – Pentium 32 8 4 1996 P6 – Pentium II 32 8 4 1999 P7 – Pentium III 32 8 4 2010 Core – I3 64 8 8 2010 Core – I5 64 8 8 2013 Core – I7 64 8 8
  • 18. Tipos Abstratos de Dados Básicos – Inteiros • Inteiros • int 32 bits (-2.147.483.648 a +2.147.483.647) • unsigned int 32 bits (0 a 4.294.967.265) • short 16 bits (-32.768 a +32.767) • unsigned short 16 bits (0 a 65.535) • long 32 bits (-2.147.483.648 a +2.147.483.647) • unsigned long 32 bits (0 a 4.294.967.265) • long long 64 bits (-263 a 263-1) • unsigned long long 64 bits (0 a 264-1)
  • 19. Tipos Abstratos de Dados Básicos – Inteiros • Números inteiros não podem começar com zero (exceto o 0). • 25 é número inteiro. • +42 é número inteiro. • -12 é número inteiro. • 025 não é número inteiro. • -012 não é número inteiro. • 0 e -0 são números inteiros. • Número de tipo long devem ter a letra l no final: • 1234567890l é número de tipo long. • Número de tipo long long devem ter LL no final: • 123456789012345LL é número de tipo long long. • Inteiros com o modificador de tipo unsigned codificam apenas valores positivos.
  • 20. Tipos Abstratos de Dados Básicos – Caracteres • Caracteres • char 8 bits (valor de -128 a +127) • unsigned char 8 bits (valor de 0 a 255) • Variáveis de tipo caractere permitem codificar letras minúsculas, maiúsculas, dígitos numéricos e símbolos. • Caracteres são representados entre aspas simples: ‘a’. • A codificação é feita obedecendo a norma ditada pelo padrão ASCII (American Standard Coding for Information Interchange). • http://pt.wikipedia.org/wiki/ASCII
  • 21. Tipos Abstratos de Dados Básicos – Caracteres - ASCII Binário Decimal Glifo 0010 0000 32 0010 0001 33 ! 0010 0010 34 " 0010 0011 35 # 0010 0100 36 $ 0010 0101 37 % 0010 0110 38 & 0010 0111 39 ' Binário Decimal Glifo 0010 1000 40 ( 0010 1001 41 ) 0010 1010 42 * 0010 1011 43 + 0010 1100 44 , 0010 1101 45 - 0010 1110 46 . 0010 1111 47 /
  • 22. Tipos Abstratos de Dados Básicos – Caracteres - ASCII Binário Decimal Glifo 0011 0000 48 0 0011 0001 49 1 0011 0010 50 2 0011 0011 51 3 0011 0100 52 4 0011 0101 53 5 0011 0110 54 6 0011 0111 55 7 Binário Decimal Glifo 0011 1000 56 8 0011 1001 57 9 0011 1010 58 : 0011 1011 59 ; 0011 1100 60 < 0011 1101 61 = 0011 1110 62 > 0011 1111 63 ?
  • 23. Tipos Abstratos de Dados Básicos – Caracteres - ASCII Binário Decimal Glifo 0100 0000 64 @ 0100 0001 65 A 0100 0010 66 B 0100 0011 67 C 0100 0100 68 D 0100 0101 69 E 0100 0110 70 F 0100 0111 71 G Binário Decimal Glifo 0100 1000 72 H 0100 1001 73 I 0100 1010 74 J 0100 1011 75 K 0100 1100 76 L 0100 1101 77 M 0100 1110 78 N 0100 1111 79 O
  • 24. Tipos Abstratos de Dados Básicos – Caracteres - ASCII Binário Decimal Glifo 0101 0000 80 P 0101 0001 81 Q 0101 0010 82 R 0101 0011 83 S 0101 0100 84 T 0101 0101 85 U 0101 0110 86 V 0101 0111 87 W Binário Decimal Glifo 0101 1000 88 X 0101 1001 89 Y 0101 1010 90 Z 0101 1011 91 [ 0101 1100 92 0101 1101 93 ] 0101 1110 94 ^ 0101 1111 95 _
  • 25. Tipos Abstratos de Dados Básicos – Caracteres - ASCII Binário Decimal Glifo 0110 0000 96 ` 0110 0001 97 a 0110 0010 98 b 0110 0011 99 c 0110 0100 100 d 0110 0101 101 e 0110 0110 102 f 0110 0111 103 g Binário Decimal Glifo 0110 1000 104 h 0110 1001 105 i 0110 1010 106 j 0110 1011 107 k 0110 1100 108 l 0110 1101 109 m 0110 1110 110 n 0110 1111 111 O
  • 26. Tipos Abstratos de Dados Básicos – Caracteres - ASCII Binário Decimal Glifo 0111 0000 112 p 0111 0001 113 q 0111 0010 114 r 0111 0011 115 s 0111 0100 116 t 0111 0101 117 u 0111 0110 118 v 0111 0111 119 w Binário Decimal Glifo 0111 1000 120 x 0111 1001 121 y 0111 1010 122 z 0111 1011 123 { 0111 1100 124 | 0111 1101 125 } 0111 1110 126 ~ 0111 1111 127
  • 27. Tipos Abstratos de Dados Básicos – Caracteres - ASCII Binário Decimal Controle Abreviação Descrição 0000 0000 00 ^@ NUL Null 0000 0001 01 ^A SOH Start of Header 0000 0010 02 ^B STX Start of Text 0000 0011 03 ^C ETX End of Text 0000 0100 04 ^D EOT End of Tape 0000 0101 05 ^E ENQ Enquire 0000 0110 06 ^F ACK Acknowledge 0000 0111 07 ^G BEL Bell
  • 28. Tipos Abstratos de Dados Básicos – Caracteres - ASCII Binário Decimal Controle Abreviação Descrição 0000 1000 08 ^H BS Back-space 0000 1001 09 ^I HT Tab (Horizontal Tabulation) 0000 1010 10 ^J LF Line-Feed - Alimenta linha 0000 1011 11 ^K VT Vertical Tabulation 0000 1100 12 ^L FF Form-Feed 0000 1101 13 ^M CR (Enter) Carriage-Return 0000 1110 14 ^N SO 0000 1111 15 ^O SI
  • 29. Tipos Abstratos de Dados Básicos – Caracteres - ASCII Binário Decimal Controle Abreviação Descrição 0001 0000 16 ^P DLE Data-Link Escape 0001 0001 17 ^Q DC1 Device-Control 1 0001 0010 18 ^R DC2 Device-Control 2 0001 0011 19 ^S DC3 Device-Control 3 0001 0100 20 ^T DC4 Device-Control 4 0001 0101 21 ^U NAK Neg-Acknowledge 0001 0110 22 ^V SYN Synchronous Idle 0001 0111 23 ^W ETB End-of-Transmission Block
  • 30. Tipos Abstratos de Dados Básicos – Caracteres - ASCII Binário Decimal Controle Abreviação Descrição 0001 1000 24 ^X CAN Cancel 0001 1001 25 ^Y EM End-Of-Medium 0001 1010 26 ^Z SUB Substitute 0001 1011 27 ^[ ESC (ESC) Escape 0001 1100 28 ^ FS File Separator 0001 1101 29 ^] GS Group Separator 0001 1110 30 ^^ RS Record Separator 0001 1111 31 ^_ US Unit Separator
  • 31. Tipos Abstratos de Dados Básicos – Números em Ponto Flutuante • Nem todos os números que se usam em aplicações são números inteiros. Alguns apresentam parte fracionária ou decimal. • Estes números também podem ser representados em programas de computador. Neste caso, recebem a denominação de números em ponto flutuante. • Do mesmo modo que ocorre com números inteiros, os números em ponto flutuante tem limitação tanto em magnitude, como em precisão (número de casas decimais).
  • 32. Tipos Abstratos de Dados Básicos – Números em Ponto Flutuante • Números com parte inteira e decimal. • 3.141592 • 1.414127 • Números inteiros, porém maiores do que podem ser expressos nos tipos inteiros: • int maior que 232 (≈109) ou long long maior que 264 (≈ 1020) • Números expressos em notação científica. • 6.023e+23 (equivalente a 6,023 x 1023) • -1.609e-19 (equivalente a -1,609 x 10-19)
  • 33. Tipos Abstratos de Dados Básicos – Números em Ponto Flutuante • Números em ponto flutuante em linguagem C • float 32 bits • 3.4x10-38 a 3.4x10+38 • 7 dígitos de precisão • double 64 bits • 1.7x10-308 a 1.7x10+308 • 14 dígitos de precisão • long double80 bits • 1.18973e-4932 a 1.18973e+4932 • 18 dígitos de precisão • Padrão IEEE-754 (754-1985 e 754-2008) e IEEE-854 • http://en.wikipedia.org/wiki/IEEE_754-2008
  • 34. Declaração de Variáveis • Porções de memória reservadas para armazenar valores. • São caracterizadas pelo seu nome, tipo, valor atual e endereço onde está localizada. • Para definir nomes de variáveis, pode-se usar letras maiúsculas, minúsculas, dígitos e o caractere ‘_’ (apenas não se pode começar o nomes com dígitos). • Maiúsculas e minúsculas são distintas. A variável de nome x é diferente de outra de nome X. • Embora seja permitido, não é comum usar letras maiúsculas nos nomes em linguagem C. • Alguns nomes não podem ser usados pois são palavras reservadas para a própria linguagem.
  • 35. Palavras Reservadas auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while
  • 36. Declaração de Variáveis • Formato: tipo lista de variáveis separadas por vírgulas; • Feita antes do uso da variável, em geral no inicio de cada função; • Cada declaração termina sempre com ponto e vírgula; • Apenas unsigned significa unsigned int. • Por exemplo: • int contagem; • char opcao, letra; • unsigned dia, mes, ano; • unsigned long populacao; • float max, min; • double valor, erro;
  • 37. Declaração de Variáveis • Pode-se inicializar variáveis na declaração: • Por exemplo: • int contagem = 0; • char opcao = ‘S’, letra = 97; /* 97 == ‘a’ */ • unsigned dia = 21, mes = 12, ano = 2012; • unsigned long populacao = 100; • float max = 10.0, min = 0.0; • double valor = 10.0, erro = 0.0;
  • 38. Exemplo main() { int i, j; double x, y; i = 1; j = 3; x = 0.0; y = 10.0; }
  • 39. Conclusões • Valores numéricos e caracteres são armazenados em padrões de ‘0’s e ‘1’s (bits) na memória segundo regras de conversão (por exemplo, tabela ASCII para caracteres). • Variáveis têm precisão finita no valor representado, assim, quando modelam valores do mundo real, são aproximações. • Diferentes tipos de variáveis (por exemplo short, int, long e long long) podem armazenar o mesmo valor, mas ocupando espaços de memória maiores e tomando mais tempo para processamento.
  • 40. Introdução à Programação em Linguagem C Rodolfo Riyoei Goya
  • 41. Copyright © 2015, Rodolfo Riyoei Goya