Buscar

01 ECT1203 - Tipos básicos, variáveis e constantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 48 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 48 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 48 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

ECT1203 Linguagem de Programação 
2012.2 
 
Prof. Marconi Câmara Rodrigues 
 
Tipos básicos, variáveis, constantes, 
operadores e expressões 
Universidade Federal do Rio Grande do Norte 
Escola de Ciências e Tecnologia 
Hora de silenciar o celular 
• Manter o celular sempre desligado/silencioso quando 
estiver em sala de aula 
• Nunca atender o celular em sala de aula 
Memória do computador 
Endereço Conteúdo 
00 13 
01 22.5 
02 Pedro Álvares Cabral 
03 001001110 
... ... 
• Programa de computador: Manipula as informações 
que estão na memória para gerar novas 
informações. 
Processamento Entrada Saída 
Variáveis 
• Método utilizado pelo compilador para evitar que o 
programador trabalhe diretamente com endereços de 
memória. 
▫ Mais fácil lembrar 000111101101 ou “idade”? 
 
• Compilador cria uma tabela com os endereços de memória e 
os nomes. 
Uma variável representa um espaço de memória através de 
um nome para guardar uma determinada informação. 
00011110110111 idade 
00001111001101 peso 
00001110101010 altura 
• Endereço de memória: Compilador e sistema 
operacional decidem qual endereço da memória será 
utilizado (Linguagem de máquina). 
 
• Informação: Tipos básico de dados. O compilador 
precisa ser informado qual o tipo de informação que 
será armazenado na memória. 
 
• Nome: Identificador. Regras para os nomes das 
variáveis. 
 
Tipos básicos de dados 
• char - caractere 
▫ Representa um número inteiro referente ao código ASCII de um 
determinado caractere. 
• int – inteiro 
▫ Representa um número inteiro 
• float - ponto flutuante 
▫ Representa um número real de simples precisão 
• double - ponto flutuante de dupla precisão 
▫ Representa um número real de maior precisão 
• void - sem valor 
▫ Usado em funções sem valor de retorno ou ponteiros genéricos 
Pergunta: Qual a necessidade de 
informar ao compilador o tipo de 
informação que será armazenada na 
memória? 
Tipo Tamanho 
em bytes 
Faixa mínima 
char 1 -127 a 127 
int 4 -2.147.483.648 a 2.147.483.647 * 
float 4 ± 3,4 x 10 -38 a 3,4 x 10 38 
double 8 ± 1,7 x 10 -308 a 1,7 x 10 308 
Resposta: Informações diferentes necessitam de espaço 
de memória diferentes, além de serem organizados de 
forma diferente na memória. 
Modificadores dos tipos básicos 
 
 
• Método de modificar a quantidade de memória utilizada 
ou a forma como a informação é representada. 
• Alteram o conjunto de valores que o tipo pode 
representar: 
short, long e unsigned 
• Por exemplo: 
▫ um modificador permite armazenar números inteiros 
maiores (long int ) 
▫ outro modificador determina que só números sem sinal 
possam ser armazenados (unsigned int) 
Tipo Tamanho 
em bytes 
Faixa mínima 
char 1 -127 a 127 
unsigned char 1 0 a 255 
signed char 1 -127 a 127 
int 4* -2.147.483.648 a 2.147.483.647 * 
unsigned int 4 0 a 4.294.967.295 * 
signed int 4 -2.147.483.648 a 2.147.483.647 
short int 2 -32.768 a 32.767 
unsigned short int 2 0 a 65.535 
long int 4 -2.147.483.648 a 2.147.483.647 
unsigned long int 4 0 a 4.294.967.295 
float 4 ± 3,4 x 10 -38 a 3,4 x 10 38 
double 8 ± 1,7 x 10 -308 a 1,7 x 10 308 
long double 10 ± 3,4 x 10 -4932 a 3,4 x 10 4932 
* depende do ambiente, valores para ambientes de 32 bits 
Identificadores 
• Pode ser composto por letras, números ou sublinhados 
• Deve começar com uma letra ou um sublinhado 
• Não pode ser uma palavra reservada da linguagem C++ 
Nomes de variáveis, funções e outros objetos definidos 
pelo usuário. 
1) soma 
2) 5altura 
3) peso_bruto 
4) SOMA 
5) desvio-padrão 
6) p2p 
Palavras Reservadas 
asm else namespace template 
auto enum new this 
bool explicit operator throw 
break export private true 
case extern protected try 
catch false public typedef 
char float register typeid 
class for reinterpreted_cast typename 
const friend return union 
const_cast goto short unsigned 
continue if signed using 
default inline sizeof virtual 
delete init static void 
do long static_cast volatile 
doubel main struct wchar_t 
dynamic_cast mutable switch while 
• Toda variável precisa ser declarada antes de ser 
usada. 
• Somente valores do tipo especificado podem ser 
armazenados na variável 
Como utilizar as variáveis em C++ 
 double lucro; 
 int i, j; 
 char a, b, c; 
