SlideShare uma empresa Scribd logo
1 de 21
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
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
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
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.
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
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.
Circuitos Digitais
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o Tipos de Dados
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).
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.
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
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
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
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
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
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.)
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“)
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;
}
Circuitos Digitais
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o Tipos de Dados
Circuitos Digitais
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o Declaração- Constante
Circuitos Digitais
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o Declaração - Constantes
Circuitos Digitais
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o Declaração - Variáveis

Mais conteúdo relacionado

Destaque

{rr} By The Numbers
{rr} By The Numbers{rr} By The Numbers
{rr} By The Numbersjcolleton
 
Developing an Arabic Language MOOCs: Strategies and Challenges
Developing an Arabic Language MOOCs: Strategies and ChallengesDeveloping an Arabic Language MOOCs: Strategies and Challenges
Developing an Arabic Language MOOCs: Strategies and ChallengesNurkhamimi Zainuddin
 
فقه شافعي - تيسير الإقناع 3 ث ترم أول علمي وادبي 2016
فقه شافعي - تيسير الإقناع 3 ث ترم أول علمي وادبي 2016فقه شافعي - تيسير الإقناع 3 ث ترم أول علمي وادبي 2016
فقه شافعي - تيسير الإقناع 3 ث ترم أول علمي وادبي 2016ThanawyaHome
 
Think You Know Everything About Deliverability?
Think You Know Everything About Deliverability?Think You Know Everything About Deliverability?
Think You Know Everything About Deliverability?SparkPost
 
Lifi presentation
Lifi presentationLifi presentation
Lifi presentationvarunvenky0
 
P1 open house 2016 auditorium presentation 26 march2016
P1 open house 2016   auditorium presentation 26 march2016P1 open house 2016   auditorium presentation 26 march2016
P1 open house 2016 auditorium presentation 26 march2016noorishamirsyad
 
UNH-IOL Internet of Things (IoT) IP Testing Service
UNH-IOL Internet of Things (IoT) IP Testing ServiceUNH-IOL Internet of Things (IoT) IP Testing Service
UNH-IOL Internet of Things (IoT) IP Testing ServiceUNH InterOperability Lab
 
Circuitos Aritmeticos
Circuitos AritmeticosCircuitos Aritmeticos
Circuitos Aritmeticostarcisioti
 
2 علامات إعراب الأفعال الخمسة نشاطات التعلم
2  علامات إعراب الأفعال الخمسة نشاطات التعلم 2  علامات إعراب الأفعال الخمسة نشاطات التعلم
2 علامات إعراب الأفعال الخمسة نشاطات التعلم Top4Design
 

Destaque (14)

{rr} By The Numbers
{rr} By The Numbers{rr} By The Numbers
{rr} By The Numbers
 
Developing an Arabic Language MOOCs: Strategies and Challenges
Developing an Arabic Language MOOCs: Strategies and ChallengesDeveloping an Arabic Language MOOCs: Strategies and Challenges
Developing an Arabic Language MOOCs: Strategies and Challenges
 
فقه شافعي - تيسير الإقناع 3 ث ترم أول علمي وادبي 2016
فقه شافعي - تيسير الإقناع 3 ث ترم أول علمي وادبي 2016فقه شافعي - تيسير الإقناع 3 ث ترم أول علمي وادبي 2016
فقه شافعي - تيسير الإقناع 3 ث ترم أول علمي وادبي 2016
 
Think You Know Everything About Deliverability?
Think You Know Everything About Deliverability?Think You Know Everything About Deliverability?
Think You Know Everything About Deliverability?
 
AK Umweltinvest GmbH
AK Umweltinvest GmbHAK Umweltinvest GmbH
AK Umweltinvest GmbH
 
Shellscript
ShellscriptShellscript
Shellscript
 
Lifi presentation
Lifi presentationLifi presentation
Lifi presentation
 
Mohamed Mostafa Mtloob 02-2016
Mohamed Mostafa Mtloob 02-2016Mohamed Mostafa Mtloob 02-2016
Mohamed Mostafa Mtloob 02-2016
 
LIFI
LIFILIFI
LIFI
 
P1 open house 2016 auditorium presentation 26 march2016
P1 open house 2016   auditorium presentation 26 march2016P1 open house 2016   auditorium presentation 26 march2016
P1 open house 2016 auditorium presentation 26 march2016
 
UNH-IOL Internet of Things (IoT) IP Testing Service
UNH-IOL Internet of Things (IoT) IP Testing ServiceUNH-IOL Internet of Things (IoT) IP Testing Service
UNH-IOL Internet of Things (IoT) IP Testing Service
 
