SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
Linguagem C
Resumo da linguagem C com foco em desenvolvimento para
microcontroladores PIC baseado na IDE MikroC for PIC
Por : Fábio B. de Souza
Porque usar linguagem C?
•Características:
•Estruturada;
•Alto nível (comparada ao Assembly);
•Facilidade de acesso ao hardware;
•Portabilidade;
•Curva de aprendizagem reduzida;
•Reutilização de código;
Estrutura básica de um programa em C para
microcontroladores
void main() {
//inicializações de hardware e software
while(1) //loop infinito
{
/*tarefas a serem executadas
pelo microcontrolador durante
o funcionamento */
}
}
Comentários
São Utilizados para:
◦ Documentação do software;
◦ Exclusão de linhas durante a compilação.
Comentários de linha simples:
//este é um comentário de linha simples
Comentários de Múltiplas linhas:
/*
este é um
comentário de
múltiplas linhas
*/
Representação numérica
• Decimal:
• valorDecimal = 125;
• Binário:
• PORTA=0b11010011;
• Hexadecimal:
• valor_hexa = 0xA4;
• Octal:
• valorOctal=075;
• Caracter:
• valorCarcter = ‘A’;
Tipos de Dados
TIPO RESPRESENTA
char caracteres
int inteiros
float e double
valores com casas decimais
(ponto flutuante)
void nulos
Modificadores de tipos
Modificador modificação
signed Sinalizado
Unsigned Não sinalizado
Short Inteiro menor que o padrão
Log Inteiro maior que o padrão
Tipos de dados no MikroC
Tipos inteiros:
TIPO Tamanho Range
bit 1–bit 0 or 1
sbit 1–bit 0 or 1
(unsigned) char 1 byte 0 .. 255
signed char 1 byte - 128 .. 127
(signed) short (int) 1 byte - 128 .. 127
unsigned short (int) 1 byte 0 .. 255
(signed) int 2 byte -32768 .. 32767
unsigned (int) 2 byte 0 .. 65535
(signed) long (int) 4 byte -2147483648 .. 2147483647
unsigned long (int) 4byte 0 .. 4294967295
Tipos de dados no MikroC
Tipo de ponto flutuante:
Tipo Tamanho Range
float 4 byte -1.5 * 1045 .. +3.4 * 1038
double 4 byte -1.5 * 1045 .. +3.4 * 1038
long double 4 byte -1.5 * 1045 .. +3.4 * 1038
Declaração de Variáveis
Um variável é declarada da seguinte forma:
<qualificador> + <tipo de dado> + <nome da variável> + <valor>;
Obs.: onde o valor pode ou não ser inicializado.
Exemplos:
unsigned int valor = 12345;
int contador;
short y;
Variável local
• É declarada dentro de um bloco de instruções, é só pode se acessada
dentro deste bloco.
• Exemplo:
int delay()
{
int valor1 =5;
int valor2 =7;
return(valor1+valor2)/2;
}
Variável global
• É declarada fora de bloco de função e pode ser acessada por todas as funções e blocos de instruções.
• Exemplo:
int valor1 =5;
int valor2 =7;
int media()
{
return(valor1+valor2)/2;
}
int soma()
{
return(valor1+valor2)/
}
Operadores Aritméticos
• Realizam operações matemáticas:
OPERADOR AÇÃO
+ Adição
- Subtração
* Multiplicação
/ Divisão
% Resto de divisão inteira
++ Incremento
-- Decremento
Operadores Relacionais
• Usados em testes condicionais para determinar relações entre dados.
OPERADOR AÇÃO
> Maior que
>= Maior ou igual que
< Menor que
<= Menor ou igual que
== Igual a
!= Diferente de
Operadores lógicos
• São usados para realizar testes booleanos entre elementos em um
teste condicional
OPERADOR AÇÃO
&& AND (E)
|| OR (OU)
! NOT (NÃO)
Operadores lógicos bit a bit
• São utilizados para operações lógicas entre elementos ou variáveis.
OPERADOR AÇÃO
& AND(E)
| OR(OU)
^ XOR (OU EXCLUSIVO)
~ NOT (NÃO)
>> Deslocamento à direita
<< Deslocamento à esquerda
Associação de operadores
• Abreviação entre a operação e atribuição
Forma expandida Forma reduzida
x = x + y x += y
x = x - y x -= y
x = x * y x *= y
x = x / y x /= y
x = x % y x %= y
x = x & y x &= y
x = x | y x |= y
x = x ^ y x ^= y
x = x << y x <<= y
x = x >> y x >>= y
if
• Utilizada para executar um comando ou bloco de comandos no caso
de uma determinada condição ser avaliada como verdadeira.
• Forma geral:
• if(condição) comando;
• Exemplo:
• if(temperatura < setPoint) RELE = 1;
if - else
• Utilizado quando há a necessidade de tomar uma ação caso a
condição for avaliada como falsa.
if (condição)
comandoA;
else
comandoB;
Exemplo:
if (temperatura < setpoint)
rele = 1;
else
rele = 0;
if - else
• Para executar um bloco de códigos dentro da declaração if- else:
if(condição)
{
comandoA1; //bloco de código para a condição verdadeira
comandoaA2;
...
comandoAn;
}
else
{
comandoB1; //bloco de código para a condição falsa
comandoB2;
...
comandoBn;
}
switch
• É utilizado para a realização de comparações sucessivas de uma forma elegante, clara e
eficiente.
switch(variável)
{
case constante1:
comandoA;
. . .
break;
case constante2:
comandoB;
. . .
break;
. . .
. . .
default:
comandoX;
}
for
 Forma geral:
