Programação C - Variáveis
A linguagem C possui 5 tipos básicos de dados: char, int, float, double e void. Cada um com um tamanho (bytes de memória) e faixa de dados específico. Podendo variar de acordo com o tipo de processador. Além disso, existem os modificadores dos tipos de dados: signed, unsigned, log e short. Vaja a tabela a seguir.
Tipo Significado Tamanho em bytes Faixa
Char caractere 1 -127 a 127
Unsigned char caractere 1 0 a 255
Short int Inteiro curto 2 -32.767 a 32.767
Unsigned short int Inteiro curto 2 0 a 65.535
int inteiro 2 (processador 16 bits)
4 (processador 32 bits) -32.767 a 32.767
Unsigned int inteiro 2 (processador 16 bits)
4 (processador 32 bits) 0 a 65.535
Long int Inteiro longo 4 -2.147.483.648 a 2.147.483.647
Unsigned long int Inteiro longo 4 0 a 4.294.967.295
Float flutuante 4 3.4*10-38 a 3.4*1038
Double Flutuante duplo 8 1.7*10-308 a 1.7*10308
Long double Flutuante duplo longo 10 3.4*10-4932 a 3.4*104932
Todos os dados que são manipulados em programas, são armazenados temporariamente na memória do computador. Este ato de reservar o espaço de memória para armazenar um determinado tipo de dado é denominado: Declaração de Variável. Ou seja, "Variável" é a nomenclatura de um espaço de memória. Somente podemos trabalhar com o dado se ele estiver armazenado em uma variável. A declaração da variável segue uma sintaxe: [tipo da variável] [nome da variável] [ponto e vírgula].
Ex. 1: char a;
Neste exemplo, está sendo declarada uma variável de nome "a" do tipo "char" (caractere). Esta variável somente poderá receber dados do tipo "caractere", como as letras 'd' e 'w' ou caracteres especiais '$' e '@' ou caracteres como '3' e '7'. Só que no caso de números eles serão tratados como caracteres, não sendo possível realizar cálculos matemáticos com eles.
Ex. 2: int teste, rua, num;
Neste outro exemplo, estão sendo declaradas 3 variáveis do tipo inteiro (teste, rua e num), somente poderão receber números. Quando queremos declarar mais de uma variável de um mesmo tipo, separamos os nomes por vírgula ','.
Variáveis locais, são variáveis que foram declaradas dentro de um bloco de comando (entre um abre e um fecha chaves "{ }" ). Neste caso, estas variáveis somente existem dentro deste bloco, não podendo ser acessadas em outros blocos que não estejam dentro deste. Detalhe, podemos ter variáveis diferentes, com o mesmo nome, em blocos diferentes.
Neste exemplo, a variável "x" foi declarada dentro do bloco "main", mas fora do bloco do "if", que não por acaso está dentro do "main". Então o "x" pode ser utilizado dentro do bloco do "if". Observem que a variável "y" foi declarada dentro do bloco do "if", neste caso ele somente existe dentro deste bloco e não fora dele.
Esta rotina exemplo vai funcionar normalmente e o "print" que está dentro do bloco "if", vai apresentar os valores das duas variáveis (x e y). No entanto, se tirarmos o comentário do segundo print (que está fora do if), o programa vai apresentar erro, informando que a variável "y" não existe. Quando o bloco é encerrado, as variáveis declaradas dentro dele deixam de existir na memória.
Variáveis globais, são variáveis declaradas fora do "main" e de qualquer outra função. Neste caso, estas variáveis existem e podem ser acessadas em qualquer local do programa.
Constante é uma característica que podemos atribuir as variáveis. Quando informamos, na declaração, que uma variável será constante e receberá determinado valor, esta não podem ser alterada durante a execução do programa. A rotina a seguir, demonstra a criação de uma variável constante, no caso "x". O que ocorre quando executamos esta rotina?
Estática é outra característica que podemos atribuir as variáveis. Quando informamos na declaração que uma variável será estática, significa que o espaço de memória reservado para esta variável será permanente durante toda a execução do programa. Deste modo, a cada chamada da função a variável ocupará o mesmo espaço, podendo compartilhar o valor armazenado entre as funções. Veremos mais sobre isso quando discutirmos função.
Em C temos diferentes operadores que serão utilizados constantemente nas rotinas de programação.
% Módulo da divisão (resto)
&& AND – E
|| OR – OU
! NOT - NÃO
& A frente de uma variável, é possível obter seu endereço de memória.
* A frente de uma variável na declaração, no momento de sua declaração, torna a variável tipo "ponteiro". Veremos a mais a frente.
Exercícios com Variáveis
1) Faça um programa que calcule e mostre a área de um triângulo. Sabe-se que a área é a base vezes a altura dividido por 2.
2) Dado as seguintes informações de um funcionário: Nome, idade cargo e o seu salário bruto considere:
c) Do salário total é descontado 15%.
d) Faça um algoritmo para:
e) Imprimir Nome, idade e cargo.
f) Imprimir o salário bruto.
g) Imprimir o salário líquido.
3) O custo ao consumidor de um carro novo é a soma do preço de fábrica com o percentual de lucro do distribuidor e dos impostos aplicados ao preço de fábrica. Faça um programa que receba o preço de fábrica de um veículo, o percentual de lucro do distribuidor e o percentual de impostos. Calcule:
a) O valor correspondente ao lucro do distribuidor.
b) O valor correspondente aos impostos.
4) Elabore um algoritmo que a partir da leitura do preço total de uma compra calcule o preço à vista com 10% de desconto, calcule o valor a ser pago com uma entrada e mais duas parcelas iguais sem o desconto.
5) Elabore um algoritmo, que leia o valor de um produto fornecido por um usuário e calcule o desconto para pagamento à vista, que é de 10%. Apresentar o resultado.
6) Elaborar um algoritmo para calcular e escrever a soma de dois números fornecidos.
7) Elabore um algoritmo que calcule a hipotenusa de um triângulo retângulo a partir da entrada dos valores dos catetos.
8) Faça um algoritmo que receba o salário de um funcionário, calcule e mostre o novo salário, sabendo-se que este sofreu um aumento de 25%.
9) Faça um algoritmo que calcule a média aritmética de 4 valores inteiros.
10) Elaborar um algoritmo que calcule a média final de um aluno de acordo com a entrada de suas duas notas bimestrais.
11) Faça um algoritmo para ler a base e a altura de um triângulo. Em seguida, escreva a área do mesmo.
12) Uma empresa tem para um determinado funcionário uma ficha contendo o nome, número de horas trabalhadas e o nº de dependentes. Considerando que: a) A empresa paga 12 reais por hora e 40 reais por dependentes; b) Sobre o salário são feitos descontos de 8,5% para o INSS e 5% para IR. Faça um algoritmo para ler o Nome, número de horas trabalhadas e número de dependentes de um funcionário. Após a leitura, escreva qual o Nome, salário bruto, os valores descontados para cada tipo de imposto e finalmente qual o salário líquido do funcionário.
13) Sabe-se que o quilowatt de energia custa um quinto do salário mínimo. Faça um programa que receba o valor do salário mínimo e a quantidade de quilowatts consumida por uma residência. Calcule e mostre: