Computação Eletrônica Tipos de dados, constantes...
Transcript of Computação Eletrônica Tipos de dados, constantes...
![Page 1: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/1.jpg)
CIn.ufpe.br
ComputaçãoEletrônicaTiposdedados,constantes,variáveis,operadoreseexpressões Prof:LucianoBarbosaSitedadisciplina:www.cin.ufpe.br/~if165/
![Page 2: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/2.jpg)
CIn.ufpe.br
Recapitulando
2
Algoritmo Algoritmo em C
num
cubo = n * n * n
cubo
![Page 3: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/3.jpg)
CIn.ufpe.br
AuladeHoje:VariáveiseConstantes
Variáveis
![Page 4: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/4.jpg)
CIn.ufpe.br
AuladeHoje:Operadores
Operadores
![Page 5: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/5.jpg)
CIn.ufpe.br
VariáveiseConstantes
• Armazenamosdadosdosprogramasemmemória• Armazenamumtipodedado(inteiro,realoucaractere)• Possuem um identificador (nome) para referenciar o seu
conteúdo• Declaração:
Sintaxe
<tipo><identificador_1>[,identificador_2,...];
![Page 6: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/6.jpg)
CIn.ufpe.br
VariáveisemMemóriaPrincipaldoComputador
6
MemóriadoComputador0: 1: 2: 3: 4:
5: 6: 7: 8: 9:
10: 11: 12: 13: 14:
15: 16: 17: 18: 19:
int cubo = 5;
![Page 7: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/7.jpg)
CIn.ufpe.br
VariáveisemMemóriaPrincipaldoComputador
1. Separeumaáreadamemóriaparaarmazenarotipodavariável(inteiro:32bits)
7
MemóriadoComputador0: 1: 2: 3: 4:
5: 6: 7: 8: 9:
10: 11: 12: 13: 14:
15: 16: 17: 18: 19:
int cubo = 5;
área reservada de 32 bits
![Page 8: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/8.jpg)
CIn.ufpe.br
VariáveisemMemóriaPrincipaldoComputador
1. Separeumaáreadamemóriaparaarmazenarotipodavariável(inteiro:32bits)
2. Nomeieessaáreade“cubo”
8
MemóriadoComputador0: 1: 2: 3: 4:
5: 6: 7: 8: 9:
10: 11: 12: 13: 14:
15: 16: 17: 18: 19:
int cubo = 5;
cubo
![Page 9: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/9.jpg)
CIn.ufpe.br
VariáveisemMemóriaPrincipaldoComputador
1. Separeumaáreadamemóriaparaarmazenarotipodavariável(inteiro:32bits)
2. Nomeieessaáreade“cubo”3. Coloquenessaáreaonúmero5(embinário:111)
9
MemóriadoComputador0: 1: 2: 3: 4:
5: 6: 7: 8: 9: 111
10: 11: 12: 13: 14:
15: 16: 17: 18: 19:
int cubo = 5;
cubo
![Page 10: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/10.jpg)
CIn.ufpe.br
Constantes• Aocontráriodasvariáveis,constantesarmazenamvaloresfixos
• Apósaprimeirainicialização(quepodesernaprópriadeclaração)umaconstantenãopodeterseuvaloralterado.
Sintaxe
const<tipo><constante1>[,<constante2>,...];
![Page 11: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/11.jpg)
CIn.ufpe.br
Constantesdepreprocessador• EmC,adiretiva#defineéfrequentementeutilizadaaoinvésde
const.
• Nestecaso,antesdacompilaçãotodasasocorrênciasdonomedaCONSTANTEsãosubstituídaspeloVALORdefinido.
• Otiposeráinferidoemtempodecompilação.
Sintaxe
#define<CONSTANTE><VALOR>
Obs.1:porconvençãodevemserutilizadasletrasmaiúsculasnonomedeconstanteseunderscoreparasepararpalavras.
Obs.2:constantesdestetiposempretêmescopoglobal
![Page 12: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/12.jpg)
CIn.ufpe.br
TiposdeDados
• Variáveisarmazenamtiposdedados• Quatrotiposdedados:
– Inteiro(int)– Real(float,double)– Caractere(char)– Indefinido(void)
• Nãopossuiotipológico,quearmazenaverdadeirooufalso:tipointcomvalores(0:falso,≠0:verdadeiro)
• Paracadatipodedado,énecessáriaumaquantidadedebitsparaarmazená-lonamemória
Declaraçãodevariável
<tipo><identificador_1>[,identificador_2,...];
![Page 13: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/13.jpg)
CIn.ufpe.br
TiposdeDados:Inteiro
• Osnúmerosinteiros,emC,sedividememtrêstipos:
• Obs1.:Otipocharàsvezeséutilizadocomfinalidadederepresentaruminteirode8bits(0a255).
• Obs2.:Otamanhopodevariardeacordocomocompiladoroucomaplataformaparaqualoprogramaestásendocompilado.
Tipo Tamanho IntervaloSuportado
shortint(short) 16bits -32.768a+32.767
int
32bits
-2.147.483.648a+2.147.483.647
longint(long)
64bits
-9.223.372.036.854.775.808a+9.223.372.036.854.775.807
![Page 14: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/14.jpg)
CIn.ufpe.br
TiposdeDados:Inteiro
• Tipodevecomportarovaloraserarmazenado– Ex:idadedeumfuncionário->short– Ex:quantidadedeeleitoresdeumacidadegrande->int
• Podemsercombinadoscomomodificadorunsigned(semsinal)– Duplicaovalormáximoquepodeserarmazenado,iniciandoa
representaçãodozero(deixandoderepresentarvaloresnegativos).– Ex.:unsignedshort,unsignedintouunsignedlong
• Parafacilitarnossoestudo,sempreseráusadootipointparaarmazenarosdadosinteiros.
![Page 15: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/15.jpg)
CIn.ufpe.br
TiposdeDados:Real• Osnúmerosreais,emC,podemserdedoistipos:
• Otamanhopodevariardeacordocomocompiladoroucomaplataformaparaqualoprogramaestásendocompilado.
Tipo Tamanho IntervaloSuportado
float 32bits 3.4E-38a3.4E+38
double 64bits 1.7E-308a1.7E+308
![Page 16: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/16.jpg)
CIn.ufpe.br
TiposdeDados:Caractere
• Tipochar• Caracterealfanumérico(a,b,c,...z,A,B,C,...Z,0...9)ouespecial
(comoporexemplo:;#?@!<?)• Otipochararmazenaumúnicocaractere• Ocupa8bitsdememória• Representadoentreapostrófos:charletra=‘a’;• Sequênciadecaracteres(string):charcarro[]=“ferrari”;
![Page 17: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/17.jpg)
CIn.ufpe.br
TiposdeDados:void
• Nenhumvalordisponível• Frequentementeutilizadoquandoestamosdefinindofunções
quenãoretornamnenhumvalor(retornamvazio)nosnossosprogramas.Ex.://Funçãoprincipalquenãoretornavalornenhumvoidmain(){....
}• Obs.:
– NopadrãodecodificaçãoANSIC,afunçãomaindeveretornarsempreint.Quandoovalorretornadoézeroindicaqueoprogramafinalizousemerros.Qualqueroutrovalorindicaumcódigodeerroestipuladopeloprogramador.
– Utilizarotipovoidnamainresultaemumaviso(warning)decompilação.
![Page 18: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/18.jpg)
CIn.ufpe.br
QualoTipo?
• Nomedeumapessoa• Númerodequartosdeumapartamento• Peso• Temperatura• Nomedeumacidade• Númerodealunosnadisciplina
18
![Page 19: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/19.jpg)
CIn.ufpe.br
Identificadores
• Nomesparavariáveis,constantes,funçõeseprocedimentos• Regras
– Oprimeirocaracteredeveserumaletraou_(underscore);– Orestantedonomedeveserformadoporcaracterespertencentesao
seguinteconjunto:a,b,c,..z,A,B,C,...Z,0,1,2,...,9,_(ouseja:letras,númeroseunderscore);
– Nãodevehaverespaçoembranco;– Nãoutilizaracentos,nemcedilha;– Osidentificadorespodemteraté32caracteres;– Emummesmoescopo,nãodevehaveridentificadoresrepetidos– Palavrasreservadasnãopermitidas
Declaraçãodevariável
<tipo><identificador_1>[,identificador_2,...];
![Page 20: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/20.jpg)
CIn.ufpe.br
Identificadores• Distinçãodemaiúsculaseminúsculas(casesensitive)
– Ex:osidentificadores:Media,MEDIA,MediAemediasãoconsideradosdiferentes
• DICA:BoaPráticadeProgramação– Escolhambemosnomesdasvariáveiseconstantesdoprograma.– Osidentificadoresescolhidosdevemserclaros,afimdeexplicitaro
conteúdoqueseráarmazenado,mastambémnãodevemserextensosparanãodificultaraescrita.
– Evitenomescomoa,bec,num1,num2(anãoserquefaçamsentidonocontextoondeserãoutilizados)
![Page 21: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/21.jpg)
CIn.ufpe.br
ExemplosdeIdentificadores
• a• X2• Nomedisciplina• NomeAluno• media*• Media• salarioFuncionario• 2m• _3a_entrada• funcionário• ação1
![Page 22: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/22.jpg)
CIn.ufpe.br
OperadordeAtribuição(=)• Armazenarumvaloremumadadavariávelouconstante
(espaçodememóriaassociado)• Dadoaserarmazenadodevesercompatívelcomotipoda
variável– Porexemplo,asvariáveisreaispodemrecebervaloresreaiseinteiros.– Noentanto,umavariávelinteiranãopodereceberumvalorreal
(cuidado!ovalorseráconvertidoparainteiropodendogerarresultadosestranhos).
![Page 23: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/23.jpg)
CIn.ufpe.br
OperadordeAtribuição(=)• Exemplo:
– Defineumaposiçãodememóriachamadaxparaarmazenarinteiros– Armazenaovalor5
Memória0: 1: 2: 3: 4:
5: 6: 7: 8: 9:
10: 11: 12: 13: 14:
15: 16: 17: 18: 19:
xx=111
![Page 24: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/24.jpg)
CIn.ufpe.br
OperadordeAtribuição(=)• PodeserusadoemqualquerexpressãoválidaemC• Representadopelosímbolodeigual:=• Formageral:<nome_da_variável>=<expressão>
• Aordeméimportante!Atribuição,sempredadireitapraesquerda:ß
Qual o valor de a e b?
![Page 25: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/25.jpg)
CIn.ufpe.br
OperadordeAtribuição(=)
• Incrementodeumavariável:
• Nãoconfundircomaigualdadematemática!• Matematicamentefalandoxnuncaseráigualax+1;• EmC,“=”éooperadordeatribuiçãoenãoosinalde
igualdade.
![Page 26: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/26.jpg)
CIn.ufpe.br
OperadordeAtribuição(=)
• Incrementodeumavariável:
• Lembre-se:avaliaçãodadireitaparaaesquerda.• Passosparaexecuçãodaatribuição:
1. Avaliaçãodoladodireito:(x+1)éavaliado.Resultado:6;2. Avaliaçãodoladoesquerdo:oendereçodememóriadexé
determinado;3. Ocorreaatribuição:6éarmazenadonoendereçodememóriadex.
Apartirdesteponto:x=6
![Page 27: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/27.jpg)
CIn.ufpe.br
OperadoresdeIncremento
• Operadoresdeincrementoedecrementosãooperadoresunáriosquesãoutilizadosemvariáveis;
• Ooperadordeincremento(++)soma1aoseuoperando(variável)
• Ooperadordedecremento(--)subtrai1deseuoperando• Ainstrução: contador++;
• éfuncionalmenteequivalentea: contador=contador+1;��
Reescrevendooprogramaanterior
![Page 28: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/28.jpg)
CIn.ufpe.br
OperadoresdeIncremento
• Estesoperadorespodemserempregadosdeformapós-fixadaoupré-fixada
• contador++;ou++contador;• Quandoisoladostêmcomportamentosequivalentes;
Reescrevendooprogramaanterior
![Page 29: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/29.jpg)
CIn.ufpe.br
OperadoresdeIncremento
• Quandofazempartedeexpressõesmaiores,elespodemtercomportamentosdiferentes.
• Pré-fixado:++a;ou--a;• Incrementa(oudecrementado)de1ovalordea.• Seapareceemumaexpressão,ovaloréincrementado(ou
decrementado)antesdocálculodaexpressão
x = x + 1; y = x * 2;
Qualovalordexeyaofinaldoprograma?
![Page 30: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/30.jpg)
CIn.ufpe.br
OperadoresdeIncremento
• Quandofazempartedeexpressõesmaiores,elespodemtercomportamentosdiferentes.
• Pós-fixado:a++;oua--;• Seapareceemumaexpressão,ovaloréincrementado(ou
decrementado)depoisdocálculodaexpressão
Qualovalordexeyaofinaldoprograma?
y = x * 2; x = x + 1;
![Page 31: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/31.jpg)
CIn.ufpe.br
OperadoresAritméticos
• Operadoresaritméticosbinários• Doisoperandos• Notação:<operando><operador><operando>.Ex.:4*2
Sinal Ação+ Adição
- Subtração
* Multiplicação
/ Divisão
% Restodadivisão(sóparainteiros)
![Page 32: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/32.jpg)
CIn.ufpe.br
OperadoresdeIncrementoCombinados:+=,-=,*=,/=
• Podemosaindaincrementarumavariávelemmaisde1porvez:– a+=2;(Incrementaaemdois)->a=a+2;– a-=3;(Decrementaaemtrês)->a=a–3;
• Háaindaoperaçõesequivalentescomoutrosoperadoresbinários:– a*=2;(Multiplicaapordois)->a=a*2;– a/=3;(Divideaportrês)->a=a/3;
![Page 33: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/33.jpg)
CIn.ufpe.br
OperadoresAritméticos• Operador(%),restodadivisão:
– 0%3:0– 1%3:1– 2%3:2– 3%3:0– 4%3:1– 5%3:2
• Oresultadodaoperaçãoteráomesmotipodosoperandos.Ex:– 3/2(int/int)=1(int)
• Emcasodeoperandosdetiposdistintosoresultadoserádotipomaisabrangente:– 3.0/2(float/int)=1.5(float)
![Page 34: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/34.jpg)
CIn.ufpe.br
ExpressõesAritméticas
• Computamresultadosnuméricoseutilizamoperadoresaritméticoscombinadoscomoperandosnuméricos.
• Podemenvolver:– Variáveis,constantes,funçõesnuméricas
• Ordemdeprecedência1. Operadoresunários(-,--,++)eFunções2. Multiplicação(*),Divisão(/)eMódulo(%)3. Adição(+)eSubtração(-)
• Qualovalordeanaexpressão:a=1+2*3;• Operaçõesequivalentes:
– a=a+1; a+=1; a++; ++a;– -1;0-1
![Page 35: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/35.jpg)
CIn.ufpe.br
ConversõesdeTipo
• Existemconversõesautomáticasdevaloresemumaavaliaçãodeumaexpressãoquandooperandospossuemtiposdiferentes– Operandodetipodemenortamanhoéconvertidoautomaticamente
paraotipodemaiortamanho– Conversãoéfeitaemáreatemporáriadamemóriaantesdaavaliaçãoda
expressão– Resultadoénovamenteconvertidoparaotipodavariávelàesquerdada
atribuiçãointa=3/2.0+0.7;1. Ointeiro3éconvertidoparafloat;2. Expressãoéavaliadacomo2.2,3. Valoréconvertidoparauminteiroeatribuídoàvariável.Oresultadofinaldeaé2
![Page 36: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/36.jpg)
CIn.ufpe.br
OperadoresdeConversão(Cast)
• Algumasvezesaconversãoautomáticadáresultadosnãodesejados;
• Devemosentãousarooperadordecast:• Formageral(osparêntesessãonecessários):
(<tipodesejado>)<variável>ou(<tipodesejado>)(<expressão>)
• Oarmazenamentodeumvalorrealemumtipodedadointeirogeraerroouperde-seprecisão– inta=3/2+0.5;
• Resultado:aé1– inta=((float)3)/2+0.5;
• Resultado:aé2
![Page 37: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/37.jpg)
CIn.ufpe.br
Quaisserãoosvaloresdasvariáveisdeclaradasapósaavaliaçãodasexpressõesabaixo?
inta,r,s;doubleb,c;a=3.5;b=a/2.0;c=1/2+b;r=10%a;s=r+2*3;
Resposta:a=3,b=1.5,c=1.5,r=1es=7
![Page 38: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/38.jpg)
CIn.ufpe.br
Calculeoantecessoresucessordeumnúmero
38
![Page 39: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/39.jpg)
CIn.ufpe.br
Passo-a-passoparacriarumprogramaemC1. Definirentradaesaída(variáveis)
2. Definirtiposdasvariáveis3. Implementarafunçãodasaída(oufunções)4. Adicionarcomandosdeimpressãoeleituradaentrada5. Adicionarcomandosdeimpressãodesaída
39
![Page 40: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/40.jpg)
CIn.ufpe.br
Calculeoantecessoresucessordeumnúmero
40
![Page 41: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/41.jpg)
CIn.ufpe.br
Calculeamédiaaritméticade3númerosdados
41
![Page 42: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/42.jpg)
CIn.ufpe.br
Calculeamédiaaritméticade3númerosdados
42
![Page 43: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/43.jpg)
CIn.ufpe.br
Calculeaáreaeocomprimentodeumcírculoderaior
43
![Page 44: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/44.jpg)
CIn.ufpe.br
Calculeaáreaeocomprimentodeumcírculoderaior
44
![Page 45: Computação Eletrônica Tipos de dados, constantes ...luciano/cursos/ce/tipos_de_dados_constantes_variaveis...CIn.ufpe.br Variáveis e Constantes • Armazenam os dados dos programas](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f9918a95c6d5617f90cd229/html5/thumbnails/45.jpg)
CIn.ufpe.br
Atividade• Fazerosexercíciospropostosnaseção2.12docapítulo2do
livrodoJaimeEvaristo.