tipo lista_de_variáveis; 
A lista de variáveis evita que cada variável seja 
declarada em uma única linha, o que tornaria o 
programa grande. 
 int i; 
 int j; 
 int z; 
int i,j,z; 
Dicas de programação 
• Primeiro passo na programação é identificar que 
tipo de informação será necessária para resolver o 
problema proposto. 
▫ Que tipo de informação de entrada meu programa 
necessita? E a saída? 
• As declarações das variáveis devem ser as primeiras 
instruções dentro da função main(). 
• Os identificadores das variáveis devem ter relação 
com a informação representada (não é regra mas é 
extremamente recomendado). 
 
 
Code::Blocks 
Declare as variáveis para fazer um programa que 
calcule a força aplicada em um corpo. 
Code::Blocks 
Declare as variáveis para fazer um programa que 
calcule a força aplicada em um corpo. 
Processamento 
Massa 
Aceleração 
Força 
(Saída) (Entrada) 
Constantes 
 
 
• Constantes inteiras: são números sem ponto decimal, 
precedidos ou não por sinal. 
1997 -3 234 32000 5001 
 
• Constantes em ponto flutuante: requerem ponto 
decimal seguido pela parte fracionária do número. 
123.23 4.34e-3 11.456 1001.2 
Usadas em comandos para representar valores fixos de 
um dado tipo. 
Constantes 
 
 
• Constantes caracteres: único caractere envolvido por 
aspas simples, podendo participar de expressões 
aritméticas. 
‘a’ caractere a 
‘A’ caractere A 
‘\n’ nova linha 
‘\r’ retorno de carro 
‘\t’ tabulação horizontal 
‘\a’ alerta sonoro 
‘\0’ nulo, termina um conj. de caracteres em C 
‘\\’ \ - Barra invertida 
‘\xdd’ Caractere de código ASCII dd (em hexadecimal) 
Constantes 
 
 
• Constantes string: conjunto de caracteres colocado entre 
aspas duplas. 
‘’isso é um teste’’ “mais um teste” 
 
• A linguagem C++ insere automaticamente o caractere 
‘\0’ ao final de uma string. 
 
 
Não confundir strings com caracteres: 
‘A’ não é igual a “A” 
Atribuição 
• A declaração de variáveis somente reserva espaço na 
memória para ser utilizado pelo programa. 
• O comando de atribuição é responsável por 
armazenar uma informação em uma variável. 
 variável = informação; idade = 35; 
peso = 98.54; 
letra = ‘d’; 
Atribuindo valores a variáveis 
• Após declarada, uma variável pode receber valores. 
int a; 
float b; 
 
a = 5; 
b = 4.3; 
int a = 5; 
float b = 4.3; 
Efeito 
Equivalente 
Atribuindo valores a variáveis 
O que acontece se fizermos a seguinte instrução? 
int a = 4.3; 
O modificador const 
• Variáveis do tipo const não podem ser modificadas! 
 
 
 
 
 
 
• É muito usado para garantir que o valor do 
parâmetro não é modificado dentro da função. 
 
const int a = 10; 
const float gravidade = 9.8; 
Entrada e saída em C 
E/S pelo console: 
▫ Entrada pelo teclado 
▫ Saída pela tela 
É necessário incluir o protótipo 
das funções no código e utilizar 
o namespace std. 
#include <iostream> 
using namespace std; 
 
E/S são efetuadas por objetos da biblioteca padrão. 
Objeto cout (pronuncia-se C out) 
Possibilita a saída de valores (constantes, variáveis, ...) 
para o usuário. Usado normalmente com o operador 
de inserção <<. 
cout << “Primeiro Programa”; 
cout << “O valor de X é:” << x; 
Objeto cin (pronuncia-se C in) 
Permite ler valores via teclado e armazená-los em 
variáveis do programa. Usado normalmente com o 
operador de extração >>. 
cin >> x; 
cin >> a >> b >> c; 
Atribuição 
• Uma variável recebendo o valor de outra variável 
• O compilador busca na memória a informação de 
uma variável e passao valor para outra variável sem 
alterar o valor da primeira. 
• Ex: var2 = var1; 
Operadores 
• Operadores tem como finalidade transformar uma 
informação em uma nova informação 
▫ Operadores matemáticos 
▫ Operadores de incremento/decremento 
▫ Operadores lógicos e relacionais 
▫ Operadores bit a bit 
▫ Operador sizeof 
Operadores aritméticos 
Operador Ação 
- Subtração, menos unário 
+ Adição 
* Multiplicação 
/ Divisão 
% Módulo da divisão 
Os operações são feitas na precisão dos operandos. 
Incremento e decremento 
Operador Ação 
++ Soma 1 ao seu operando 
-- Subtrai 1 ao seu operando 
++x; 
x = x + 1; é o mesmo que 
--x; 
x = x - 1; é o mesmo que 
X++; 
x--; 
Prefixado 
Pós-fixado 
Prefixado 
Pós-fixado 
Prefixado é executado imediatamente. Pós-fixado NÃO!!!!! 
Code::Blocks 
Faça um programa que peça para o usuário digitar um 
número e o armazene numa variável inteira x. Em 
seguida realize as operações a seguir: 
 
