Tipos, variáveis e operadores
Tipos
C tem vários tipos de dados simples. Estes são chamados tipo de dados primitivos. Outros tipos de dados mais complexos podem ser construídos a partir destes.
char
um caracter ASCII;int
inteiro;float
um número real;double
um número real mais preciso (maior parte decimal);
Estes são os tipos mais comuns em C, mas ainda temos algums ‘derivados’ deles:
long double
um número real ainda mais preciso (implementação obscura, recomendado não usar);short int
um inteiro mais pequeno;long int
um inteiro maior;unsigned int
um inteiro sem ser negativo;
E onde é que estão os booleanos?
Em C booleanos propriamente ditos não existem.
A prática mais comum é utilizar 0
como valor para false
e 1
como true
.
Podem também reparar que não foi discutido o tamanho de cada tipo. Na verdade o C apenas define um tamanho mínimo para cada tipo de dados.
Variáveis
Variáveis são “caixas” que guardam valores.
A declaração de uma variável, reserva e dá um nome a uma área na memória, que vai guardar um valor de um tipo específico.
C é uma linguagem fortemente tipada. Isto é, cada variável tem um tipo declarado e bem definido.
A forma de declarar uma variável em C é:
tipo nome;
Dando um exemplo mais concreto:
int x = 7;
Foi alocada uma área na memória ligada à uma variável chamada x
, que atualmente guarda um valor de int
- especificamente o número 7.
De notar que se não atribuir-mos qualquer valor a uma varíavel, tipo id;
, o espaço de memória reservado nao é limpo
Ou seja, até atribuirmos um valor, id
pode conter “lixo”.
Alguns detalhes
- As variáveis em C são ‘case sensitive’;
- As variáveis em C podem conter números e até começar com um
_
(contudo não é recomendável). - Podemos declarar variáveis do mesmo tipo seguidas:
float x, y, z;
Operadores
O operador para atribuir um valor a uma variável é o =
.
Os operadores para comparar variáveis (ou variáveis e valores):
==
Para igualdade;!=
Para desigualdade;>
Maior do que;>=
Maior ou igual do que;<
Menor do que;<=
Menor ou igual do que.
Operadores matemáticos
+
Soma;-
Subtração;*
Multiplicação;/
Divisão;%
Resto da divisão.
Operadores lógicos
!
Negação;||
Or;&&
And;
Operadores que manipulam variáveis
Em vez de se fazer:
int x = 5
// ...
x = x + 5;
Podemos simplesmente fazer:
int x = 5
// ...
x += 5;
Isto funciona para todas as operações matemáticas.
Depois temos o ++
e --
x++;
// é o equivalente a fazer:
x = x + 1;
Obviamente que --
fará uma subtração por 1 valor.
Estes operadores têm a peculiaridade de poderem ser usado depois ou antes da variável, tendo efeitos diferents no seus valores:
int x = 5;
int y = 3;
x = y++;
// x tem agora valor 3
// y tem agora valor 4
Contrariamente:
int x = 5;
int y = 3;
x = ++y;
// x tem valor 4
// y tem valor 4