Buscar

Linguagem C - Aula 2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Informática Aplicada 
Aula 2 – Tipos de Dados Básicos em C 
Profª Náthalee Cavalcanti de Almeida 
Email: nathalee.almeida@ufersa.edu.br 
05/12/2013 
• Tipos de dados em C 
 
• Variáveis 
• 
• Atribuição 
• 
• Inteiros, reais e caracteres 
 
• Operadores numéricos 
 
• Leitura e escrita de variáveis e expressões 
 
• Formatos de leitura e escrita 
 
 
Agenda 
Introdução 
 
• Na programação em C é necessário, no entanto, 
primeiro conhecer aquilo que queremos guardar e 
só então selecionar os melhores recipientes para a 
tarefa; 
• Os diversos formatos de recipientes para 
armazenar produtos na nossa geladeira 
correspondem em C aos Tipos de Dados Básicos. 
• char, int, float e double . 
 
. 
 
 
 
 
 
 
Variáveis 
 
• Utilizado sempre que desejamos guardar um valor 
que, por qualquer razão não seja fixo. 
• Uma variável é nada mais que um nome que 
damos a uma determinada posição de memória para 
conter um valor de determinado tipo. 
• O valor contido em uma variável pode variar ao 
longo da execução de um programa. 
 
. 
 
 
 
 
 
 
Variáveis 
 
• Uma variável deve ser sempre definida antes de ser 
usada; 
• A definição de uma variável indica ao compilador 
qual o tipo de dado que fica atribuído ao nome que 
indicarmos para essa variável. 
• A definição de variáveis é feita utilizando a 
seguinte sintaxe: 
 tipo var1 [, var2, ..., varn]; 
 
 
 
 
Variáveis 
 
• Exemplos: 
 
 int i; /* i é uma variável do tipo inteiro */ 
char ch1, novo_char; /*ch1 e novo_char são 
vars do tipo char */ 
float pi, raio, perimetro; 
double total, k123; 
 
Variáveis 
 
• A declaração de variáveis tem que ser sempre 
realizada antes de sua utilização e antes de 
qualquer instrução. 
 
 main ( ) 
 { 
 Declaração de variáveis 
 Instrução1; 
 Instrução2; 
 } 
 
 
 
 
 
Variáveis 
 
• As variáveis são sempre armazenadas em 
memória. 
 
• São uma forma simples de referenciar 
posições de memória. 
 
• O tipo que lhes está associado indica o 
número de bytes que serão utilizados para 
guardar um valor nessa variável. 
Nomes de Variáveis 
 
• Regras: 
 - Pode ser constituído por letras do alfabeto 
(minúsculas ou maiúsculas), dígitos ( 0 ... 9) e 
ainda pelo caractere ( _ ). 
 - O 1° caractere NÃO pode ser um dígito. 
Terá que ser uma letra ou _. 
 - Maiúsculas e minúsculas representam 
caracteres diferentes, logo variáveis distintas. 
 - Uma variável NÃO pode ter por nome 
uma palavra reservada da própria Linguagem C. 
Nome das Variáveis 
 • Não é aconselhável a utilização de caracteres 
acentuados (ã, õ, á, é, etc.) nos nomes das 
variáveis. 
 
• O caractere underscore ( _ ) é habitualmente 
utilizado para fazer a separação entre palavras 
que representam uma única variável. 
 
Ex: Num_Cliente, Id_Fatura,Vou_Continuar etc. 
Exercício 
 
Indique quais são as variáveis que têm nomes 
corretos e incorretos na seguinte lista: 
int idade; 
int Num_Cliente; 
float a1b2c3; 
float 7a2b3c; 
char float; 
double vinte%; 
char sim?não; 
int _alfa; 
int _123; 
char Num, NUM; 
 
Exercício 
 int idade; /* Correto*/ 
 
int Num_Cliente; /* Correto*/ 
 
float a1b2c3; /* Correto*/ 
 
float 7a2b3c; /*Incorreto: 1° caractere é um dígito*/ 
 
char float; /*Incorreto: palavra reservada*/ 
 
