Tipos de Variáveis

A linguagem C é estaticamente tipada, isso quer dizer que toda variável declarada deve ter um tipo declarado.

Neste curso vamos trabalhar com 3 tipos de variáveis:

Em C temos também outros tipos como os

Operações

Usaremos as operações matemáticas básica:

Porém fique atento! Em C quando você divide dois números inteiros, o resultado será um número inteiro: 5/2 = 2.

Mudança entre tipos

Diferente de Python, uma variável em C nunca pode mudar o tipo dela, porém um valor do tipo float pode ser transformado para um valor do tipo inte vice versa.

O código a seguir

int a = 2;
printf("como int: %d\n", a);
printf("como float: %f\n", (float)a);

Irá imprimir

como int: 2
como float: 2.000000

Também podemos atribuir um valor do tipo para uma variável do tipo float para ter o mesmo resultado.

int a = 2;
printf("como int: %d\n", a);
float b = a;
printf("como float: %f\n", b);

Truncamento

Caso um valor do tipo float seja transformado em um do tipo int, haverá um truncamento, onde a parte decimal do número original será perdida no novo valor do inteiro.

float a = 2.3;
printf("como float: %f\n", a);
printf("como int: %d\n", (int)a);

Irá imprimir

como float: 2.300000
como int: 2

Chamamos isto de truncamento.

char e int

Um char pode ser tratado como int e vice versa, o número inteiro correspondente ao char será seu código na table ascii

printf("como char: %c\n", 97);
printf("como int: %d\n", 'a');
como char: a
como int: 97

Como imprimir

Como vimos, devemos usar palavras chaves para imprimir valores na função printf.

Como formatar

Tanto números inteiros como reais podem ser formatados na hora de ser impressos, veja o exemplo abaixo:

float pi = M_PI;

// formatacao normal
printf("numero %f\n", pi);

// numero ocupa 10 espacos
printf("numero %10f\n", pi); 

// numero tera apenas 2 casas decimais
printf("numero %.2f\n", pi); 

/* 
numero todo ocupa 7 espacos, 
tem apenas 2 casas decimais, 
espacos a esquerda sao completados por 0
*/
printf("numero %07.2f\n", pi); 
numero 3.141593
numero   3.141593
numero 3.14
numero 0003.14

.