1. Linguagem de Programação Estruturada (C)
Prof. Ramon Mayor Martins , M.Sc. Eng.
mayor@linuxmail.org
Parte 2
São José – 2015 – 2
IES - Instituto de Ensino Superior da Grande Florianópolis
2. Circuitos Digitais
PLANO DE ENSINO
IV – CONTEÚDO PROGRAMÁTICO
• MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
• MÓDULO 2: CONCEITO DE VARIÁVEL
3. Circuitos Digitais
PLANO DE ENSINO
IV – CONTEÚDO PROGRAMÁTICO
• MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
• MÓDULO 2: CONCEITO DE VARIÁVEL
o Tipos de Dados
o Variáveis
o Saída de Dados
o Caracteres de Controle
o Constantes
o Entrada de Dados
o Expressões
o Operadores matemáticos
o Operadores de atribuição
o Precedência dos Operadores
4. Circuitos Digitais
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o Tipos de Dados
Em Linguagem C é possível representar dois modos de tipos de dados:
Números : inteiros (int) ou reais, ou seja, com vírgulas (float).
Ponteiros (pointer): usados para armazenar o endereço de outros dados, eles "apontam" para outro
dado.
5. Circuitos Digitais
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o Tipos de Dados
Os dados podem assumir cinco tipos básicos em C que são:
•char: Caracter: O valor armazenado é um caractere. Caracateres geralmente são armazenados em
códigos (usualmente o código ASCII).
•int: Número inteiro é o tipo padrão e o tamanho do conjunto que pode ser representado normalmente
depende da máquina em que o programa está rodando.
•float: Número em ponto flutuante de precisão simples. São conhecidos normalmente como números
reais.
•double: Número em ponto flutuante de precisão dupla
•void: Este tipo serve para indicar que um resultado não tem um tipo definido. Uma das aplicações deste
tipo em C é criar um tipo vazio que pode posteriormente ser modificado para um dos tipos anteriores
6. Circuitos Digitais
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o Tipos de Dados - Modificadores
Modificadores podem ser aplicados a estes tipos.
Estes modificadores são palavras que alteram o tamanho do conjunto de valores que o tipo pode
representar.
Por exemplo, um modificador permite que possam ser armazenados números inteiros maiores.
Um outro modificador obriga que só números sem sinal possam ser armazenados pela variável.
Deste modo não é necessário guardar o bit de sinal do número e somente números positivos são
armazenados. O resultado prático é que o conjunto praticamente dobra de tamanho.
A Tabela abaixo mostra todos os tipos básicos definidos no padrão ANSI.
8. Circuitos Digitais
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o Tipos de Dados – Representação dos Dados
O padrão IEEE para aritmética de ponto flutuante (IEEE 754) é o padrão mais amplamente
utilizado para o cálculo de ponto flutuante.
A Norma IEEE 754-2008 define os formatos adequados para representar números em ponto
flutuante de precisão simples (32 bits) e de precisão dupla (64 bits).
9. Circuitos Digitais
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o Tipos de Dados
Número inteiro (int)
Um número inteiro é um número sem vírgula, que pode ser expresso em diferentes bases:
• Base decimal: o número inteiro é representado por uma sequência de unidades (de 0 a 9),
que não deve começar com o dígito 0.
• Base hexadecimal: o número inteiro é representado por uma sequência de unidades (de 0 a
9 ou de A a F (ou de a a f)), que deve começar com 0x ou 0X.
• Base octal: o número inteiro é representado por uma sequência de unidades (incluindo
apenas os dígitos de 0 a 7), que deve começar com 0.
Os inteiros ão assinados por padrão, o que significa que eles têm um sinal.
10. Circuitos Digitais
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o Tipos de Dados
Número com vírgula (float)
Um número com vírgula flutuante é um número com vírgula, porém, ele pode ser representado
de várias maneiras:
um inteiro decimal : 895
um número com um ponto (e não uma vírgula) : 845.32
uma fração: 27/11
um número exponencial, ou seja, um número (possivelmente com vírgula) seguido da
letra e(ou E) e de um inteiro correspondente à potência de 10 (assinado ou não, isto é,
precedido por um "+" ou um "-"):
2.75e-2
35.8E+10
.25e-2
11. Circuitos Digitais
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o Tipos de Dados
Número com vírgula (float)
Os números do tipo float são codificados em 32 bits, incluindo:
23 bits para a mantissa
8 bits para o expoente
1 bit para o sinal
12. Circuitos Digitais
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o Tipos de Dados
Número com vírgula (float)
Os números do tipo duplo são codificados em 64 bits, incluindo:
52 bits para a mantissa
11 bits para o expoente
1 bit para o sinal
13. Circuitos Digitais
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o Tipos de Dados
Número com vírgula (float)
Os números do tipo longo duplo são codificados em 80 bits, incluindo:
64 bits para a mantissa
15 bits para o expoente
1 bit para o sinal
14. Circuitos Digitais
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o Tipos de Dados
Número com vírgula (float)
A precisão dos números reais é aproximada. Ela depende do número de casas decimais;
dependendo do tipo de real, ela será no mínimo:
de 6 números para o tipo float
de 15 números para o tipo double
de 17 números para o tipo long double
15. Circuitos Digitais
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o Tipos de Dados
Caractere (char)
O tipo char (do inglês character) armazena o valor ASCII de um caractere, ou seja, um número
inteiro!
Por padrão, os números são assinados, isso significa que eles têm um sinal.
Para armazenar informações sobre o sinal (em binário), os computadores usam o complemento
de dois. (obs: o complemento de 1 simplesmente vai inverter os bits.)
16. Circuitos Digitais
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o Tipos de Dados
Caractere (char)
na memória, o valor que codifica o caractere – ASCII ( American Standard Code for Information
Interchange; "Código Padrão Americano para o Intercâmbio de Informação“)
17. Circuitos Digitais
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o Tipos de Dados
Caractere (char)
#include <stdio.h>
int main(void)
{
int i;
for (i = 32; i <= 126; i++)
{
printf("%c [%d]n", i, i);
}
return 0;
}