AULA 1 REVISÃO PROFESSOR LUIZ JOSÉ HOFFMANN FILHO [email protected] FERRAMENTAS • COMPILADOR C: • LINUX : GCC • WINDOWS: MINGW - HTTP://WWW.MINGW.ORG/ • SUITE DE DESENVOLVIMENTO: • ECLIPSE: HTTP://WWW.ECLIPSE.ORG/ • NETBEANS: HTTPS://NETBEANS.ORG/ VARIÁVEIS • UMA VARIÁVEL É UM ESPAÇO RESERVADO NA MEMÓRIA DO COMPUTADOR PARA ARMAZENAR UM TIPO DE DADO DETERMINADO, CUJO CONTEÚDO PODE SE ALTERADO AO LONGO DO TEMPO DURANTE A EXECUÇÃO DE UM PROGRAMA. • VARIÁVEIS DEVEM RECEBER NOMES PARA PODEREM REFERENCIADAS E MODIFICADAS QUANDO NECESSÁRIO. SER VARIÁVEIS • EMBORA UMA VARIÁVEL POSSA ASSUMIR DIFERENTES VALORES, ELA SÓ PODE ARMAZENAR UM VALOR A CADA INSTANTE. • AS VARIÁVEIS SÓ PODEM ARMAZENAR VALORES DE UM MESMO TIPO. • OS PRINCIPAIS TIPOS SÃO: INTEIROS, REAIS E CARACTERES. EXEMPLO VARIÁVEIS VARIÁVEIS • TOTAL = PRODUTO * QUANTIDADE VARIÁVEL CONTEÚDO • NOME = “JOSE”; • IDADE = 50; • COMO DEVE SER O NOME DAS VARIÁVEIS? QUEM ESCOLHE? VARIÁVEIS • DECLARAÇÃO DE VARIÁVEIS EM C: • FLOAT SALARIO, MEDIA; • O NOME DOS IDENTIFICADORES DEVEM COMEÇAR COM LETRA OU SUBLINHADO, SEGUINDO POR LETRA, NÚMERO OU SUBLINHADO. • CHAR LETRA; • INCORRETO: • INT NUMERO, VALOR; • DOUBLE INFLACAO; • INT 1COUNT; • CHAR[50] NOME; • CHAR HI!TEST; • VOID; • FLOAT HIGH….BALANCE; TIPOS DE VARIÁVEIS Modificadores de tipos básicos: Signed, Unsigned Long, Short DECLARAÇÃO DE VARIÁVEIS. • AONDE DEVEM SER DECLARADAS: • DENTRO DE FUNÇÕES – VARIÁVEIS LOCAIS • NA DEFINIÇÃO DE PARAMETROS DAS FUNÇÕES – PARÂMETROS FORMAIS. • FORA DE TODAS AS FUNÇÕES – VARIÁVEIS GLOBAIS VARIÁVEIS • MODIFICADOR DE TIPO DE ACESSO • CONST • A VARIÁVEL NÃO PODE SER ALTERADA. • EXEMPLO: CONST INT A = 10; • #DEFINE • EXEMPLO: #DEFINE VERDADEIRO 1 #DEFINE FALSO 0 ATRIBUIÇÃO • A INSTRUÇÃO PRIMITIVA DE ATRIBUIÇÃO É A PRINCIPAL MANEIRA DE SE ARMAZENAR UMA INFORMAÇÃO NUMA VARIÁVEL. • ATRIBUIÇÃO DE VALORES EM C: NUMERO = 50; VALOR = 3; SALARIO = 450.78; MEDIA = 7.5; LETRA = ‘A’; NOME = “MARIA DA SILVA”; ATRIBUIÇÕES MULTIPLAS: A = B = C =10; OPERADORES • OS OPERADORES SÃO MEIOS PELO QUAL REALIZAMOS CÁLCULOS, COMPARAÇÕES E AVALIAÇÕES DOS DADOS NO NOSSO PROGRAMA.TEMOS TRÊS TIPOS DE OPERADORES: 1. OPERADORES ARITMÉTICOS 2. OPERADORES RELACIONAIS 3. OPERADORES LÓGICOS 4. OPERADORES BIT A BIT OPERADORES ARITMÉTICOS Os operadores aritméticos são utilizados para obter resultados numéricos. Operação Símbolo Adição Subtração Multiplicação Divisão Modulo + ou ++* - ou --* * / % *Quando usado em expressões existe diferença: X =10; Y = ++X; Y = X++; Qual o valor de Y? OPERADORES ARITMÉTICOS Qual a precedência : Maior Menor Símbolo ++, -- (menos unário) *, /, % +, - OPERADORES RELACIONAIS São utilizados para comparar caracteres e números. Estes operadores sempre retornam valores lógicos (v ou f). Descrição Símbolo Igual a Diferente de Maior que Menor que == != > < Maior ou igual a Menor ou igual a >= <= OPERADORES LÓGICOS Servem para combinar resultados das expressões. Operação Operador E && OU || NÃO ! &&: uma expressão AND (E) é verdadeira se todas as condições forem verdadeiras. ||: uma expressão OR (OU) é verdadeira se pelo menos uma condição for verdadeira. !: um expressão NOT (NÃO) inverte o valor da expressão ou condição, se verdadeira inverte para falsa e vice-versa. OPERADORES RELACIONAIS/LÓGICOS Qual é a precedência: Maior Menor ! >, >=, <, <= ==, != && || OPERADORES BIT A BIT Refere-se a testar, atribuir ou deslocar os bits efetivos de um byte ou de uma palavra, que correspondem aos tipos char e int. Operações de bit não podem ser realizadas sobre float, double ou void. Operação Operador E & OU | XOR ˆ Complemento de um ~ Deslocamento a esquerda >> Deslocamento a direta << OPERADOR ? • SUBSTITUI CERTAS SENTENÇAS DA FORMA IF-THEN-ELSE: • EXP1 ? EXP2 : EXP3; • EXEMPLO: X = 10; Y = X >9 ? 100 : 200; QUAL É O VALOR DE Y? RESUMO DA PRECEDÊNCIA VARIÁVEIS • EXEMPLO DE DECLARAÇÃO DE VARIÁVEIS EM C: INT NUMERO, VALOR; FLOAT SALARIO, MEDIA; CHAR LETRA; FAZENDO CÁLCULOS COM VARIÁVEIS • SOMAR UM VALOR : NUMERO = 10 + 5; • SUBTRAIR UM VALOR: NUMERO = 20 – 3; • MULTIPLICAR UM VALOR: NUMERO = 2 * 100; • DIVIDIR UM VALOR: SALARIO = 500/3; TRABALHANDO COM VARIÁVEIS NUMERO = 1; NUMERO = NUMERO + 1; MEDIA = 7 + 8 + 3; MEDIA = MEDIA / 3; VALOR = NUMERO * 3; VALOR = VALOR + 10; CAST • UTILIZADO PARA FORÇAR QUE UMA DETERMINA EXPRESSÃO SEJA DE UM DETERMINADO TIPO. • (TIPO) EXPRESSÃO; • EXEMPLO: X = (FLOAT) 9/2; INSTRUÇÕES PRIMITIVAS • AS INSTRUÇÕES PRIMITIVAS DE SAÍDA DE DADOS SÃO O MEIO PELO QUAL AS INFORMAÇÕES CONTIDAS NA MEMÓRIA DO COMPUTADOR (VARIÁVEIS) SÃO MOSTRADAS AO USUÁRIO. • INSTRUÇÃO DE SAÍDA EM C: PRINTF(“OLA MUNDO”) PRINTF(“%D”, NUMERO) COMANDO PRINTF() #INCLUDE <STDIO.H> #INCLUDE <STDLIB.H> INT MAIN { INT PRIM_NUM, SEG_NUM, SOMA; PRIM_NUM = 4; SEG_NUM = 5; SOMA = PRIM_NUM + SEG_NUM; PRINTF(“A SOMA É: %D”, SOMA); RETURN; } COMANDO PRINTF() • \N NOVA LINHA • \T TAB • \B RETROCESSO • \" ASPAS • \\ BARRA • \F SALTA FORMULÁRIO • \0 NULO %c caractere simples %d decimal %e notação científica %f ponto flutuante %o octal %s cadeia de caracteres %u decimal sem sinal %x hexadecimal INSTRUÇÕES PRIMITIVAS • A INSTRUÇÃO PRIMITIVA DE ENTRADA DE DADOS SÃO O MEIO PELO QUAL OS DADOS PODEM SER INFORMADOS PELO USUÁRIO. (VIA TECLADO) • INSTRUÇÃO DE ENTRADA EM C: SCANF(“%D”, &VALOR) SCANF(“%F”, &SALARIO) COMANDO SCANF() #INCLUDE <STDIO.H> #INCLUDE <STDLIB.H> INT MAIN { INT PRIM_NUM, SEG_NUM, SOMA; SCANF(“%D”, &PRIM_NUM); SCANF(“%D”, &SEG_NUM); SOMA = PRIM_NUM + SEG_NUM; PRINTF(“A SOMA É: %D”, SOMA); RETURN 0; } COMANDO SCANF() • A LISTA DE ARGUMENTOS DEVE CONSISTIR NOS ENDEREÇOS DAS VARIÁVEIS. C OFERECE UM OPERADOR PARA TIPOS BÁSICOS CHAMADO OPERADOR DE ENDEREÇO E REFERENCIADO PELO SÍMBOLO "&" QUE RETORNA O ENDEREÇO DO OPERANDO. • OPERADOR DE ENDEREÇO &: A MEMÓRIA DO COMPUTADOR É DIVIDIDA EM BYTES, E SÃO NUMERADOS DE 0 ATÉ O LIMITE DA MEMÓRIA. ESTAS POSIÇÕES SÃO CHAMADAS DE ENDEREÇOS. TODA VARIÁVEL OCUPA UMA CERTA LOCALIZAÇÃO NA MEMÓRIA, E SEU ENDEREÇO É O PRIMEIRO BYTE OCUPADO POR ELA.