double vinte%; /*Incorreto : caractere inadmissível*/ 
 
 
Exercício 
 
 char sim?não; /* caractere inadmissível*/ 
 
int _alfa; /* Correto, mas não aconselhável*/ 
 
int _123; /* Correto, mas não aconselhável*/ 
 
char Num, NUM; /*Correto, pois o C é case 
sensitive.*/ 
 /* Será aconselhável ???*/ 
Nomes das variáveis 
 
• Deve ser descritivo daquilo que ela armazena. 
 
Ex: xxx, yyy vs. Id_Cliente, num_fatura 
 
• O nome de uma variável não deve ser todo 
escrito em maiúsculas, pois identificadores 
totalmente escritos em maiúsculas são 
tradicionalmente utilizados pelos programadores 
de C para referenciar constantes. 
Nomes das variáveis 
 
. 
 
 
• Não utilize o caractere underscore ( _ ) para 
iniciar o nome de uma variável. 
 
• O n° de caracteres que o nome de uma variável 
pode conter depende do compilador, mas é 
normal que sejam permitidos nomes de variáveis 
com até 32 caracteres. 
 
Atribuição 
 
. 
 
 
• Sempre que uma variável é declarada, estamos 
solicitando ao compilador para reservar espaço em 
memória para armazená-la. 
 
• Sempre que uma variável é definida, um conjunto 
de bytes fica associado a ela. 
 
• Esses bytes têm bits com valor 1 e outros bits 
com 0, constituindo um número qualquer. 
Atribuição 
 
. 
 
 
• Uma variável poderá ser iniciada com um valor 
através de uma operação de atribuição. 
 
• A atribuição de um valor só pode ser realizada 
para variáveis. 
 
• Ao realizar uma atribuição o valor anterior 
presente na variável é eliminado, ficando nela o 
novo valor que lhe foi atribuído. 
Atribuição 
 
. 
 
 
Sintaxe: 
 
 variável = expressão; 
 
 
Ex: Para colocar o valor -17 na variável num faz-se: 
 
int num; /* Declaração da Variável num */ 
num = -17; /* num passa a ter o valor -17 */ 
 
 
Atribuição 
 
. 
 
 
• Uma variável pode ser automaticamente iniciada 
quando se faz a sua declaração. 
 
Ex: 
 int num = -17; 
 int n1 = 3, n2 = 5; 
 int a = 10, b, c = -123, d; 
 
* b e d ficam com um valor aleatório (“lixo”) 
porque não foram iniciadas. 
 
 
Atribuição 
 
. 
 
 
Ex: Colocar na variável val o mesmo valor da variável num 
val = num ; /*val recebe o valor que está em num */ 
 
Ex: Suponha que as 4 variáveis fossem iniciadas com os valores 
abaixo 
a = 1; 
b = 2; 
c = 3; 
d = 4; 
 
Qual é o valor das variáveis a, b,c e d, se em seguida, fosse 
executa a instrução: 
 
a=b=c=d=5; 
 
 
Atribuição 
 
. 
 
 
1. Todas ficam com valor 5? 
 
2. A variável a fica com o valor de b (2), b fica 
com o valor de c (3) e assim por diante. 
 
 
 
Atribuição 
 
. 
 
 
Resposta Correta : 1 
 
•Atribuições Consecutivas são realizadas da 
esquerda para a direita. 
a=b=c=d=5; 
 
• A 1ª a ser realizada é d=5. 
• O valor atribuído a d é devolvido como 
resultado da atribuição: 
•a=b=c=5; 
• O valor devolvido 5 é então atribuído a c. 
 
Inteiros - int 
. 
 
 
• Armazena valores que pertencem ao 
conjunto dos números naturais (sem parte 
fracionária) positivos e negativos. 
Ex: 2, -345, +115, 0. 
Operação Descrição Exemplo Resultado 
+ Soma 21+4 25 
- Subtração 21-4 17 
* Multiplicação 21*4 84 
/ Divisão Inteira 21/4 5 
% Resto da 
Divisão 
21%4 1 
Inteiros - int 
 
. 
 
 
 
Qualquer operação entre inteiros retorna um 
inteiro!!!!! 
 