Circuitos Aritmeticos
Circuitos AritmeticosCircuitos Aritmeticos
Circuitos Aritmeticos
 
2 علامات إعراب الأفعال الخمسة نشاطات التعلم
2  علامات إعراب الأفعال الخمسة نشاطات التعلم 2  علامات إعراب الأفعال الخمسة نشاطات التعلم
2 علامات إعراب الأفعال الخمسة نشاطات التعلم
 
Kelas Reptilia
Kelas ReptiliaKelas Reptilia
Kelas Reptilia
 

Semelhante a Linguagem C: Conceitos Básicos

Aula02 - Sistemas Numéricos computacionais
Aula02 - Sistemas Numéricos computacionaisAula02 - Sistemas Numéricos computacionais
Aula02 - Sistemas Numéricos computacionaisJorge Ávila Miranda
 
Introducao Computacao Slide 2
Introducao Computacao Slide 2Introducao Computacao Slide 2
Introducao Computacao Slide 2Duílio Andrade
 
Apresentação circuitos digitais resumida
 Apresentação circuitos digitais resumida Apresentação circuitos digitais resumida
Apresentação circuitos digitais resumidaMarcioRodrigues173060
 
Apostila eletronica digital
Apostila   eletronica digitalApostila   eletronica digital
Apostila eletronica digitalArpus Supra
 
A Informação E Dados.pptx
A Informação E Dados.pptxA Informação E Dados.pptx
A Informação E Dados.pptxPatrícia Melo
 
Apostila eletronica digital
Apostila   eletronica digitalApostila   eletronica digital
Apostila eletronica digital36wa
 
Aula 04 isc - a informação e sua representação
Aula 04   isc - a informação e sua representaçãoAula 04   isc - a informação e sua representação
Aula 04 isc - a informação e sua representaçãoFábio Andrade
 
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...Patrícia Melo
 
Henriquecristovao manual c-cpp
Henriquecristovao manual c-cppHenriquecristovao manual c-cpp
Henriquecristovao manual c-cppRUI VIEIRA
 
Sistemas digitais - Sistemas de Numeração
Sistemas digitais - Sistemas de NumeraçãoSistemas digitais - Sistemas de Numeração
Sistemas digitais - Sistemas de NumeraçãoCarlos Pereira
 
Unidades de Informacao, Sistemas Numericos
Unidades de Informacao, Sistemas NumericosUnidades de Informacao, Sistemas Numericos
Unidades de Informacao, Sistemas NumericosArthur Emanuel
 
Eletrônica digital (introdução aos sistemas digitais)
Eletrônica digital (introdução aos sistemas digitais)Eletrônica digital (introdução aos sistemas digitais)
Eletrônica digital (introdução aos sistemas digitais)val10z
 
AULA_02_-_SISTEMA_DE_NUMERACAO2023/2.pdf
AULA_02_-_SISTEMA_DE_NUMERACAO2023/2.pdfAULA_02_-_SISTEMA_DE_NUMERACAO2023/2.pdf
AULA_02_-_SISTEMA_DE_NUMERACAO2023/2.pdfhistonfilho
 

Semelhante a Linguagem C: Conceitos Básicos (20)

Sistemas de numeração
Sistemas de numeraçãoSistemas de numeração
Sistemas de numeração
 
Aula02 - Sistemas Numéricos computacionais
Aula02 - Sistemas Numéricos computacionaisAula02 - Sistemas Numéricos computacionais
Aula02 - Sistemas Numéricos computacionais
 
Sistemas Digitais Aula 29-08-2018
Sistemas Digitais Aula 29-08-2018Sistemas Digitais Aula 29-08-2018
Sistemas Digitais Aula 29-08-2018
 
Introducao Computacao Slide 2
Introducao Computacao Slide 2Introducao Computacao Slide 2
Introducao Computacao Slide 2
 
Ic na06
Ic na06Ic na06
Ic na06
 
Apresentação circuitos digitais resumida
 Apresentação circuitos digitais resumida Apresentação circuitos digitais resumida
Apresentação circuitos digitais resumida
 
Aula 04
Aula 04Aula 04
Aula 04
 
Apostila eletronica digital
Apostila   eletronica digitalApostila   eletronica digital
Apostila eletronica digital
 
Lp m2(parte3)
Lp m2(parte3)Lp m2(parte3)
Lp m2(parte3)
 
A Informação E Dados.pptx
A Informação E Dados.pptxA Informação E Dados.pptx
A Informação E Dados.pptx
 
