VARIÁVEIS EM C Dilvan Moreira. Lembrando...  Variável: nome de um local na memória onde dados são armazenados  Evita ter que lembrar um endereço numérico.

Slides:



Advertisements
Apresentações semelhantes
Linguagem C.
Advertisements

Vetor de Ponteiros Exemplo de Alocação. Escrever Vetor de Vetores de floats int main() { int i, k, n; float **vetor; // vetor de vetores int *tamanho;
Introdução a Computação e Cálculo Numérico
Seminário 1: Revisão de C
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
Profa. Maria Augusta Constante Puget
C suporta algumas Constantes de caráteres especiais de barra invertida (backslash) que são usados em funções de saída. Constantes de caráteres especiais.
IF E ITERAÇÃO WHILE Dilvan Moreira (baseado no livro Big Java e T. Munzner)
PROGRAMANDO SEM POO EM JAVA Dilvan Moreira (baseado no livro Big Java)
VARIÁVEIS EM JAVA Dilvan Moreira (baseado no livro Big Java)
Introdução a Linguagem C Professor: Juliano Lucas Gonçalves
CLASSES EM JAVA Dilvan Moreira (baseado no livro Big Java)
Linguagem de Programação – Aula 03 Prof. Me. Ronnison Reges Vidal.
INF01202 Algoritmos e Programação Modalidade Ead – Turma H Material de apoio: capacitar a escrita de expressões aritméticas.
Princípios de Desenvolvimento de Algoritmos MAC122 Prof. Dr. Paulo Miranda IME-USP Variáveis e Atribuições.
Introdução à Computação para Engenharia MAC2166
Tópicos Preliminares Algorítmos I.
Programação para Internet Rica– Aula 04 Prof. Me. Ronnison Reges Vidal
VARIÁVEIS EM C Dilvan Moreira.
CES-11 ALGORITMOS E ESTRUTURAS DE DADOS Aulas Práticas – 2016
Recursividade, Entrada pelo teclado e Funções com retorno
Programação em C Aula 8.
Construção de Algoritmos AULA 04
Fundamentos de Programação 1
Introdução a Programação
Comandos da Linguagem C
Estruturas de Repetição
Programação em C Aula 2.
Linguagem C Para programadores Python
FUNDAMENTO DE PROGRAMAÇÃO
Módulo I Capítulo 3: Fluxo de Código e Operador Condicional
Capítulo 8 - Caracteres e Strings
Prof. Wellington Franco
IP – Condicionais e controle de fluxo
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
Algoritmos e Estruturas de Dados I
DESENVOLVIMENTO DE PROGRAMAS
CREATED BY RAFAEL S. T. VIEIRA
LÓGICA DE PROGRAMAÇÃO Prof. Andrew Rodrigues.
FUNDAMENTO DE PROGRAMAÇÃO
UNIDADE 7 Tipos estruturados
Introdução à Programação
Dilvan Moreira (baseado no livro Big Java e T. Munzner)
PROGRAMAÇÃO I UNIDADE 3.
INE 5201 – INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO
Agenda Tipos de Informação Tipos de Dados Variáveis Constantes
Algoritmos e Programação MC102
Introdução a Linguagem C/C++
Binário, Hexadecimal, Decimal
Fundamentos de Programação 1
Relembrando... Variáveis : endereçam uma posição de memória que contem um determinado valor dependendo do seu tipo (char, int, float, double, ...) void.
Complexidade de Algoritmos
Profa. Maria Augusta Constante Puget
Algorítmos e Técnicas de Programação
Algoritmos Relações – Expressões Lógicas – Estrutura Condicional.
DHD – Desenvolvimento em Hardware
DHD – Desenvolvimento em Hardware
Linguagem C Linguagem Imperativa
Prof: Luciano Barbosa (Slides adaptados do Prof. Hansenclever Bassani)
ALGORITMOS.
Arrays de caracteres: strings
ALGORITMOS.
Linguagem de Programação Aplicações Avançadas de Microprocessadores
Linguagem C Linguagem Imperativa
Python: Comandos Básicos
Introdução a progrmação Comandos condicionais: if e switch
Ponteiros.
Operadores Aritméticos
RESULUÇÃO DOS EXERCÍCIOS E
Aula 3 Professores: Conteúdo: Dante Corbucci Filho
Transcrição da apresentação:

VARIÁVEIS EM C Dilvan Moreira

Lembrando...  Variável: nome de um local na memória onde dados são armazenados  Evita ter que lembrar um endereço numérico  Como variáveis de um expressão matemática

Lembrando...  C requer que declaremos o tipo de dados que estamos trabalhando  Para cada variável temos que declarar um tipo de dado

Lembrando … int main () { int a; //these int b; //are int c; //variable declarations b = 3; c = 5; a = b + c; printf("The answer is %d”, a); }

Lembrando: Convenções para Nomes  nome deve iniciar com letras ou underscore (_);  caracteres de um nome devem ser letras, números ou underscores;  palavras chaves não podem ser usadas como nomes;  letras maiúsculas e minúsculas são consideradas diferentes

Palavras Chaves do ANSI C auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typeof union unsigned void volatile while

Tipos: Inteiro  Vários tamanhos diferentes int - 16 bits - valor máximo é ( ) short (int) - 16 bits, com a mesma margem long (int) - 32 bits, valor máximo é ( )  Palavra unsigned antes de cada tipo inteiro cria novos tipos, ex: unsigned int

Tipos: Reais  Aumentam precisão as custas de mais espaço  Variantes float - 32 bits double - 64 bits long double bits  Exemplos 4.0, 2.34E+9

Tipo: Texto (char)  Caracteres individuais - char  letras, dígitos, marcas de pontuação, barra de espaço return, etc.  Internamente estes valores são representados  um código ASCII (American Standard Code for Information Interchange);  Tradução é automática

Tipos: Não Definidos Explicitamente  Tipo String C num string é representado por um vetor de caracteres terminado com ‘\0’.  Tipo Booleano utilizado para testar condições Valor numérico: falso (0) e verdadeiro (qualquer valor ≠0)

Tipo Num de bits Intervalo char a 127 unsigned char 8 0 a 255 signed char a 127 int a unsigned int 16 0 a signed int a short int a unsigned short int 16 0 a signed short int a long int a signed long int a unsigned long int 32 0 a float 32 3,4E-38 a 3.4E+38 double 64 1,7E-308 a 1,7E+308 long double 80 3,4E-4932 a 3,4E+4932 Todos os tipos do ANSI C

Escopo: Variáveis Locais  declaradas no inicial de uma função  escopo é a função onde ela aparece  outras funções não tem acesso a elas  tempo de vida - enquanto a função estiver ativa  chamada da função aloca espaço para as variáveis;  termino da execução da função libera o espaço

Escopo: Variáveis Globais  Aparecem fora de qualquer definição de função  Escopo é o resto do arquivo onde é declarada  Tempo de vida é o tempo de execução do programa  Funções podem interferir umas com as outras

Atribuição int main () { int a; int b; int c; b = 3;// Essas c = 5;// são a = b + c;// atribuições printf("The answer is %d”, a); }

Atribuição  Operador: =  = não significa uma afirmação de igualdade  = é usado para mudar o valor de uma variável 1. int luckyNumber = 13; 2. luckyNumber = 12;

Atribuição  C primeiro computa o lado direito  Depois atribui o valor computado ao lado esquerdo x = 4 + 7; // o que tem em x?  E agora? x = 2 + 1; // e agora?

Atribuição  C primeiro computa o lado direito  Depois atribui o valor computado ao lado esquerdo x = 4 + 7; // o que tem em x? x= 11  E agora? x = 2 + 1; // e agora? x= 3

Atribuição  E agora? Esse é um exemplo de possível confusão: a = 7; // what’s in a? b = a; // what’s in b? // what’s in a now???

Atribuição  E agora? Esse é um exemplo de possível confusão:  Quando em dúvida: experimente! É fácil tentar qualquer coisa no compilador C a = 7; // what’s in a? b = a; // what’s in b? // what’s in a now??? printf(“a is %d, b is %d“, a, b);

Atribuição  E agora? Esse é um exemplo de possível confusão:  Quando em dúvida: experimente! É fácil tentar qualquer coisa no compilador C b= 7 a = 7; // what’s in a? b = a; // what’s in b? // what’s in a now??? printf(“a is %d, b is %d“, a, b);

Atribuição  E agora? Quais os valores de a e b? a = 7; // what’s in a? b = a; // what’s in b? // what’s in a now??? printf(“a is %d, b is %d“, a, b); a = 8; printf(“a is %d, b is %d“, a, b);

slide 22 int a; scanf ("%d", &a); Tipo do valor lido: %d inteiro Função scanf Variável que recebe o valor Importante: & indica ponteiro e que o valor da variável vai ser mudado. Lendo do Teclado: scanf

/* scanf example */ #include int main () { char str [80]; int i; printf ("Enter your family name: "); scanf ("%s", str); printf ("Enter your age: "); scanf ("%d", &i); printf (”%s is %d years old.\n",str,i); }

Scanf: Strings de Tipos de Valor  %d : Scan an integer as a signed decimal number.  %u : Scan for decimal unsigned int.  %f : Scan a floating-point number in normal (fixed- point) notation.  %g, %G : Scan a floating-point number in either normal or exponential notation. %g uses lower-case letters and %G uses upper-case.  %s : Scan a character string. The scan terminates at whitespace.  %c : Scan a character (char).

Expressões  expressões são a combinação de  um ou mais operadores ou operandos  exemplos de operadores: +, *, /,...  exemplos de operandos: números, variáveis,...  exemplos: * 5 (7 + 2) * 5

Precedencia de Operadores  Qual o resultado dessa expressão? * 5

Precedência de Operadores  Qual o resultado dessa expressão? * 5  Multiplicação tem mais precedência que adição (como em matemática) precedenceoperatoroperation 1 higher+ -unary plus and minus 2* / %multiply, divide, remainder 3 lower+ -add, subtract

Precedência de Operadores  Qual o resultado dessa expressão? * 5  Multiplicação tem mais precedência que adição (como em matemática)  Parenteses podem ser usados para mudar precedência: (7 + 2) * 5 ou para tornar mais claro 7 + (2 * 5) precedenceoperatoroperation 1 higher+ -unary plus and minus 2* / %multiply, divide, remainder 3 lower+ -add, subtract

Operadores Aritméticos Operador Ação + Soma (inteira e ponto flutuante) - Subtração ou Troca de sinal (inteira e ponto flutuante) * Multiplicação (inteira e ponto flutuante) / Divisão (inteira e ponto flutuante) % Resto de divisão (de inteiros) ++ Incremento (inteiro e ponto flutuante) -- Decremento (inteiro e ponto flutuante)

Operadores Aritméticos x = x +1  ++x ou x++ e x = x -1  --x ou x-- Diferença entre x++ e ++x (x-- e --x): x = 10; y = ++x; // y = 11, incrementa e atribui y = x++; // y = 10, atribuir e incrementar

Operadores Relacionais Operador Ação > Maior do que >= Maior ou igual a < Menor do que <= Menor ou igual a == Igual a != Diferente de  Operadores relacionais retornam verdadeiro (1) ou falso (0).

Operadores Lógicos Operador Ação && AND (E) || OR (OU) ! NOT (NÃO)  Tabela-verdade: p q p&&q p||q !p

Operadores Lógicos  O resultado da expressão lógica é verdadeiro? int i = 5, j =7; if ((i > 3) && (j <= 7) && (i != j)) j++; V and V and V = V  Usando operadores em comandos if { } else { }

Operadores Lógicos Bit a Bit  Operação Bit a Bit  Uma variável int a com o valor 2 em binário:  Podemos operar em cada um desses bits  Se fizermos a negação ~a :  Essas operações só podem ser usadas em: char, int e long  Elas são úteis para programaçao em “baixo nível”

Operadores Lógicos Bit a Bit Operador Ação & AND | OR ^ XOR (OR exclusivo) ~ NOT >> Deslocamento de bits a direita << Deslocamento de bits a esquerda  Tabela Verdade: p q p&q p|q p^q ~p

Operadores Lógicos Bit a Bit  Operação de deslocamento  A direita  divide por 2  A esquerda  multiplica por 2 unsigned char x cada execução da sentença valor de x x = 7; x = x <<1; x = x <<3; x = x <<2; x = x >>1; x = x >>1;

Checando = 12 é uma expressão válida em C? 2. Como voce mudaria o valor da variável greeting para 10? int greeting = 300;

Exercício  Escreva um programa que determine o valor máximo, o valor mínimo e o valor médio de uma seqüência de 4 inteiros.

Perguntas?