Ex: Divisão entre 21 e 4 não irá resultar 5,25 e 
sim 5. 
Inteiros - int 
 
. 
 
 
Aprendendo como se pode escrever inteiros na tela. 
 
1: #include <stdio.h> 
2: 
3: main ( ) 
4: { 
5: int num = 123; 
6: 
7: printf (“O valor de um num = %d e o valor 
seguinte = %d\n”, num, num+1); 
5: } 
. 
 
 
• É feita a declaração da variável num do tipo int, 
que é iniciada com o valor 123 (linha 5:). 
 
• Escreverna tela a seguinte string: 
 
O valor de num =123 e o valor seguinte = 124 
 
“O valor de num = 123 e o valor seguinte = 124 
\n” 
Inteiros - int 
 
Inteiros - int 
 
. 
 
 
 
 
• O valor de num está guardado numa variável, e não 
podemos colocar a variável num dentro da string do 
printf, uma vez que printf iria escrever a string “num” 
em vez do valor que estaria guardado na variável. 
 
O que queremos escrever é: 
 
•O valor de num = <inteiro> e o valor seguinte 
=<inteiro> 
 
Em que <inteiro> representa o valor inteiro que está 
guardado na variável. 
Inteiros - int 
 
. 
 
 
Para escrever um inteiro dentro de um printf 
devemos substituir o valor desse inteiro por um 
formato de escrita que é %d. 
 
O valor de num = %d e o valor seguinte = %d\n 
 
Falta apenas indicar ao printf quais os valores que 
terá que colocar nos locais assinalados por %d. 
 
printf (“O valor de um num = %d e o valor 
seguinte = %d\n”, num, num+1); 
 
 
 
 
 
 
Inteiros - int 
 
. 
 
 
Saída esperada: 
 
O valor de num = 123 e o valor seguinte = 124 
 
Função scanf 
 
. 
 
 
 
 
• Função para leitura de valores. 
 
1: #include <stdio.h> 
2: main ( ) 
3: { 
4: int num ; 
5: printf (“Escreva um n°:”); 
6: scanf (“%d”, &num); 
7: printf(“O n° escrito foi %d\n”,num); 
8:} 
 
 
 
 
Função scanf 
 
. 
 
 
 
 
• leitura formatada funciona de forma 
semelhante à função printf. 
 
• Para ler qualquer variável do tipo int, char, 
float ou double utilizando a função scanf é 
preciso preceder cada variável de um &. 
 
scanf (“%d, &num); 
Exemplo 
 
. 
 
 
 
 
O que faz o seguinte programa? 
 
1: #include <stdio.h> 
2: main ( ) 
3: { 
4: int n1,n2 ; 
5: printf (“Escreva dois números:”); 
6: scanf (“%d%d”, &n1,&n2); 
7: printf(“O resultado de %d +%d = 
%d\n”,n1,n2,n1+n2); 
8:} 
9: 
 
 
 
 
Exemplo 
 
. 
 
 
 
 
Saída do Programa: 
 
Escreva dois número: 12 45 
O resultado de 12 + 45 = 57 
 
 
 
 
 
Inteiros e Variações 
 
. 
 
 
 
 
• O tamanho em bytes de um inteiro varia de 
arquitetura para arquitetura, sendo os valores mais 
habituais de 2 ou 4 bytes. 
 
N° de Bytes Menor Valor Maior Valor 
2 -32 768 327 67 
4 -2 147 483 648 2 147 483 647 
Inteiros e Variações 
 
. 
 
 
 
 
• short – Inteiro pequeno (2 bytes) 
 
• long – Inteiro grande (4 bytes) 
 
• signed – Inteiro com sinal (n°s negativos e 
positivos) 
 
• unsigned – Inteiro sem sinal (apenas n°s 
positivos) 
 
short e long 
. 
 
 
 
 
Para garantir que o inteiro n use apenas 2 bytes 
ou 4 bytes, independente da arquitetura utilizada, 
deve-se declarar a variável como: 
 
• short int n; /* ou short n; - 2 bytes*/ 
• long int n; /* ou long n; - 4 bytes*/ 
 
