Buscar

Aula 3 Material_de_apoio_ee_pc1_a03

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

Engenharia Elétrica
Programação de Computadores I - Aula 3
(atualizada em 06ago2013)
glaucius@pelotas.ifsul.edu.br
Tipos de variáveis
TABELA DE TIPOS ­ Linguagem C
Tipo Num de bits
Formato para leitura
com scanf
Intervalo
Inicio Fim
char 8 %c ­128 127
unsigned char 8 %c 0 255
int 16 %d   ou   %i ­32768 32767
unsigned int 16 %u 0 65535
long int 32 %li ­2147483648 2147483647
unsigned long int 32 %lu 0 4294967295
float 32 %f ­3.4E+38 3.4E+38
double 64 %lf ­1.7E+308 1.7E+308
long double 80 %Lf ­3.4E+4932 3.4E+4932
A linguagem C tem um sistema de tipos semelhante ao de alguns descendentes da linguagem Algol,
tais como Pascal. Possui tipos para números inteiros de vários tamanhos com e sem sinal, números
de ponto flutuante, caracteres e estruturas (structs). C usa extensivamente ponteiros, um tipo muito
simples de referência que guarda o endereço de memória da variável. 
O ponteiro pode ser referenciado, uma operação que busca o objecto que se encontra na morada da
memória que o ponteiro possui,  morada essa que pode ser manipulada através de aritmética de
ponteiros.
Durante  o   tempo  de  execução,  o  ponteiro  é   simplesmente  uma  morada  de  máquina   tais   como
aquelas manipuladas em  assembly,  mas em tempo de compilação possui  um tipo complexo que
indica o  tipo do objecto para onde ele aponta, permitindo que se verifique o tipo de expressões,
incluindo ponteiros. 
Os ponteiros são usados extensivamente em C.  O  tipo  linha de texto  de C é  simplesmente um
ponteiro para uma matriz de caracteres e alocação dinâmica de memória, descrita abaixo, é efetuada
através de ponteiros.
Os ponteiros em C possuem um valor reservado especial, NULL, que indica que não estão a apontar
para uma morada. 
INSTITUTO FEDERAL SUL-RIO-GRANDENSE Engenharia Elétrica
Programação de Computadores I - Aula 3 – Prof. Glaucius Décio Duarte Página 1
O uso desse valor como morada é muito útil na construção de várias estruturas de dados, mas causa
comportamento não­definido (possivelmente uma falha de sistema) ao ser referenciado. 
Um ponteiro que possui o valor NULL é chamado ponteiro nulo. A linguagem C também fornece um
tipo especial de ponteiros, o ponteiro vazio , que se traduz num ponteiro que aponta para um objecto
de tipo desconhecido.
A linguagem C também tem apoio a nível de linguagem para disposições estáticas (de dimensão fixa)
de  tipos.  As disposições de  tipos podem parecer   ter  mais  que uma dimensão apesar  de serem
tecnicamente disposições de disposições de tipos. 
O acesso a disposições de tipos é feito através de ponteiros e aritmética de ponteiros; o nome da
disposição é tratado como se fosse um ponteiro que aponta para o início da disposição. Em certas
aplicações não é razoável usarem­se disposições de tipos de dimensão fixa e por isso a alocação
dinâmica de memória pode ser usada para criar disposições de tipos de dimensão variável. .
Como a linguagem C é regularmente usada em programação de baixo­nível de sistemas, há casos
em que é  necessário  tratar  um número  inteiro como sendo uma memória,  um número de ponto
flutuante como sendo um número inteiro ou um tipo de ponteiro como sendo outro. 
Para   estes   casos,   a   linguagem  C   fornece   a   capacidade   de   "moldagem"   (também denominado
"conversão de tipo" ou  casting), uma operação que, caso seja possível, força a conversão de um
objecto de um tipo para outro. 
Apesar  de   ser   por   vezes  necessário,   o   uso  de   conversões  de   tipo   sacrifica   alguma  segurança
oferecida pelo sistema de tipos.
int
O tipo de dados int (inteiro) serve para armazenar valores numéricos inteiros. Existem vários tipo de
inteiros, cada um de um tamanho diferente:
* int, pode possuir 16, ou 32 bits, dependendo se o processador é de 16 ou 32 bits.
* short int, possui tamanho de 16 bits
* long int, possui tamanho de 32 bits
Um int pode ser por defeito um long int ou um short int dependendo da plataforma onde está a correr.
Todos estes tipos de inteiros podem ainda ser declarados precedidos da cláusula unsigned, o que faz
com que só  suporte números positivos.   Isto  faz com que, com o mesmo  tamanho, uma variável
suporte mais números positivos do que um signed (todos os inteiros são signed por defeito).
char
O tipo char ocupa 1 byte, e serve para armazenar caracteres. Isso significa que o programa reserva
um espaço de 8 bits na memória RAM do computador para armazenar um valor. Com o tipo char é
também possível armazenar strings, que são cadeias de caracteres.
INSTITUTO FEDERAL SUL-RIO-GRANDENSE Engenharia Elétrica
Programação de Computadores I - Aula 3 – Prof. Glaucius Décio Duarte Página 2
float
O  tipo   de   dados   float   serve   para   armazenar   números   de   ponto   flutuante,   ou   seja,   com   casas
decimais.
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.
Fonte: Wikipedia
INSTITUTO FEDERAL SUL-RIO-GRANDENSE Engenharia Elétrica
Programação de Computadores I - Aula 3 – Prof. Glaucius Décio Duarte Página 3

Outros materiais