Tipos, variáveis e operadores | Programação Imperativa
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.
charum caracter ASCII;intinteiro;floatum número real;doubleum número real mais preciso (maior parte decimal);
Estes são os tipos mais comuns em C, mas ainda temos algums ‘derivados’ deles:
long doubleum número real ainda mais preciso (implementação obscura, recomendado não usar);short intum inteiro mais pequeno;long intum inteiro maior;unsigned intum 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;&⩓
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