for( inicialização;condição;incremento) comando;
Ou
for( inicialização;condição;incremento)
{
Comando1;
Comando2;
. . .
ComandoN;
}
onde:
• inicialização: essa seção conterá uma inicialização para a variável;
• condição: que interromperá o laço
• incremento: operação a cada iteração
while
• Repete um comando ou um conjunto de instruções enquanto uma
condição for avaliada como verdadeira.
• Forma geral:
while(condição)
{
comando1;
comando2;
...
comandoN;
}
do-while
• Este laço é uma variação do comando WHILE, sendo que neste caso o
comando será executado antes de testa se a condição é verdadeira.
• Forma geral:
do
{
comandoA;
comandoB;
...
comandoN;
} while (condição);

Más contenido relacionado

La actualidad más candente

Eletrotécnica Geral ( Teoria e exercícios resolvidos )
Eletrotécnica Geral ( Teoria e exercícios resolvidos )Eletrotécnica Geral ( Teoria e exercícios resolvidos )
Eletrotécnica Geral ( Teoria e exercícios resolvidos )Ricardo Akerman
 
Tabela De Pares De Transformadas De Laplace
Tabela De Pares De Transformadas De LaplaceTabela De Pares De Transformadas De Laplace
Tabela De Pares De Transformadas De LaplaceIury Zamecki Chemin
 
Curso de Operação em Subestação para LT_JAN-2023.pptx
Curso de Operação em Subestação para LT_JAN-2023.pptxCurso de Operação em Subestação para LT_JAN-2023.pptx
Curso de Operação em Subestação para LT_JAN-2023.pptxAlan539599
 
Criofrequência - A sinergia entre radiofrequência 1050w e frio -10 graus
Criofrequência - A sinergia entre radiofrequência 1050w e frio -10 grausCriofrequência - A sinergia entre radiofrequência 1050w e frio -10 graus
Criofrequência - A sinergia entre radiofrequência 1050w e frio -10 grausLupe Bello Cuerpo
 
Aula 09-calculo-termico
Aula 09-calculo-termicoAula 09-calculo-termico
Aula 09-calculo-termicoAlex Ferreira
 
Zoologia pronto tassi e paula
Zoologia  pronto tassi e paulaZoologia  pronto tassi e paula
Zoologia pronto tassi e paulafamiliaestagio
 
Citologia
CitologiaCitologia
Citologiajoana71
 
Apresentação Transistor Junção Bipolar - Eletrônica Analógica
Apresentação Transistor Junção Bipolar - Eletrônica AnalógicaApresentação Transistor Junção Bipolar - Eletrônica Analógica
Apresentação Transistor Junção Bipolar - Eletrônica AnalógicaJosué Oliveira
 
Nucleotideos - acidos nucleicos
Nucleotideos - acidos nucleicosNucleotideos - acidos nucleicos
Nucleotideos - acidos nucleicosCarls Tavares
 
31_oscilacoes_eletromag_e_corr_alternada.pdf
31_oscilacoes_eletromag_e_corr_alternada.pdf31_oscilacoes_eletromag_e_corr_alternada.pdf
31_oscilacoes_eletromag_e_corr_alternada.pdfBaptistaBoanha
 