cout<<x++; 
cout<<++x; 
 
Pergunta: Se mais de um operador estiver presente, 
qual deve ser executado primeiro? 
 
Exemplo: 6/2*(1+2) 
Pergunta: Se mais de um operador estiver presente, 
qual deve ser executado primeiro? 
Precedência dos operadores 
aritméticos 
Mais alta 
++ -- 
* / % 
Mais baixa + - 
• Operadores do mesmo nível de precedência, em uma 
mesma linha, são avaliados da esquerda para a direita. 
• Parânteses podem ser usados para forçar uma (ou mais) 
operação a ter precedência maior, assim como na 
matemática. 
Code::Blocks 
Faça um programa que peça para o usuário digitar 
três valores x,y,z (ex: 6,4,2) e em seguida mostre: 
▫ O resultado de: x*(y/z) 
▫ O resultado de : (x*y)/z 
▫ O resultado de : x*y/z 
 
Operadores aritméticos de atribuição 
• Pode ser aplicado a todo operador binário. 
variável = variável operador expressão; 
variável operador = expressão; 
é o mesmo que 
i = i + 10; 
x = x * (y + 1); 
a = a – 120; 
i += 10; 
x *= y + 1; 
a -= 120; 
Operadores lógicos e relacionais 
• São baseados na idéia de verdadeiro e falso. 
▫ VERDADEIRO = qualquer valor diferente de zero 
▫ FALSO = zero 
• As expressões que usam operdores relacionais ou 
lógicos devolvem zero para falso e 1 para verdadeiro. 
 
Relacional refere-se às relações entre os valores. 
Lógico refere-se a como essas relações podem ser 
conectadas. 
Operadores lógicos e relacionais 
Operador Ação 
> Maior que 
>= Maior ou igual que 
< Menor que 
<= Menor ou igual que 
== Igual 
!= Diferente 
Operador Ação 
&& AND 
|| OR 
! NOT 
Relacionais 
Lógicos 
Operadores lógicos 
• AND = Será verdadeiro quando TODAS as condições 
forem verdadeiras. 
• OR = Será verdadeiro quando pelo menos UMA 
condição for verdadeira. 
• NOT = Inverte o resultado. Se o resultado for 
verdadeiro sem o NOT, com o NOT fica falso. Da 
mesma forma, o NOT pode ser usado para passar 
um resultado de falso para verdadeiro. 
Precedência dos operadores lógicos 
e relacionais 
• São menores em precedência que os operadores 
aritméticos. 
 
10 > 1 + 12 10 > (1 + 12) é avaliado como 
Mais alta ! 
> >= < <= 
== != 
&& 
Mais baixa || 
Operadores bit a bit 
• São aplicados aos bits individuais dos operandos. 
Operação bit a bit refere-se a testar, atribuir ou 
deslocar os bits de tipos de dados char e int. 
Operador Ação 
& AND 
| OR 
^ XOR (OR exclusivo) 
~ Complemento de um 
>> Deslocamento à esquerda 
<< Deslocamento à direita 
Operador sizeof 
• Para calcular o tamanho de um tipo, deve-se usar 
parênteses. 
É um operador que retorna o tamanho (em bytes) 
de uma variável ou especificados de tipo. 
float f; 
 
cout << sizeof f << ‘\n’; 
cout << sizeof(int) << ‘\n’; 
Conversão de tipos em expressões 
Quando operandos de tipos diferentes são 
misturados em uma expressão, os valores são 
convertidos no tipo do maior operando. 
double 
float 
int 
char 
prioridade de 
conversão 
Conversão de tipos em expressões 
Cast (operador de molde) 
Cast é uma conversão explícita de tipo. 
(tipo) expressão 
int x = 13; 
float y = (float) x/2; 
Conversão de tipos em atribuições 
 
 
• Quando se converte de: 
▫ inteiros para caracteres 
▫ inteiros longos para inteiros 
▫ inteiros para inteiros curtos 
 perde-se a informação. 
• Quando se faz conversão envolvendo números em ponto 
flutuante, pode se perder precisão. 
 
Regra: O valor do lado direito de uma atribuição é 
convertido no tipo do lado esquerdo.

Outros materiais