Ameliara Freire
[email protected]





Os programas manipulam dados, armazenandoos e, muitas vezes, modificando seus valores.
Basicamente, a linguagem C, manipula quatro
tipos de dados: inteiro, real, caractere e void.
A linguagem C não possui o tipo lógico, que
armazena verdadeiro ou falso.
Para cada tipo de dado, é necessária uma
quantidade de bits para armazená-lo.
Tudo na informática é medido em bits, desde o
tamanho de um número até a velocidade de
transferência de dados em uma rede.


Os dados do tipo inteiro são toda e qualquer
informação numérica que pertença ao conjunto dos
números inteiros relativos (negativo, nulo ou positivo).
Os números inteiros, em C, se dividem em três tipos:
Tipo
Tamanho
Intervalo Suportado
short
16 bits
-32.768 a +32.767
32 bits
-2.147.483.648 a
+ 2.147.483.647
int
long
64 bits
9.223.372.036.854
.775.808
a
+9.223.372.036.85
4.775.807


A diferença entre os tipos short, int e long é a quantidade de
memória que é reservada para armazená-los.
Veja como é simples: à medida que se utiliza mais memória,
aumenta o intervalo do valor que pode ser armazenado.
◦ Por exemplo, para armazenar um dado do tipo short, são reservados 16 bits de
memória. Com isso, o tipo short pode suportar um número inteiro no intervalo
de -32.768 a +32.767.

Portanto, dependendo do valor que será armazenado, deve ser
escolhido um tipo (short, int ou long) que comporte tal valor.
◦ Por exemplo, para armazenar a idade de um funcionário, o tipo short é o mais
adequado (já que a idade de uma pessoa é um valor que raramente ultrapassa
100).
◦ No entanto, para armazenar a quantidade de eleitores de uma cidade, deve-se
usar o tipo int (note que em muitas cidades, a quantidade de eleitores
ultrapassará o maior valor suportado pelo tipo short: 32.767).

Para facilitar nosso estudo, sempre será usado o tipo int para
armazenar os dados inteiros.


Os dados do tipo real são toda e qualquer informação
numérica que pertença ao conjunto de números reais
(negativo, positivo ou nulo).
Os números reais, em C, podem ser de dois tipos:
Tipo
Tamanho
Intervalo Suportado
float
32 bits
3.4E-38 a 3.4E+38
double
64 bits
1.7E-308 a 1.7E+308