La actualidad más candente (20)

Trabalho final
Trabalho finalTrabalho final
Trabalho final
 
Eletrotécnica Geral ( Teoria e exercícios resolvidos )
Eletrotécnica Geral ( Teoria e exercícios resolvidos )Eletrotécnica Geral ( Teoria e exercícios resolvidos )
Eletrotécnica Geral ( Teoria e exercícios resolvidos )
 
Tabela De Pares De Transformadas De Laplace
Tabela De Pares De Transformadas De LaplaceTabela De Pares De Transformadas De Laplace
Tabela De Pares De Transformadas De Laplace
 
Sistema nervoso
Sistema nervoso Sistema nervoso
Sistema nervoso
 
Curso de Operação em Subestação para LT_JAN-2023.pptx
Curso de Operação em Subestação para LT_JAN-2023.pptxCurso de Operação em Subestação para LT_JAN-2023.pptx
Curso de Operação em Subestação para LT_JAN-2023.pptx
 
Histologia
HistologiaHistologia
Histologia
 
Criofrequência - A sinergia entre radiofrequência 1050w e frio -10 graus
Criofrequência - A sinergia entre radiofrequência 1050w e frio -10 grausCriofrequência - A sinergia entre radiofrequência 1050w e frio -10 graus
Criofrequência - A sinergia entre radiofrequência 1050w e frio -10 graus
 
Respiração celular
Respiração celularRespiração celular
Respiração celular
 
Esquema aula prática
Esquema aula práticaEsquema aula prática
Esquema aula prática
 
Hibridi - Manual
Hibridi - ManualHibridi - Manual
Hibridi - Manual
 
Aula 09-calculo-termico
Aula 09-calculo-termicoAula 09-calculo-termico
Aula 09-calculo-termico
 
Zoologia pronto tassi e paula
Zoologia  pronto tassi e paulaZoologia  pronto tassi e paula
Zoologia pronto tassi e paula
 
Citologia
CitologiaCitologia
Citologia
 
Apresentação Transistor Junção Bipolar - Eletrônica Analógica
Apresentação Transistor Junção Bipolar - Eletrônica AnalógicaApresentação Transistor Junção Bipolar - Eletrônica Analógica
Apresentação Transistor Junção Bipolar - Eletrônica Analógica
 
Dimensionamento de Eletrodutos
Dimensionamento de EletrodutosDimensionamento de Eletrodutos
Dimensionamento de Eletrodutos
 
Aula mitose
Aula mitoseAula mitose
Aula mitose
 
Nucleotideos - acidos nucleicos
Nucleotideos - acidos nucleicosNucleotideos - acidos nucleicos
Nucleotideos - acidos nucleicos
 
Pele e anexos2012
Pele e anexos2012Pele e anexos2012
Pele e anexos2012
 
Reino Fungi
Reino FungiReino Fungi
Reino Fungi
 
31_oscilacoes_eletromag_e_corr_alternada.pdf
31_oscilacoes_eletromag_e_corr_alternada.pdf31_oscilacoes_eletromag_e_corr_alternada.pdf
31_oscilacoes_eletromag_e_corr_alternada.pdf
 

Destacado

Curso mbed na KL25Z
Curso mbed na KL25ZCurso mbed na KL25Z
Curso mbed na KL25ZFabio Souza
 
Fundamentos de Logica de Programação | Linguagem C
Fundamentos de Logica de Programação | Linguagem CFundamentos de Logica de Programação | Linguagem C
Fundamentos de Logica de Programação | Linguagem CRogerio de Moraes
 
Programação básica de microcontroladores
Programação básica de microcontroladoresProgramação básica de microcontroladores
Programação básica de microcontroladoresDanilo Morais Pagano
 
Internet das Coisas (Internet of Things - IoT)
Internet das Coisas (Internet of Things - IoT)Internet das Coisas (Internet of Things - IoT)
Internet das Coisas (Internet of Things - IoT)Desiree Santos
 
Apresentação curso pic básico fbs eletrônica
Apresentação   curso pic básico fbs eletrônicaApresentação   curso pic básico fbs eletrônica
Apresentação curso pic básico fbs eletrônicaFabio Souza
 
Resumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroCResumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroCFabio Souza
 
