• Tipos de dados básicos em C++ – Formato geral para declaração de variáveis: • • • • <tipo> <nome>; <tipo> <nome> = <valor inicial>; <tipo> <nome>, <nome2>, ... <nome_n>; <tipo> <nome> =<valorinicial>, <nome2> =<valorinicial2>; – O elemento <tipo> da declaração indica o tipo de dado usado para aquela variável sendo declarada – Cada tipo de dado utiliza um tamanho de memória e possui uma faixa de valores possíveis de representação – Tipos de dados (char, int, float, double) podem usar modificadores (short, long signed, unsigned) – É possível realizar conversão entre tipos de dados diferentes • Exemplos – Declaração, uso de modificadores e conversão – Tipo char (1 byte) char a, b, c; a = 'A'; b = 0x61; c = a + 1; cout<<" a = "<<a<<endl; cout<<" b = "<<b<<endl; cout<<" c = "<<c<<endl; Resultado: a=A b=a c=B • Exemplos – Declaração, uso de modificadores e conversão – Tipo char (1 byte) declaração das variáveis de nome “a”, “b”, “c” como tipo “char” char a, b, c; a = 'A'; b = 0x61; c = a + 1; cout<<" a = "<<a<<endl; cout<<" b = "<<b<<endl; cout<<" c = "<<c<<endl; Resultado: a=A b=a c=B Atribuição de valor no formato caractere (entre aspas simples) para a variável “a” Atribuição de valor no formato hexadecimal (0xhh) para a variável “b” (ascii: 61h = “a”) Atribuição de valor para a variável “c” a partir de uma expressão (variável operador valor) • Exemplos – Declaração, uso de modificadores e conversão declaração das variáveis de nome – Tipo char (1 byte) “d” como tipo “char” e de nome “i” como tipo “int” char d=0; int i; i=0; while (i<255){ cout<<d<<" "; i++; d++; } Resultado: laço onde “i” e “d” variam entre 0 e 254 e para cada novo valor o símbolo correspondente (ascii) é impresso na tela, seguido de um espaço • Exemplos – Declaração, uso de modificadores e conversão declaração das variáveis de nome – Tipo char (1 byte) “d”, “e” como tipo “char” !!!!!!!!!! char d=0; char e; Resultado: ? e=0; while (e<255){ cout<<d<<" "; e++; d++; } • Exemplos – Declaração, uso de modificadores e conversão declaração das variáveis de nome – Tipo char (1 byte) “d”, “e” como tipo “char” !!!!!!!!!! char d=0; char e; Resultado: ? e=0; while (e<255){ cout<<d<<" "; e++; d++; } Dica: faixa de valores representados com o tipo char: -127 até 128 •Resultado: Exemplos – Declaração,não uso de o programa saimodificadores do laço e conversão Tipo char (1 byte) de–impressão!!! char d=0; char e; Resultado: ? e=0; while (e<255){ cout<<d<<" "; e++; d++; } Resultado: o programa não sai do laço de impressão nunca mais!!! Tela gerada pelo debug: código de máquina que estava em execução no ato do “control-c” declaração das variáveis de nome “d”, “e” como tipo “char” !!!!!!!!!! • Exemplos – Declaração, uso de modificadores e conversão – Tipo char (1 byte) char d=0; char e; e=0; while (e<255){ cout<<d<<" "; Dica: faixa de valores representados com o tipo char: -127 até 128 Como resolver: usando o depurador! 127+1 = -128 !!! • Exemplos – Declaração, uso de modificadores e conversão – Tipo char (1 byte) char d=0; unsigned char e; Como resolver: modificador para char e=0; while (e<255){ cout<<d<<" "; e++; d++; } Dica: faixa de valores representados com o tipo char: -127 até 128 Valores para “unsigned char”: 0 até 255 • Exemplos – Declaração, uso de modificadores e conversão – Tipo int (2 bytes) declaração das variáveis de nome “a”, “b”, “c” como tipo “int” int a, b, c; a = 'A'; b = 0x61; c = a + 1; cout<<" a = "<<a<<endl; cout<<" b = "<<b<<endl; cout<<" c = "<<c<<endl; Resultado: a = 65 b = 97 c = 66 Atribuição de valor no formato caractere (entre aspas simples) para a variável “a” Atribuição de valor no formato hexadecimal (0xhh) para a variável “b” (ascii: 61h = “a”) Atribuição de valor para a variável “c” a partir de uma expressão (variável operador valor)