Os caracteres são do tipo char, representados por toda e
qualquer informação composta por um único caractere
alfa numérico (a, b, c,...z, A, B, C,...Z, 0...9) ou especial
(como por exemplo: ; # ? @ ! < ?).
O tipo char armazena um único caractere.
Quando se deseja armazenar vários caracteres, é
necessário definir um vetor de caractere.
◦ Por exemplo, o nome de um aluno é formado por uma cadeia
de caracteres, assim, será necessário usar um vetor de
caracteres.
◦ Cada caractere armazenado ocupa o espaço de 8 bits de
memória. Um caractere deve ser representado entre apóstrofo,
por exemplo: ‘a’.
◦ Mas, quando temos uma cadeia de caracteres, esta deve ser
representada entre aspas dupla, por exemplo: “Pedro
Goncalves”.





Em Inglês, void quer dizer vazio e é isto mesmo
que o void é.
Void é um tipo que não armazena nada (um
tanto esquisito, não é?).
Este tipo serve para indicar que um resultado
não tem um tipo definido.
Ele é utilizado quando estamos definindo
funções nos nossos programas.
Permite-nos desenvolver funções que não
retornam nada e funções que não têm
parâmetros.





Qualquer dado que seja manipulado pelo programa deve
ficar armazenado na memória principal do computador.
Para que o armazenamento seja possível, precisaremos
reservar espaços na memória principal do computador.
As variáveis e constantes são unidades básicas de
armazenamento dos dados em programação.
Elas são um espaço de memória reservado para
armazenar um certo tipo de dado e possuem um
identificador (nome) para referenciar o seu conteúdo.
Dessa forma, nossos dados ficam armazenados em
constantes ou variáveis.



Uma variável pode conter, a cada instante,
valores diferentes.
No entanto, as constantes referem-se a valores
fixos que não podem ser alterados durante a
execução do programa.
O modo como cada constante é representada
depende do seu tipo.

Para entender o conceito de variáveis
constantes, vamos fazer a seguinte analogia:
e
◦ Um armário cheio de gavetas de tamanhos diferentes.
◦ Acompanhem o raciocínio: Pedro tem um armário e
decide que em cada gaveta será guardado um tipo de
roupa: camisa, bermuda, calça, etc.
Memória RAM
Teclado
Entrada
CPU
Usuário /
Programador
Processamento
Monitor
Saída
Disco Rígido HD



Em uma dada gaveta, só podem ser armazenadas camisas.
Não será permitido o armazenamento de calças nesta gaveta.
Para facilitar a identificação, Pedro coloca uma etiqueta
informando o que cada gaveta guarda. Com isso, Pedro
poderá identificar, rapidamente, em qual a gaveta estão
guardadas suas camisas.
Agora vamos associar a idéia das gavetas com a idéia de
variáveis, constantes e tipo.
◦ As gavetas que guardam as roupas são como os espaços de memória
que armazenam nossos dados.
◦ Assim como uma gaveta só pode armazenar um tipo de roupa, os
espaços de memória são especificados para armazenar um tipo de
dado.
◦ Dependendo do tipo de roupa, a gaveta precisa ser maior ou menor.
Da mesma forma, dependendo do tipo de dado, é feito uma reserva
de mais ou menos memória para armazená-lo.




As etiquetas das gavetas são os identificadores
dos nossos espaços de memória.
Assim, facilmente iremos encontrar um dado
armazenado nos nossos espaços de memória.
Quando temos uma variável, o conteúdo da
nossa gaveta pode mudar ao longo do tempo.
Mas, no caso de uma constante, seu conteúdo
será sempre o mesmo.

Para que o compilador saiba quais dados estamos querendo manipular, eles
precisam ter um nome.
◦ É como nós, todos temos um nome.
◦ Sabemos quando alguém está nos chamando quando falam o nosso nome.



Vai acontecer a mesma coisa com os espaços de memória dos nossos
programas, precisamos identificá-los de alguma forma.
Os identificadores são os nomes que damos às nossas variáveis, constantes,
funções e procedimentos usados no programa.
Para criar um identificador é necessário respeitar as regras a seguir:
◦ O primeiro caractere deve ser uma letra ou _ (underscore);
◦ O restante do nome deve ser formado por caracteres pertencentes ao seguinte
conjunto: a,b,c,..z, A,B,C,...Z, 0,1,2,...,9, _ (ou seja: letras, números e underscore);
◦ Não deve haver espaço em branco (ou seja, não existem identificadores compostos,
formados por dois ou mais nomes);
◦ Não utilizar acentos, nem cedilha;
◦ Os identificadores podem ter até 32 caracteres;
◦ Não deve haver identificadores repetidos (Se dermos o mesmo nome para duas
variáveis do nosso programa, o compilador não vai saber qual delas será chamada, e
isso não pode acontecer).





A linguagem C faz distinção de maiúsculas e minúsculas.
Assim, os identificadores: Media, MEDIA, MediA e media
são diferentes.
O fato de termos uma única letra de forma diferente
(maiúscula ou minúscula), já faz com que os
identificadores se diferenciem.
Esta propriedade é chamada de case sensibility
(sensibilidade a letras maiúsculas e minúsculas).
DICA: Boa Prática de Programação
◦ Escolham bem os nomes das variáveis e constantes do
programa.
◦ Os identificadores escolhidos devem ser claros, a fim de
explicitar o conteúdo que será armazenado, mas também não
devem ser extensos para não dificultar a escrita.










A
X2
Nome_Aluno
Media
SalarioFuncionario
2m
Nome disciplina
media*
Nome disciplina
funcionário





Para que se possa usar uma variável em um programa,
primeiramente, é necessário fazer a declaração dela.
A declaração de uma variável informa ao processador
duas coisas: o identificador(nome) da variável e o seu
tipo de dado.
As variáveis precisam de um nome para que o
processador saiba onde desejamos armazenar o nosso
dado.
Além disso, toda variável precisa ser associada a um tipo
de dado, para que o processador reserve o espaço de
memória necessário para o seu armazenamento.
Resumindo, toda variável possui um nome, um tipo e um
conteúdo (ou valor que é armazenado na variável).
Sintaxe
tipo [variavel_1, variavel_2, ...];
Declaração de Variáveis
int idade, matricula;
float media, total;
char letra, nome_aluno[20];


Diferente das variáveis, as constantes mantêm seu valor
ao longo do programa.
Para indicar ao compilador que se trata de uma
constante, a diretiva de compilação #define é utilizada.
Sintaxe
#define <identificador> <valor>


Não é necessário colocar o ponto e vírgula no final da
linha e também não precisa informar o tipo de dado da
constante.
O valor de uma constante não pode ser modificado, de
maneira alguma, ao longo da execução do programa.
Declaração de Constantes
#define DIAS 7
#define PI 3.1416
#define RESPOSTA ‘s’
#define DISCIPLINA “Matemática”



Esse operador é utilizado para armazenar um
valor em uma dada variável.
Assim, o operador de atribuição nos possibilita
armazenar um dado em um espaço de memória,
que foi previamente declarado.
É importante que o dado que será armazenado
seja compatível com o tipo da variável que
receberá a atribuição.
◦ Por exemplo, as variáveis reais podem receber valores
reais e inteiros. No entanto, uma variável inteira não
pode receber um valor real.
Sintaxe
Variavel = Valor;
Variavel_1 = Variavel_2;
Variavel = Expressão Aritmética;
Variavel = função;
Variavel_1 = variavel_2 = variavel_3 = valor;
Comando de Atribuição
float Media, X, Y, Z;
int J, L, M, K, A, B;
char Letra;
Media = 7.5;
Letra = ’D’;
X = Y;
K = A + B;
Z = sqrt(4);
J = L = M = 10;
Download

Aula 3 - Tipos de Dados, Variáveis e Constantes