Apostila Arduino - FBS Eletrônica
Apostila Arduino - FBS EletrônicaApostila Arduino - FBS Eletrônica
Apostila Arduino - FBS EletrônicaFabio Souza
 
Introdução a estrutura de dados josé lucas rangel - raulzinho.cb@hotmail.com
Introdução a estrutura de dados   josé lucas rangel - raulzinho.cb@hotmail.comIntrodução a estrutura de dados   josé lucas rangel - raulzinho.cb@hotmail.com
Introdução a estrutura de dados josé lucas rangel - raulzinho.cb@hotmail.comRaul Batalha
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksSlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShareSlideShare
 

Destacado (11)

Apostila cpic
Apostila cpicApostila cpic
Apostila cpic
 
Curso mbed na KL25Z
Curso mbed na KL25ZCurso mbed na KL25Z
Curso mbed na KL25Z
 
Fundamentos de Logica de Programação | Linguagem C
Fundamentos de Logica de Programação | Linguagem CFundamentos de Logica de Programação | Linguagem C
Fundamentos de Logica de Programação | Linguagem C
 
Programação básica de microcontroladores
Programação básica de microcontroladoresProgramação básica de microcontroladores
Programação básica de microcontroladores
 
Internet das Coisas (Internet of Things - IoT)
Internet das Coisas (Internet of Things - IoT)Internet das Coisas (Internet of Things - IoT)
Internet das Coisas (Internet of Things - IoT)
 
Apresentação curso pic básico fbs eletrônica
Apresentação   curso pic básico fbs eletrônicaApresentação   curso pic básico fbs eletrônica
Apresentação curso pic básico fbs eletrônica
 
Resumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroCResumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroC
 
Apostila Arduino - FBS Eletrônica
Apostila Arduino - FBS EletrônicaApostila Arduino - FBS Eletrônica
Apostila Arduino - FBS Eletrônica
 
Introdução a estrutura de dados josé lucas rangel - raulzinho.cb@hotmail.com
Introdução a estrutura de dados   josé lucas rangel - raulzinho.cb@hotmail.comIntrodução a estrutura de dados   josé lucas rangel - raulzinho.cb@hotmail.com
Introdução a estrutura de dados josé lucas rangel - raulzinho.cb@hotmail.com
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Similar a Resumo Linguagem C

Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...Fabio Souza
 
Prática da disciplina de laboratório de conversão de energia
Prática da disciplina de laboratório de conversão de energiaPrática da disciplina de laboratório de conversão de energia
Prática da disciplina de laboratório de conversão de energiaHeitor Galvão
 
Linguagem c-para-microcontroladores
Linguagem c-para-microcontroladoresLinguagem c-para-microcontroladores
Linguagem c-para-microcontroladores34macchia34
 
Desenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcadosDesenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcadosRodrigo Almeida
 
LabMM3 - Aula teórica 08
LabMM3 - Aula teórica 08LabMM3 - Aula teórica 08
LabMM3 - Aula teórica 08Carlos Santos
 
Debugging tips and tricks
Debugging tips and tricksDebugging tips and tricks
Debugging tips and tricksTales Andrade
 