O formato de leitura e escrita de variáveis 
inteiras short e long nas funções scanf e printf 
deve ser precedido dos prefixos h (short) e l 
(long). 
signed e unsigned 
. 
 
 
 
 
• Por padrão, uma variável do tipo inteiro admite 
valores inteiros positivos e negativos. 
 
Ex: Se um n° inteiro for armazenado em 2 Bytes 
os seus valores podem variar entre -32 768 e 32 
767. 
 
Apenas valores positivos  unsigned. 
 
. 
 
 
 
 
Ex: 
 
unsigned int Idade; /*ou unsigned Idade; */ 
 
/*A idade de um indivíduo não pode ser 
negativa*/ 
 
signed e unsigned 
O prefixo signed antes de um inteiro, não é 
necessário, pois por padrão todos os inteiros 
quando são criados são sinalizados (signed). 
 
. 
 
 
 
 
signed e unsigned 
-65536 -32768 0 32767 65535 
int 
unsigned 
O formato de leitura e escrita de variáveis 
inteiras sem sinal (unsigned int), utilizando as 
funções scanf e printf, é %u em vez de %d. 
. 
 
 
 
 
Reais – float e double 
• Armazena valores numéricos com parte 
fracionária. 
• São também denominadas reais ou ponto 
flutuante 
•Ex: 3.14, 0.000000000000024, 1.0) 
 
• float  4 bytes; 
• double  8 bytes; 
 
float Pi = 3.1415; 
double erro = 0.00000001; 
. 
 
 
 
 
Caracteres – char 
• Permite armazenar um único caractere. 
• Não armazena strings (conjunto de caracteres). 
• Sempre é armazenado em um único byte. 
 
Sintaxe: 
 
char var1, ch, var2; 
 
Ex: 
 
char ch = „A‟, v = „$‟, n1 = „\n‟; 
. 
 
 
 
 
Caracteres – char 
O formato de leitura e escrita para caracteres 
é %c. 
Ex: 
1: #include <stdio.h> 
2: 
3: main ( ) 
4:{ 
5: printf (“%cello Wo%cld%c”, „H‟, „r‟, 
„\n‟); 
 
. 
 
 
 
 
getchar () 
• leitura de um caractere; 
 
• não utiliza nenhum parâmetro; 
 
• Lê um caractere e devolve o caractere obtido 
como resultado da função,evitando a escrita de 
parâmetros, formatos, &ch etc. 
 
 caractere lido  getchar (); 
 
 
. 
 
 
 
 
getchar () 
1: #include <stdio.h> 
2: 
3: main ( ) 
4:{ char ch; 
5: printf (“Digite um caractere:”); 
6: 
7: ch = getchar ( );  
8: printf (“O caractere digitado foi „%c‟ \n”,ch); 
9: } 
 
Ler um caractere digitado 
pelo usuário 
. 
 
 
 
 
getchar () vs. scanf () 
• getchar () evita a presença do formato de leitura 
(%c); 
 
• Como a variável não é passada como parâmetro 
à função getchar, não precisa de &. 
. 
 
 
 
 
• A linguagem C apresenta 4 tipos de dados básicos – char, 
int, float e double. 
 
• Podemos declarar variáveis de cada um desses tipos para 
armazenar valores. 
 
• A atribuição de valores a uma variável é realizada através 
do sinal de =. 
 
• Podem ser realizadas atribuições encadeadas (a=b=c=2;), 
sempre da direita para esquerda. 
 
• Uma variável pode ser iniciada assim que é declarada. 
 
Resumo 
. 
 
 
 
 
• O nome de uma variável deverá sempre representar a 
informação que ela contém. 
 
• A leitura e escrita de valores são realizadas scanf e printf, 
respectivamente, utilizando os formatos adequeado a cada 
tipo %d – int, %f – float e double e %c – char. 
 
• No caso do scanf, cada variável deverá ser precedida de um 
&. 
 
• A leitura de uma variável do tipo caractere também poderá 
ser realizada através da função getchar (). 
 
• O tipo int permite algumas variações short, long, signed e 
unsigned. 
 
Resumo

Outros materiais