apostila 2pp

apostila 2pp

(Parte 2 de 15)

• Quando se escreve código usando nomes de variáveis em português, evita-se possíveis conflitos com nomes de rotinas encontrados nas diversas bibliotecas, que são em sua maioria absoluta, palavras em inglês.

Os Tipos do C++ O C tem 6 tipos básicos: char, int, float, void, double e bool.

char - O tipo char ocupa 1 byte, e serve para armazenar caracteres ou inteiros que caibam em um byte. Isso significa que o programa reserva um espaço de 8 bits na memória RAM do computador para armazenar um valor (bytes de tamanho maior que 8 bits são permitidos pela linguagem, mas são raros). Com vetores do tipo char é possível armazenar strings, que são cadeias de caracteres.

int - O tipo de dados int (inteiro) serve para armazenar valores numéricos inteiros. Existem vários tipos de inteiros, cada um de um tamanho diferente (dependendo do Sistema Operacional).

float - O tipo de dados float serve para armazenar números de ponto flutuante, ou seja, com casas decimais.

void é o tipo vazio, ou um "tipo sem tipo". A aplicação deste "tipo" será vista posteriormente.

double - O tipo de dados double serve para armazenar números de ponto flutuante de dupla precisão, tem o dobro do tamanho do float e portanto o dobro da capacidade.

bool - Armazena apenas 2 valores: true (verdadeiro) ou false (false).

Para cada um dos tipos de variáveis existem os modificadores de tipo. Os modificadores de tipo do C são quatro: signed, unsigned, long e short. Ao float e bool não se podem aplicar nenhum e ao double pode-se aplicar apenas o long.

Os quatro modificadores podem ser aplicados a inteiros. A intenção é que short e long devam prover tamanhos diferentes de inteiros onde isto for prático. Inteiros menores (short) ou maiores (long). int normalmente terá o tamanho natural para uma determinada máquina. Assim, numa máquina de 16 bits, int provavelmente terá 16 bits. Numa máquina de 32, int deverá ter 32 bits. Na verdade, cada compilador é livre para escolher tamanhos adequados para o seu próprio hardware, com a única restrição de que shorts ints e ints devem ocupar pelo menos 16 bits, longs ints pelo menos 32 bits, e short int não pode ser maior que int, que não pode ser maior que long int. O modificador unsigned serve para especificar variáveis sem sinal. Um unsigned int será um inteiro que assumirá apenas valores positivos.

A seguir estão listados os tipos de dados permitidos e seu valores máximos e mínimos em um compilador típico para um hardware de 32 bits.

Tipo Num de bits Intervalo

O tipo long double é o tipo de ponto flutuante com maior precisão. É importante observar que os intervalos de ponto flutuante, na tabela acima, estão indicados em faixa de expoente, mas os números podem assumir valores tanto positivos quanto negativos.

Declaração e Inicialização de Variáveis

As variáveis no C devem ser declaradas antes de serem usadas. A forma geral da declaração de variáveis é:

tipo_da_variável lista_de_variáveis;

As variáveis da lista de variáveis terão todas o mesmo tipo e deverão ser separadas por vírgula. Como o tipo default do C é o int, quando vamos declarar variáveis int com algum dos modificadores de tipo, basta colocar o nome do modificador de tipo. Assim um long basta para declarar um long int.

Por exemplo, as declarações char ch, letra; long count; float pi; declaram duas variáveis do tipo char (ch e letra), uma variavel long int (count) e um float pi.

Há três lugares nos quais podemos declarar variáveis. O primeiro é fora de todas as funções do programa. Estas variáveis são chamadas variáveis globais e podem ser usadas a partir de qualquer lugar no programa. Pode-se dizer que, como elas estão fora de todas as funções, todas as funções as vêem. O segundo lugar no qual se pode declarar variáveis é dentro de um bloco de código. Estas variáveis são chamadas locais e só têm validade dentro do bloco no qual são declaradas, isto é, só a função à qual ela pertence sabe da existência desta variável, dentro do bloco no qual foram declaradas. O terceiro lugar onde se pode declarar variáveis é na lista de parâmetros de uma função. Mais uma vez, apesar de estas variáveis receberem valores externos, estas variáveis são conhecidas apenas pela função onde são declaradas.

