Buscar

Aula 3 - Variáveis e Constantes

Prévia do material em texto

PROGRAMAÇÃO II 
AULA 3 - VARIÁVEIS, CONSTANTES, 
OPERADORES E EXPRESSÕES 
 
 
 
 
 
 
 
CIÊNCIA DA COMPUTAÇÃO 
 
NOMES DAS VÁRIAVEIS 
As variáveis no C  Qualquer nome  
Atendendo as seguintes condições: 
 O nome deve começar com uma letra ou 
sublinhado (_); 
 Os caracteres subsequentes devem ser 
letras, números ou sublinhado(_); 
 
 Nome da variável != de uma palavra 
reservada; 
 Nome da variável != do nome de uma 
função declarada (ou bibliotecas); 
 
 
2 
NOMES DAS VÁRIAVEIS 
Exemplos: 
 int teste; 
 
 int 54teste; 
 
 int teste54; 
 
 int _teste; 
 
 int ?teste; 
 
 int teste?; 
 
3 
EXERCÍCIO 
 Indique os nomes de variáveis que são válidos. Justifique os 
nomes inválidos. 
 tempo 
 
 nota_final 
 
 us$ 
 
 char 
 
 2dias 
 
 teste 1 
 
 raio.do.circulo 
 
4 
NOMES DAS VÁRIAVEIS 
Variáveis de até 32 caracteres são 
aceitas! 
 
O C é case sensitive cuidado! 
 
Dica: 
 Letras minúsculas para nomes de 
variáveis e maiúsculas para nomes de 
constantes; 
 nomeCliente ou nome_cliente; 
 
 
5 
OS TIPOS DO C 
O C tem cinco tipos básicos: 
 int; 
 char; 
 float; 
 void; 
 double; 
 
 double é o ponto flutuante duplo e pode ser 
visto como um ponto flutuante com muito 
mais precisão; 
 void é o tipo vazio, ou um “tipo” sem tipo; 
6 
OS TIPOS DO C 
 Para cada um dos tipos de variáveis existem 
os modificadores de tipo: 
 signed; 
 unsigned; 
 long; 
 short; 
 
Ao float não pode se aplicar nenhum, 
double, apenas o long, os quatro podem 
ser aplicados a inteiros; 7 
OS TIPOS DO C 
 short e long devem prover tamanhos 
diferentes de inteiros onde isso for prático; 
 short int; 
 long int 
 
O modificador unsigned serve para 
especificar variáveis sem sinal; 
 unsigned int será um inteiro que assumirá 
apenas valores positivos; 
O modifcador signed é default do C, e 
considera números negativos; 
8 
OS TIPOS DO C 
9 
EXERCÍCIOS 
 Fazer um programa para receber um número 
inteiro de segundos do usuário e imprimir a 
quantidade correspondente em horas, minutos e 
segundos (Este inteiro poderá ser um valor muito 
alto). 
 
 Fazer um programa para receber 3 valores 
inteiros do usuário e mostrar a sua média (que 
pode não ser inteira), a soma, o produto, o menor 
e o maior. 
 
 
 
10 
DECLARAÇÃO E INICIALIZAÇÃO DE 
VÁRIAVEIS 
 As variáveis no C devem ser declaradas antes 
de serem usadas; 
 
 Forma geral é: 
 
 
 
 Lista de variáveis terão todas o mesmo tipo e 
deverão ser separadas por vírgula. 
 
 Tipo default do C é o int; 
 Nome do modificador de tipo para declaração. Ex: 
long inteiro  long; 
 
11 
DECLARAÇÃO E INICIALIZAÇÃO DE 
VÁRIAVEIS 
 Exemplos de declarações: 
 
 
 Há três lugares nos quais podemos declarar 
variáveis: 
 Fora de todas as funções do programa  
Variáveis globais; 
 
 No início do bloco de código (validade somente 
no bloco a qual pertencem)  Variáveis 
Locais; 
 
 Lista de parâmetros de uma função 
 
12 
DECLARAÇÃO E INICIALIZAÇÃO DE 
VÁRIAVEIS 
13 
#include <stdio.h> 
//Variavel Global 
int contador = 0; 
//j é uma variável declarada na lista de 
parâmetros da função 
void incrementaContador(int j){ 
 contador = contador + j; 
} 
 
int main() 
{ 
 //variáveis locais 
 char condicao = 'T'; 
 int i; 
 for(i=1;i < 5;i=i+1){ 
 int f2 = i * i * i; 
 if(condicao == 'T'){ 
 incrementaContador(f2); 
 condicao = 'F'; 
 }else{ 
 f2 = 1; 
 incrementaContador(f2); 
 condicao = 'T'; 
 } 
 } 
 printf("\n\nContador global: %d \n\n",contador); 
 for(i=1;i < 5;i=i+1){ 
 int contador = 5; 
 printf("\n\nContador Local: %d \n\n",contador); 
 } 
 printf("O valor da funcao 2 eh:%d \n\n",contador); 
 system("PAUSE"); 
 return 0; 
} 
DECLARAÇÃO E INICIALIZAÇÃO DE 
VÁRIAVEIS 
 Variável contador  variável global; 
 