Apostila eletronica digital
Apostila   eletronica digitalApostila   eletronica digital
Apostila eletronica digital
 
Linguagem_C.pdf
Linguagem_C.pdfLinguagem_C.pdf
Linguagem_C.pdf
 
Aula 04 isc - a informação e sua representação
Aula 04   isc - a informação e sua representaçãoAula 04   isc - a informação e sua representação
Aula 04 isc - a informação e sua representação
 
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
 
Henriquecristovao manual c-cpp
Henriquecristovao manual c-cppHenriquecristovao manual c-cpp
Henriquecristovao manual c-cpp
 
Sistemas digitais - Sistemas de Numeração
Sistemas digitais - Sistemas de NumeraçãoSistemas digitais - Sistemas de Numeração
Sistemas digitais - Sistemas de Numeração
 
Unidades de Informacao, Sistemas Numericos
Unidades de Informacao, Sistemas NumericosUnidades de Informacao, Sistemas Numericos
Unidades de Informacao, Sistemas Numericos
 
Eletrônica digital (introdução aos sistemas digitais)
Eletrônica digital (introdução aos sistemas digitais)Eletrônica digital (introdução aos sistemas digitais)
Eletrônica digital (introdução aos sistemas digitais)
 
Algoritmos: Tipos de Dados
Algoritmos: Tipos de DadosAlgoritmos: Tipos de Dados
Algoritmos: Tipos de Dados
 
AULA_02_-_SISTEMA_DE_NUMERACAO2023/2.pdf
AULA_02_-_SISTEMA_DE_NUMERACAO2023/2.pdfAULA_02_-_SISTEMA_DE_NUMERACAO2023/2.pdf
AULA_02_-_SISTEMA_DE_NUMERACAO2023/2.pdf
 

Mais de Ramon Mayor Martins

IES GF Circuitos Digitais Parte 3
IES GF Circuitos Digitais Parte 3IES GF Circuitos Digitais Parte 3
IES GF Circuitos Digitais Parte 3Ramon Mayor Martins
 
IES GF - Linguagem de Programação Estruturada - Parte 3
IES GF - Linguagem de Programação Estruturada - Parte 3 IES GF - Linguagem de Programação Estruturada - Parte 3
IES GF - Linguagem de Programação Estruturada - Parte 3 Ramon Mayor Martins
 
IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1Ramon Mayor Martins
 
IES GF - Circuitos Digitais - Parte 2
IES GF - Circuitos Digitais - Parte 2IES GF - Circuitos Digitais - Parte 2
IES GF - Circuitos Digitais - Parte 2Ramon Mayor Martins
 
IES GF - Circuitos Digitais - Parte 1
IES GF - Circuitos Digitais - Parte 1IES GF - Circuitos Digitais - Parte 1
IES GF - Circuitos Digitais - Parte 1Ramon Mayor Martins
 
IFSC SJ - Grupo de estudos em rádio definido por software
IFSC SJ - Grupo de estudos em rádio definido por softwareIFSC SJ - Grupo de estudos em rádio definido por software
IFSC SJ - Grupo de estudos em rádio definido por softwareRamon Mayor Martins
 
IES GF - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - P...
IES GF - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - P...IES GF - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - P...
IES GF - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - P...Ramon Mayor Martins
 
IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...
IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...
IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...Ramon Mayor Martins
 
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosIES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosRamon Mayor Martins
 
Nova geração de satélites brasileiros
Nova geração de satélites brasileirosNova geração de satélites brasileiros
Nova geração de satélites brasileirosRamon Mayor Martins
 
[Apresentação de Defesa] Análise comparativa entre os métodos HMM e GMM-UBM n...
[Apresentação de Defesa] Análise comparativa entre os métodos HMM e GMM-UBM n...[Apresentação de Defesa] Análise comparativa entre os métodos HMM e GMM-UBM n...
[Apresentação de Defesa] Análise comparativa entre os métodos HMM e GMM-UBM n...Ramon Mayor Martins
 
Implementação da técnica VTLN - Estudo dos métodos
Implementação da técnica VTLN - Estudo dos métodosImplementação da técnica VTLN - Estudo dos métodos
Implementação da técnica VTLN - Estudo dos métodosRamon Mayor Martins
 
Application of Neural Network for Sensing Primary Radio Signals in a Cognitiv...
Application of Neural Network for Sensing Primary Radio Signals in a Cognitiv...Application of Neural Network for Sensing Primary Radio Signals in a Cognitiv...
Application of Neural Network for Sensing Primary Radio Signals in a Cognitiv...Ramon Mayor Martins
 
