Variável Variável: “objecto” que pode assumir diversos valores; Espaço de memória de um certo tipo de dado associado a um nome para referenciar seu conteúdo; main ( ) { int idade; idade = 30; printf (“ A idade é : %d”, idade); } MF. 1 Nomes de Variáveis quantos caracteres quiser (32); comece com letras ou underscore: Seguidos de letras, números ou sublinhados C é sensível ao caso: teste <> Teste <> TeStE não podemos definir um identificador com o mesmo nome que uma palavra chave auto static extern int long if while do ...... MF. 2 Exemplos de variáveis Exemplos de nomes de variáveis: Correctos Incorrectos Contador 1contador Teste23 oi!gente Vida_Bela Vida..Bela __sizeint _size-int MF. 3 Declaração de Variáveis Instrução para reservar uma quantidade de memória para um certo tipo de dado, indicando o nome pelo qual essa área será referenciada: Sintaxe: tipo nome-da-variável; ou tipo n1,n2,.,nn Exemplo: char nome; int idade, num; float area, cateto; MF. 4 Tipos Básicos de Dados determinar um conjunto de valores e as possíveis operações realizadas sobre os mesmos ; informa a quantidade de memória (bytes); tipo char int float double bytes escala 1 2 4 8 -128 a 127 -32.768 a 32.767 3.4e-38 a 3.4e+38 1.7e-308 a 1.7e+308 MF. 5 Modificadores de tipos Long ou Long int Unsigned Char Unsigned int (4 bytes) (0 a 255) (0 a 65.535) Modificadores: signed: indica número com sinal (inteiros e caracteres) unsigned: número apenas positivo (inteiros e caracteres) long: aumenta abrangência (inteiros e reais) short: reduz a abrangência (inteiros) MF. 6 Tipos de dados Tipo Nº de bits Formato para leitura com scanf Intervalo Inicio Fim char 8 %c -128 127 unsigned char 8 %c 0 255 signed char 8 %c -128 127 int 16 %i -32.768 32.767 unsigned int 16 %u 0 65.535 signed int 16 %i -32.768 32.767 short int 16 %hi -32.768 32.767 unsigned short int 16 %hu 0 65.535 signed short int 16 %hi -32.768 32.767 long int 32 %li -2.147.483.648 2.147.483.647 signed long int 32 %li -2.147.483.648 2.147.483.647 unsigned long int 32 %lu 0 4.294.967.295 float 32 %f 3,4E-38 3.4E+38 double 64 %lf 1,7E-308 1,7E+308 long double 80 %Lf MF. 3,4E-4932 3,4E+4932 7 Tipos de dados Declaração de variáveis: int n = 0; double total = 0.5; Nota: Usar sempre nomes descritivos para as variáveis. double escudos = 0.0; Em vez de: double es = 0.0; MF. 8 Atribuição de valores a variáveis Nome_da_variável = expressão; Na declaração da variável: double total = 117.5; double iva = 19.0; total = total + iva; 100.5 total 19 iva 119.5 total 19 iva Múltiplas atribuições: C permite a atribuição de mais de uma variável na mesma instrução: x = y = z = 0; MF. 9 Programa Exemplo – Tipos de Dados e Variáveis #include <stdio.h> main( ) { int soma=10; float money=2.21; char letra= ´A´; double pi=2.01E6; printf (“valor da soma = %d\n”, soma); printf (“Valor de Money = %f\n”, money); printf(“Valor de Letra = %c\n”, letra); printf(“Valor de Pi = %e\n”, pi); } MF. 10 Conversão de Tipos (Cast) Os tipos de variáveis e os valores que lhes são atribuídos têm de coincidir: int teste = “vinte”; // ERRO NUNCA FAZER Pode utilizar-se o (int) para converter inteiros em reais ou (double) ou o inverso: int total = (int) (teste * 0.5); MF. 11 Comandos básicos E/S Entrada de Dados Processamento de dados Saída de Dados Instruções de E/S MF. 12 Instruções de E/S – Scanf ( ) Leitura de dados tipados via teclado Sintaxe: scanf (“formato_do_tipo”,&variável); OBS: Para uma string de caracteres (%s), o carácter & não deverá ser usado. Exemplo: scanf(“%d”,&idade); scanf(“%c”,&letra); scanf(“%e”,&moeda); Ler duas variáveis ao mesmo tempo scanf(“%d%d”,&idade1,&idade2); MF. 13 Exemplo #include <stdio.h> main ( ) { char a ; printf ( “digite um caracter: ” ); scanf ( “ %c”, &a ); printf (“ \n %c = %d em decimal”,a,a); printf (“%o em octal, %x em hexadecimal”,a,a); } Output digite um caracter: m m = 109 em decimal, 155 em octal, 6d em hexadecimal MF. 14 Operador de Endereço & Um endereço de memória é o local que o computador usa para guardar uma variável Toda variável ocupa uma área de memória e seu endereço é o primeiro byte por ela ocupado Ex : inteiro 2 bytes float 4 bytes char 1 byte MF. 15 Operador de Endereço & Quando usamos & antes da variável estamos a referenciar o seu endereço na memória. #include <stdio.h> main ( ) { int num; num = 2; printf (“valor = %d, endereço = %u”, num,&num); } Output valor = 2, endereço = 1230 Varia conforme memória da máquina MF. 16 Formatar as saídas – printf() É possível estabelecer o tamanho mínimo para a impressão de um campo #include <stdio.h> main ( ) { printf (“os alunos são %2d \n”, 350); printf (“os alunos são %4d \n”, 350); printf (“os alunos são %5d \n”, 350); } Output os alunos são 350 os alunos são 350 os alunos são 350 MF. 17 Formatando as saídas – printf() #include <stdio.h> main ( ) { printf (“ %3.1f \n”, 3456.78); printf (“ %10.3f \n”, 3456.78); } Output 3456.8 3456.780 MF. 18 Exercício 1 Faça um programa para ler e escrever no monitor o seu nome e a sua idade. #include <stdio.h> main( ) { int idade; char nome[30]; printf (“Digite o seu nome:\n”); scanf(“%s”, nome); printf (“Digite a sua idade:\n”); scanf (“%d”, &idade); printf(“A idade do(a) %s é %d”,nome, idade); } MF. 19 Exercício 2 Faça um programa para ler e escrever no monitor os seguintes dados: BI Nome Endereço Telefone Cidade MF. 20