condição e i só existem dentro do 
main(); 
 
f2 existe apenas dentro do for; 
 
Variável inteira j é um exemplo de 
declaração na lista de parâmetros de 
uma função; 14 
DECLARAÇÃO E INICIALIZAÇÃO DE 
VÁRIAVEIS 
As regras que regem onde uma variável é 
válida chamam-se regras de escopo da 
variável. 
 
Duas variáveis globais não podem ter o 
mesmo nome; 
 O mesmo vale para duas variáveis 
locais de uma mesma função; 
 
Já duas variáveis locais de funções 
diferentes? 
15 
DECLARAÇÃO E INICIALIZAÇÃO DE 
VÁRIAVEIS 
 Podemos inicializar variáveis no momento de sua 
declaração. Segundo forma geral, temos: 
 
 
 Quando o C cria uma variável ele não a 
inicializa!!!!!! 
 
 Até que um primeiro valor seja atribuído à nova 
variável ela tem um valor indefinido! 
 Nunca presuma que uma variável declarada 
vale zero; 
 
16 
DECLARAÇÃO E INICIALIZAÇÃO DE 
VÁRIAVEIS 
 Em C uma variável tem que ser declarada no 
início de um bloco de código. 
17 
EXERCÍCIO 
18 
 Escreva um programa que declare uma variável 
inteira global e atribua o valor 10 a ela. Declare 
outras 5 variáveis inteiras locais ao programa 
principal e atribua os valores 20,30,...,60 a elas. 
Declare 6 variáveis caracteres e atribua a elas as 
letras c, o, e, l, h, a. Finalmente, o programa 
deverá imprimir, usando todas as variáveis 
declaradas: 
 As variáveis inteiras contem os números: 10, 20, 30, 
40, 50, 60; 
 O animal contido nas variáveis caracteres formam 
coelha; 
CONSTANTES 
CONSTANTES DOS TIPOS BÁSICOS 
 Valores que são mantidos fixos pelo compilado; 
 
 
 
 
 
 
 
 
 
 #define val 1234 (sem tipo e sem ;) 
19 
CONSTANTES 
CONSTANTES STRINGS 
“Joao” é uma constante String; 
 
“t” é diferente de ‘t’; 
 
‘t’ é um char; 
 
Enquanto que “t” é uma constante 
string com dois chars, por que? 
20 
CONSTANTES 
CONSTANTES DE BARRA INVERTIDA 
 O c utiliza, para nos ajudar a programar, vários 
códigos chamados códigos de barra invertida. 
21 
EXERCÍCIOS 
 Escreva um programa que calcule o quadrado e o 
cubo dos números de 0 a 20. (Use o \t para 
padronizar a saída); 
 Ex de saída 
Numero Quadrado Cubo 
0 0 0 
10 100 1000 
 
 Escreva um programa em que o usuário informará 
o tamanho de sua senha. Capture a senha do 
usuário escrevendo um ‘#’ e emitindo um sinal 
sonoro, para cada caractere digitado (lembre-se do 
‘\0’ no final da string). Ao final do programa 
imprima a senha digitada; 
 
22 
CONSTANTES 
OPERADORES ARITMÉTICOS E DE ATRIBUIÇÃO 
 Os operadores aritméticos são usados para 
desenvolver operações matemáticas: 
23 
OPERADORES ARITTMÉTICOS E DE 
ATRIBUIÇÃO 
O C apresenta operadores unários e 
binários. 
 Os unários agem sobre uma variável 
apenas, modificando ou não seu valor, 
e retornam o valor no final da variável. 
 
 Os binários usam duas variáveis e 
retornam um terceiro valor, sem 
alterar as variáveis originais; 
 O operador / (divisão)  Inteiro ou Float? 24 
OPERADORES ARITTMÉTICOS E DE 
ATRIBUIÇÃO 
Escreva o seguinte trecho de programa: 
 
 
 
 
 
 
 
Divisão inteira e real! 
25 
EXERCÍCIOS 
 Escreva um programa que leia o raio de um círculo 
e imprima seu diâmetro, o valor de sua 
circunferência e sua área. Use o valor constante de 
3,14159 para ‘PI’; (Comprimento=2*PI*R 
Área=PI*R^2) 
 
 Escreva um programa que receba a entrada de um 
número de cinco dígitos, separe os número em seus 
dígitos componentes e os imprima separados uns 
dos outros por um ‘\t’. Ex: Se usuário digitar 42393 
imprima: 4 2 3 9; 
 26 
OPERADORES ARITTMÉTICOS E DE 
ATRIBUIÇÃO 
Operadores de incremento e decremento 
são unários que alteram a variável 
sobre a qual são aplicados. 
 
 são equivalentes a: 
 
Estes operadores podem ser pré-fixados ou 
pós-fixados 
 Pré Incrementam e retornam o valor da 
variável já incrementada; 
 Pro  Retornam o valor da variável e depois 
realizam o incremento da mesma; 
 
27 
OPERADORES ARITTMÉTICOS E DE 
ATRIBUIÇÃO 
Então em: 
 
 
 