(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - SubalgoritmosCarlos Santos
 
Projeto de uma controladora de drivers
Projeto de uma controladora de driversProjeto de uma controladora de drivers
Projeto de uma controladora de driversRodrigo Almeida
 
Webinar: Arquitetura de software para sistemas embarcados
Webinar: Arquitetura de software para sistemas embarcadosWebinar: Arquitetura de software para sistemas embarcados
Webinar: Arquitetura de software para sistemas embarcadosEmbarcados
 
2 controle fluxo
2 controle fluxo2 controle fluxo
2 controle fluxoprofwtelles
 
TDC2013 Otimizando-C
TDC2013 Otimizando-CTDC2013 Otimizando-C
TDC2013 Otimizando-Cosmarcf
 
Introdução à programação embarcada
Introdução à programação embarcadaIntrodução à programação embarcada
Introdução à programação embarcadaRodrigo Almeida
 
Mini-curso Programação Paralela e Distribuída
Mini-curso Programação Paralela e DistribuídaMini-curso Programação Paralela e Distribuída
Mini-curso Programação Paralela e DistribuídaDeivid Martins
 

Similar a Resumo Linguagem C (20)

Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...
 
Vhdl
VhdlVhdl
Vhdl
 
Prática da disciplina de laboratório de conversão de energia
Prática da disciplina de laboratório de conversão de energiaPrática da disciplina de laboratório de conversão de energia
Prática da disciplina de laboratório de conversão de energia
 
Visualg
VisualgVisualg
Visualg
 
Linguagem c-para-microcontroladores
Linguagem c-para-microcontroladoresLinguagem c-para-microcontroladores
Linguagem c-para-microcontroladores
 
C pic
C picC pic
C pic
 
Desenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcadosDesenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcados
 
Aula 1 | Introdução a C++
Aula 1 | Introdução a C++Aula 1 | Introdução a C++
Aula 1 | Introdução a C++
 
Ponteiros de Função
Ponteiros de FunçãoPonteiros de Função
Ponteiros de Função
 
LabMM3 - Aula teórica 08
LabMM3 - Aula teórica 08LabMM3 - Aula teórica 08
LabMM3 - Aula teórica 08
 
Debugging tips and tricks
Debugging tips and tricksDebugging tips and tricks
Debugging tips and tricks
 
(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos
 
Projeto de uma controladora de drivers
Projeto de uma controladora de driversProjeto de uma controladora de drivers
Projeto de uma controladora de drivers
 
Webinar: Arquitetura de software para sistemas embarcados
Webinar: Arquitetura de software para sistemas embarcadosWebinar: Arquitetura de software para sistemas embarcados
Webinar: Arquitetura de software para sistemas embarcados
 
2 controle fluxo
2 controle fluxo2 controle fluxo
2 controle fluxo
 
TDC2013 Otimizando-C
TDC2013 Otimizando-CTDC2013 Otimizando-C
TDC2013 Otimizando-C
 
Aula de C e C++
Aula de C e C++Aula de C e C++
Aula de C e C++
 
Introdução à programação embarcada
Introdução à programação embarcadaIntrodução à programação embarcada
Introdução à programação embarcada
 
Kernel cooperativo
Kernel cooperativoKernel cooperativo
Kernel cooperativo
 
Mini-curso Programação Paralela e Distribuída
Mini-curso Programação Paralela e DistribuídaMini-curso Programação Paralela e Distribuída
Mini-curso Programação Paralela e Distribuída
 

Último

PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médiorosenilrucks
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxLusGlissonGud
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfHELENO FAVACHO
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxedelon1
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfHELENO FAVACHO
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfHELENO FAVACHO
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTailsonSantos1
 

Último (20)

PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptx
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 

Resumo Linguagem C

  • 1. Linguagem C Resumo da linguagem C com foco em desenvolvimento para microcontroladores PIC baseado na IDE MikroC for PIC Por : Fábio B. de Souza
  • 2. Porque usar linguagem C? •Características: •Estruturada; •Alto nível (comparada ao Assembly); •Facilidade de acesso ao hardware; •Portabilidade; •Curva de aprendizagem reduzida; •Reutilização de código;
  • 3. Estrutura básica de um programa em C para microcontroladores void main() { //inicializações de hardware e software while(1) //loop infinito { /*tarefas a serem executadas pelo microcontrolador durante o funcionamento */ } }
  • 4. Comentários São Utilizados para: ◦ Documentação do software; ◦ Exclusão de linhas durante a compilação. Comentários de linha simples: //este é um comentário de linha simples Comentários de Múltiplas linhas: /* este é um comentário de múltiplas linhas */
  • 5. Representação numérica • Decimal: • valorDecimal = 125; • Binário: • PORTA=0b11010011; • Hexadecimal: • valor_hexa = 0xA4; • Octal: • valorOctal=075; • Caracter: • valorCarcter = ‘A’;
  • 6. Tipos de Dados TIPO RESPRESENTA char caracteres int inteiros float e double valores com casas decimais (ponto flutuante) void nulos
  • 7. Modificadores de tipos Modificador modificação signed Sinalizado Unsigned Não sinalizado Short Inteiro menor que o padrão Log Inteiro maior que o padrão
  • 8. Tipos de dados no MikroC Tipos inteiros: TIPO Tamanho Range bit 1–bit 0 or 1 sbit 1–bit 0 or 1 (unsigned) char 1 byte 0 .. 255 signed char 1 byte - 128 .. 127 (signed) short (int) 1 byte - 128 .. 127 unsigned short (int) 1 byte 0 .. 255 (signed) int 2 byte -32768 .. 32767 unsigned (int) 2 byte 0 .. 65535 (signed) long (int) 4 byte -2147483648 .. 2147483647 unsigned long (int) 4byte 0 .. 4294967295
  • 9. Tipos de dados no MikroC Tipo de ponto flutuante: Tipo Tamanho Range float 4 byte -1.5 * 1045 .. +3.4 * 1038 double 4 byte -1.5 * 1045 .. +3.4 * 1038 long double 4 byte -1.5 * 1045 .. +3.4 * 1038
  • 10. Declaração de Variáveis Um variável é declarada da seguinte forma: <qualificador> + <tipo de dado> + <nome da variável> + <valor>; Obs.: onde o valor pode ou não ser inicializado. Exemplos: unsigned int valor = 12345; int contador; short y;
  • 11. Variável local • É declarada dentro de um bloco de instruções, é só pode se acessada dentro deste bloco. • Exemplo: int delay() { int valor1 =5; int valor2 =7; return(valor1+valor2)/2; }
  • 12. Variável global • É declarada fora de bloco de função e pode ser acessada por todas as funções e blocos de instruções. • Exemplo: int valor1 =5; int valor2 =7; int media() { return(valor1+valor2)/2; } int soma() { return(valor1+valor2)/ }
  • 13. Operadores Aritméticos • Realizam operações matemáticas: OPERADOR AÇÃO + Adição - Subtração * Multiplicação / Divisão % Resto de divisão inteira ++ Incremento -- Decremento
  • 14. Operadores Relacionais • Usados em testes condicionais para determinar relações entre dados. OPERADOR AÇÃO > Maior que >= Maior ou igual que < Menor que <= Menor ou igual que == Igual a != Diferente de
  • 15. Operadores lógicos • São usados para realizar testes booleanos entre elementos em um teste condicional OPERADOR AÇÃO && AND (E) || OR (OU) ! NOT (NÃO)
  • 16. Operadores lógicos bit a bit • São utilizados para operações lógicas entre elementos ou variáveis. OPERADOR AÇÃO & AND(E) | OR(OU) ^ XOR (OU EXCLUSIVO) ~ NOT (NÃO) >> Deslocamento à direita << Deslocamento à esquerda
  • 17. Associação de operadores • Abreviação entre a operação e atribuição Forma expandida Forma reduzida x = x + y x += y x = x - y x -= y x = x * y x *= y x = x / y x /= y x = x % y x %= y x = x & y x &= y x = x | y x |= y x = x ^ y x ^= y x = x << y x <<= y x = x >> y x >>= y
  • 18. if • Utilizada para executar um comando ou bloco de comandos no caso de uma determinada condição ser avaliada como verdadeira. • Forma geral: • if(condição) comando; • Exemplo: • if(temperatura < setPoint) RELE = 1;
  • 19. if - else • Utilizado quando há a necessidade de tomar uma ação caso a condição for avaliada como falsa. if (condição) comandoA; else comandoB; Exemplo: if (temperatura < setpoint) rele = 1; else rele = 0;
  • 20. if - else • Para executar um bloco de códigos dentro da declaração if- else: if(condição) { comandoA1; //bloco de código para a condição verdadeira comandoaA2; ... comandoAn; } else { comandoB1; //bloco de código para a condição falsa comandoB2; ... comandoBn; }
  • 21. switch • É utilizado para a realização de comparações sucessivas de uma forma elegante, clara e eficiente. switch(variável) { case constante1: comandoA; . . . break; case constante2: comandoB; . . . break; . . . . . . default: comandoX; }
  • 22. for  Forma geral: for( inicialização;condição;incremento) comando; Ou for( inicialização;condição;incremento) { Comando1; Comando2; . . . ComandoN; } onde: • inicialização: essa seção conterá uma inicialização para a variável; • condição: que interromperá o laço • incremento: operação a cada iteração
  • 23. while • Repete um comando ou um conjunto de instruções enquanto uma condição for avaliada como verdadeira. • Forma geral: while(condição) { comando1; comando2; ... comandoN; }
  • 24. do-while • Este laço é uma variação do comando WHILE, sendo que neste caso o comando será executado antes de testa se a condição é verdadeira. • Forma geral: do { comandoA; comandoB; ... comandoN; } while (condição);