30
UNIDADE 2 PROGRAMAÇÃO I

UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Embed Size (px)

Citation preview

Page 1: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

UNIDADE 2

PROGRAMAÇÃO I

Page 2: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

2

Variáveis

Variáveis são locais onde são armazenados os valores na memória.

Toda variável é caracterizada por um nome, que a identifica em um programa, e por um tipo, que determina o que pode ser armazenado naquela variável.

08/2011

Page 3: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

3

Declarando uma variável

int soma;

Variáveis só armazenam valores do mesmo tipo com que foram declaradasEx:int a; /* declara uma variável do tipo int */a = 4.3; /* a armazenará o valor 4 */

Tipo da Variável Nome da Variável

Page 4: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

4

Tipos básicos

Tipo Tamanho Menor valor Maior valor

char 1 byte -128 +127

unsigned char 1 byte 0 +255

short int 2 bytes -32.768 +32.767

unsigned short int

2 bytes 0 +65.535

int (*) 4 bytes -2.147.483648 +2.147.483647

long int 4 bytes -2.147.483648 +2.147.483647

unsign long int 4 bytes 0 +4.294..967.295

float 4 bytes -10 38 +10 38(*) depende da máquina, sendo 4 bytes para arquitetura de 32 bits

Page 5: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

5

Variável com valor indefinido:

uma variável pode receber um valor quando é definida (inicializada), ou através de um operador de atribuiçãoint a = 5, b = 10; /* declara e inicializa duas variáveis do tipo int */float c = 5.3; /* declara e inicializa uma variável do tipo float */

Page 6: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

6

uma variável deve ter um valor definido quando é utilizadaint a, b, c; /* declara e inicializa duas variáveis do tipo int */a = 2;c = a + b; /* ERRO: b contém “lixo” */

Page 7: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

7

Obtendo o tamanho de um tipo

O comando sizeof(tipo) retorna o tamanho, em bytes, de um determinado tipo. (Um byte corresponde a 8 bits).

Ex: printf ("%d", sizeof(int));

escreve 4 na tela (Pentium).

Page 8: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

8

Regras para nomes de variáveis em C

Deve começar com uma letra (maiúscula ou minúscula) ou subscrito(_). Nunca pode começar com um número.

Pode conter letras maiúsculas, minúsculas, números e subscrito.

Não podemos utilizar