Veja o programa abaixo:

#include <stdlib.h> #include <iostream> using namespace std; int contador; int func1(int j) { // aqui viria o código da funcao } int main() {

// etc

char condicao; int i; for (i=0; i<100; i=i+1) { /* Bloco do for */ float f2; func1(i); }

// etc

system("pause"); return(0); }

A variável contador é uma variável global, e é acessível de qualquer parte do programa.

As variáveis condição e i, só existem dentro de main(), isto é são variáveis locais de main. A variável float f2 é um exemplo de uma variável de bloco, isto é, ela somente é conhecida dentro do bloco do for, pertencente à função main. A variável inteira j é um exemplo de declaração na lista de parâmetros de uma função (a função func1).

As regras que regem onde uma variável é válida chamam-se regras de escopo da variável. Há mais dois detalhes que devem ser ressaltados. Duas variáveis globais não podem ter o mesmo nome. O mesmo vale para duas variáveis locais de uma mesma função. Já duas variáveis locais, de funções diferentes, podem ter o mesmo nome sem perigo algum de conflito.

Podemos inicializar variáveis no momento de sua declaração. Para fazer isto podemos usar a forma geral tipo_da_variável nome_da_variável = constante;

Isto é importante pois quando o C cria uma variável ele não a inicializa. Isto significa que até que um primeiro valor seja atribuído à nova variável ela tem um valor indefinido e que não pode ser utilizado para nada. Nunca presuma que uma variável declarada vale zero ou qualquer outro valor. Exemplos de inicialização são dados abaixo :

char ch='D'; int count=0; float pi=3.141;

Veja como você está:

Declare outras 5 variáveis inteiras locais ao programa principal e atribua os valores 20, 30,,

Escreva um programa que declare uma variável inteira global e atribua o valor 10 a ela. 60 a elas. Declare 6 variáveis caracteres e atribua a elas as letras c, o, e, l, h, a . Finalmente, o programa deverá imprimir, usando todas as variáveis declaradas:

As variáveis inteiras contem os números: 10,20,30,40,50,60 O animal contido nas variáveis caracteres e' a coelha

Constantes

ou 'n', etc

Constantes são valores que são mantidos fixos pelo compilador. Já usamos constantes neste curso. São consideradas constantes, por exemplo, os números e caracteres como 45.65 - Constantes dos tipos básicos

Abaixo vemos as constantes relativas aos tipos básicos do C:

- Constantes hexadecimais e octais

Muitas vezes precisamos inserir constantes hexadecimais (base dezesseis) ou octais (base oito) no nosso programa. O C permite que se faça isto. As constantes hexadecimais começam com 0x. As constantes octais começam em 0.

Alguns exemplos:

Constante Tipo

0xEF Constante Hexadecimal (8 bits) 0x12A4 Constante Hexadecimal (16 bits) 03212 Constante Octal (12 bits) 034215432 Constante Octal (24 bits)

Nunca escreva portanto 013 achando que o C vai compilar isto como se fosse 13. Na linguagem C 013 é diferente de 13!

- Constantes strings

Já mostramos como o C trata strings. Vamos agora alertar para o fato de que uma string "Joao" é na realidade uma constante string. Isto implica, por exemplo, no fato de que 't' é diferente de "t", pois 't' é um char enquanto que "t" é uma constante string com dois chars onde o primeiro é 't' e o segundo é '\0'.

- Constantes de barra invertida

O C utiliza, para nos facilitar a tarefa de programar, vários códigos chamados códigos de barra invertida. Estes são caracteres que podem ser usados como qualquer outro. Uma lista com alguns dos códigos de barra invertida é dada a seguir:

Código Significado \b Retrocesso ("back")

\f Alimentação de formulário ("form feed")

\n Nova linha ("new line")

\t Tabulação horizontal ("tab")

\" Aspas

\' Apóstrofo

\0Nulo (0 em decimal)

\\ Barra invertida

(Parte 2 de 15)

Comentários