Temos:??? 
 
28 
OPERADORES ARITTMÉTICOS E DE 
ATRIBUIÇÃO 
O operador de atribuição do C é o =. 
 O que ele faz é pegar o valor à direita e 
atribuir à variável da esquerda; 
 Além disso ele retorna o valor que 
atribui 
 
Serão válidas? 
 
 
 
29 
EXERCÍCIO 
 Escreva o seguinte código. Antes de imprimir o 
resultado das variáveis, tente acertar os valores 
das mesmas ao final desse código (escreva suas 
respostas na forma de comentários); 
 
 
 
 
 
 
 Escreva um programa em C que demonstre a 
diferença entre pré-decrementar e pós-decrementar 
usando o operador de decremento --; 
30 
OPERADORES RELACIONAIS E 
LÓGICOS 
 Os operadores relacionais do C realizam 
comparações entre variáveis 
 
31 
OPERADORES RELACIONAIS E 
LÓGICOS 
 Os operadores relacionais retornam 0 e 1; 
32 
OPERADORES RELACIONAIS E 
LÓGICOS 
 Para fazer operações com valores lógicos 
(verdadeiro e falso) temos os operadores lógicos: 
33 
OPERADORES RELACIONAIS E 
LÓGICOS 
O programa a seguir ilustra seu funcionamento; 
34 
OPERADORES RELACIONAIS E 
LÓGICOS 
 Exemplo! 
 
 
 
 Código: 
35 
OPERADORES LÓGICOS BIT A BIT 
 O C permite que se faça operações lógicas “bit a bit”; 
 
Número é representado em sua forma 
binária, e as operações são feitas em 
cada bit dele. 
 
 Ex: i = 2  0000000000000010; 
 ~i  1111111111111101; 
 
 Ajudam quem quer trabalhar em “baixo nível”; 
 
 char ou int; 
36 
OPERADORES LÓGICOS BIT A BIT 
37 
EXEMPLO: PROJETO 7 
38 
EXPRESSÕES 
Expressões são combinações de 
variáveis, constantes e operadores. 
 
Ao se montar uma expressão, devemos 
levar em consideração a ordem com 
que os operadores são executados; 
 Tabela de precedência; 
 
39 
CONVERSÃO DE TIPOS EM 
EXPRESSÕES 
 Quando o C avalia expressões onde temos 
variáveis de tipos diferentes o compilador 
verifica se as conversões são possíveis; 
 Se não, ERRO! 
 
 Todos os char e short int são convertidos 
para int. Todos os float são convertidos 
para double; 
 
 Se a expressão tem um: 
 long double segundo elemento será long double; 
 double segundo elemento será double; 
 long segundo elemento será long 
40 
EXPRESSÕES QUE PODEM SER 
ABREVIADAS 
41 
ENCADEANDO EXPRESSÕES: O OPERADOR , 
O operador , determina uma lista de 
expressões que devem ser executadas 
sequencialmente. 
 
 A virgula diz ao compilador: execute as duas 
expressões separadas pela vírgula, em sequência. 
 O valor retornado é sempre dado pela expressão mais à 
direita 
 
 
 
 Pode-se encadear quantos operadores, forem 
necessários 
42 
TABELA DE PRECEDÊNCIA EM C 
43 
É útil que você 
conheça as principais 
relações, mas é 
aconselhável que ao 
escrever o seu código, 
você tente isolar as 
expressões com 
parênteses, para 
tornar o seu programa 
mais legível 
TABELA DE PRECEDÊNCIA EM C 
( ) Se houver parênteses aninhados, a expressão 
dentro do par de parêntese mais interno é calculada 
em primeiro lugar. No caso de vários pares de 
parênteses “no mesmo nível”, eles são calculados da 
esquerda para a direita; 
*, / ou % No caso de vários operadores, calculados da 
esquerda para direita; 
+ ou - No caso de vários operadores, calculados da 
esquerda para direita; 
44 
EXERCÍCIOS 
 Qual o valor de x para as seguintes operações? 
 X = 7 + 3 * 6 / 2 -1; 
 X = 2 % 2 + 2 * 2 – 2 / 2; 
 X = (3 * 9 * ( 3 + ( 9 * 3 / ( 3)))) 
 
 Dada a equação y = ax3 + 7, qual instrução está 
correta? 
y = a * x * x * x + 7; 
y = a * x * x * (x + 7); 
y = (a * x) * x * x + 7; 
y = a * (x * x * x )+ 7; 
y = a * (x * x * x + 7); 
 
45 
MODELADORES (CASTS) 
 Um modelador é aplicado a uma expressão. Ele 
força a mesma a ser de um tipo especificado. 
 
 Projeto 8: 
46 
EXERCÍCIO 
Um palíndromo é um número ou texto 
que é lido da mesma forma tanto da 
direita para a esquerda como da 
esquerda para a direita. Por exemplo, 
cada um dos inteiros seguintes, de 
cinco dígitos, é palíndromo: 12321, 
55555 e 45554. Escreva um programa 
que leia um inteiro de cinco dígitos e 
determine se ele é palíndromo ou não. 
47

Continue navegando