Aplicações de Inteligência Artificial em Rádios Cognitivos
Aplicações de Inteligência Artificial em Rádios CognitivosAplicações de Inteligência Artificial em Rádios Cognitivos
Aplicações de Inteligência Artificial em Rádios CognitivosRamon Mayor Martins
 
Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage
Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e DamageRedes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage
Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e DamageRamon Mayor Martins
 

Mais de Ramon Mayor Martins (20)

[2.2]ifsc integrado rdt_2015_1
[2.2]ifsc integrado rdt_2015_1[2.2]ifsc integrado rdt_2015_1
[2.2]ifsc integrado rdt_2015_1
 
[1]ifsc integrado rdt_2015_2
[1]ifsc integrado rdt_2015_2[1]ifsc integrado rdt_2015_2
[1]ifsc integrado rdt_2015_2
 
IES GF Circuitos Digitais Parte 3
IES GF Circuitos Digitais Parte 3IES GF Circuitos Digitais Parte 3
IES GF Circuitos Digitais Parte 3
 
IES GF - Linguagem de Programação Estruturada - Parte 3
IES GF - Linguagem de Programação Estruturada - Parte 3 IES GF - Linguagem de Programação Estruturada - Parte 3
IES GF - Linguagem de Programação Estruturada - Parte 3
 
IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1
 
IES GF - Circuitos Digitais - Parte 2
IES GF - Circuitos Digitais - Parte 2IES GF - Circuitos Digitais - Parte 2
IES GF - Circuitos Digitais - Parte 2
 
IES GF - Circuitos Digitais - Parte 1
IES GF - Circuitos Digitais - Parte 1IES GF - Circuitos Digitais - Parte 1
IES GF - Circuitos Digitais - Parte 1
 
IFSC SJ - Grupo de estudos em rádio definido por software
IFSC SJ - Grupo de estudos em rádio definido por softwareIFSC SJ - Grupo de estudos em rádio definido por software
IFSC SJ - Grupo de estudos em rádio definido por software
 
IES GF - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - P...
IES GF - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - P...IES GF - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - P...
IES GF - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - P...
 
IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...
IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...
IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...
 
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosIES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
 
INATEL - Matlab introdução
INATEL - Matlab introduçãoINATEL - Matlab introdução
INATEL - Matlab introdução
 
Introdução ao matlab
Introdução ao matlabIntrodução ao matlab
Introdução ao matlab
 
Nova geração de satélites brasileiros
Nova geração de satélites brasileirosNova geração de satélites brasileiros
Nova geração de satélites brasileiros
 
[Apresentação de Defesa] Análise comparativa entre os métodos HMM e GMM-UBM n...
[Apresentação de Defesa] Análise comparativa entre os métodos HMM e GMM-UBM n...[Apresentação de Defesa] Análise comparativa entre os métodos HMM e GMM-UBM n...
[Apresentação de Defesa] Análise comparativa entre os métodos HMM e GMM-UBM n...
 
Implementação da técnica VTLN - Estudo dos métodos
Implementação da técnica VTLN - Estudo dos métodosImplementação da técnica VTLN - Estudo dos métodos
Implementação da técnica VTLN - Estudo dos métodos
 
Application of Neural Network for Sensing Primary Radio Signals in a Cognitiv...
Application of Neural Network for Sensing Primary Radio Signals in a Cognitiv...Application of Neural Network for Sensing Primary Radio Signals in a Cognitiv...
Application of Neural Network for Sensing Primary Radio Signals in a Cognitiv...
 
Aplicações de Inteligência Artificial em Rádios Cognitivos
Aplicações de Inteligência Artificial em Rádios CognitivosAplicações de Inteligência Artificial em Rádios Cognitivos
Aplicações de Inteligência Artificial em Rádios Cognitivos
 
Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage
Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e DamageRedes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage
Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage
 
Redes Oportunistas: Haggle
Redes Oportunistas: HaggleRedes Oportunistas: Haggle
Redes Oportunistas: Haggle
 

Linguagem C: Conceitos Básicos

  • 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.
  • 7. Circuitos Digitais MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C o Tipos de Dados
  • 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; }
  • 18. Circuitos Digitais MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C o Tipos de Dados
  • 19. Circuitos Digitais MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C o Declaração- Constante
  • 20. Circuitos Digitais MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C o Declaração - Constantes
  • 21. Circuitos Digitais MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C o Declaração - Variáveis