Baixe o app para aproveitar ainda mais
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
Compartilhar