{ ( + - * / \ ; . , ?como parte do nome de uma variável.

Page 9: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

9

Regras para nomes de variáveis em C

As seguintes palavras já tem um significado na linguagem C e por esse motivo não podem ser utilizadas como nome de variáveis:auto double int struct break

enum register typedef char extern

return union const float short

unsigned continue for signed void

default goto sizeof volatile do

if static while

Page 10: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

10

Constantes

Valores constantes são armazenados na memória

Assim como as variáveis, as constantes também possuem um tipo. Os tipos permitidos são exatamente os mesmos das variáveis, mais o tipo string, que corresponde a uma seqüência de caracteres.

Exemplos : 85, 0.10, ’c’, ”Meu primeiro programa”.

Page 11: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

11

Exemplos de constantes

123 /* constante inteira do tipo “int” */12.45 /* constante real do tipo “double” */1245e-2 /* constante real do tipo “double” */12.45F /* constante real do tipo “float” */

Page 12: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

12

Constantes inteiras

Um número na forma decimal, como escrito normalmenteEx: 10, 145, 1000000

Um número na forma hexadecimal (base 16), precedido de 0xEx: 0xA (0xA16 = 102), 0x100 (0x10016 = 2562)

Um número na forma octal (base 8), precedido de 0Ex: 010 (0x108 = 82)

Page 13: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

13

Constantes do tipo ponto flutuante

Um número decimal. Para a linguagem C, um número só pode ser considerado um número decimal se tiver uma parte ”não inteira”, mesmo que essa parte não inteira tenha valor zero. Utilizamos o ponto para separarmos a parte inteira da parte ”não inteira”Ex: 10.0, 5.2, 3569.22565845

Page 14: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

14

Constantes do tipo ponto flutuante

Um número inteiro ou decimal seguido da letra e e de um expoente. Um número escrito dessa forma deve ser interpretado como:

numero · 10expoente

Ex: 2e2 (2e2 = 2 · 102 = 200.0)

Page 15: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

15

Constantes do tipo caracter

Uma constante do tipo caracter é sempre representado por uma letra entre aspas simples.Ex: ‘A’

Toda constante do tipo caracter pode ser usada como uma constante do tipo inteiro. Nesse caso, o valor atribuído será o valor daquela letra na tabela ASCII.

Page 16: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

16

Constantes do tipo string

Uma constante do tipo é um texto entre aspas duplas Ex: ”Meu primeiro programa”

Page 17: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

17

Operadores e expressões

Operadores aritméticos ( + , - , * , / , % ):– operações são feitas na precisão dos operandos

o operando com tipo de menor expressividade é convertido para o tipo do operando com tipo de maior expressividade

divisão entre inteiros trunca a parte fracionáriaint adouble b, c;a = 3.5; /* a recebe o valor 3 */b = a / 2.0; /* b recebe o valor 1.5 */c = 1/3 + b; /* 1/3 retorna 0 pois a operação será sobre

inteiros. c recebe o valor de b */

Page 18: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

18

Operadores e expressões

Operadores aritméticos (cont.):– o operador módulo, “%”, aplica-se a inteiros– precedência dos operadores: * , / , - , +

x % 2 /* o resultado será 0, se x for par; caso contrário, será 1 */a + b * c / d é equivalente a (a + ((b * c) / d))

Page 19: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

19

Operadores e expressões

Operadores de atribuição ( = , += , -= , *= , /= , %= ):– C trata uma atribuição como uma expressão

a ordem é da direita para a esquerda– C oferece uma notação compacta para atribuições

em que a mesma variável aparece dos dois ladosvar op= expr é equivalente a var = var op (expr)

i += 2; é equivalente a i = i + 2;x *= y + 1; é equivalente a x = x * (y +1);

Page 20: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

20

Operadores e expressões

Operadores de incremento e decremento ( ++ , -- ): incrementa ou decrementa de uma unidade o valor de uma

variável• os operadores não se aplicam a expressões• o incremento pode ser antes ou depois da variável ser utilizada

n++ incrementa n de uma unidade, depois de ser usado++n incrementa n de uma unidade, antes de ser usado

n = 5;x = n++; /* x recebe 5; n é incrementada para 6 */x = ++n; /* n é incrementada para 6; x recebe 6 */a = 3;b = a++ * 2; /* b termina com o valor 6 e a com o valor 4 */

Page 21: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

21

Operadores e expressões

Conversão de tipo:– conversão de tipo é automática na avaliação de

uma expressão– conversão de tipo pode ser requisita explicitamente

float f; /* valor 3 é convertido automaticamente para “float” */float f = 3; /* ou seja, passa a valer 3.0F, antes de ser atribuído a f */int g, h; /* 3.5 é convertido (e arredondado) para “int” */g = (int) 3.5; /* antes de ser atribuído à variável g */h = (int) 3.5 % 2 /* e antes de aplicar o operador módulo “%” */

Page 22: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

22

Entrada e Saída

Função “printf”:– possibilita a saída de valores segundo um determinado

formatoprintf (formato, lista de constantes/variáveis/expressões...);

Ex:printf ("%d %g", 33, 5.3);tem como resultado a impressão da linha:33 5.3printf ("Inteiro = %d Real = %g", 33, 5.3);tem como saída:Inteiro = 33 Real = 5.3

Page 23: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

23

Entrada e Saída

Especificação de formato:%c especifica um char%d especifica um int%u especifica um unsigned int%f especifica um double (ou float)%e especifica um double (ou float) no formato científico%g especifica um double (ou float) no formato mais

apropriado (%f ou %e)%s especifica uma cadeia de caracteres

Page 24: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

24

Entrada e Saída

Impressão de texto:printf("Curso de Estruturas de Dados\n");exibe na tela a mensagem:Curso de Estruturas de Dados

Page 25: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

25

Entrada e Saída

Especificação de caracteres de “escape”:\n caractere de nova linha\t caractere de tabulação\r caractere de retrocesso\" caractere “\\ caractere \

Page 26: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

26

Entrada e Saída

•Especificação de tamanho de campo

Page 27: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

27

Entrada e Saída

Função “scanf”:– captura valores fornecidos via teclado scanf (formato, lista de endereços das

variáveis...);

int n;scanf ("%d", &n);valor inteiro digitado pelo usuário é armazenado na variável n

Page 28: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

28

Entrada e Saída

Especificação de formato:%c especifica um char%d especifica um int%u especifica um unsigned int%f,%e,%g especificam um float%lf, %le, %lg especificam um double%s especifica uma cadeia de caracteres

Page 29: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

29

Entrada e Saída

Função “scanf” (cont.):– caracteres diferentes dos especificadores no formato

servem para cercar a entrada– espaço em branco dentro do formato faz com que

sejam "pulados" eventuais brancos da entrada– %d, %f, %e e %g automaticamente pulam os brancos

que precederem os valores numéricos a serem capturados

scanf ("%d:%d", &h, &m);valores (inteiros) fornecidos devem ser separados pelo caractere dois pontos (:)

Page 30: UNIDADE 2 PROGRAMAÇÃO I. Variáveis Programação I 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é caracterizada por

Programação I

30