SlideShare uma empresa Scribd logo
1 de 48
CIn.ufpe.br
Computação Eletrônica
Introdução à linguagem C
Prof: Rafael Mesquita
(Slides adaptados do Prof. Hansenclever Bassani)
Site da disciplina: www.cin.ufpe.br/~hfb/ce
Site da turma F4: cin.ufpe.br/~luciano/cursos/ce
CIn.ufpe.br
Recapitulando
• Hardware X software (aplicativos e sistemas)
• Softwares escritos em linguagens de programação
• LPs possuem conjunto de regras sintáticas e semânticas
• Classificação de LP
• Criação, compilação e execução
2
Linguagem de
Máquina
10110101
11100110
11000100
Linguagem de
Baixo Nível
LOAD BASE
ADD BONUS
STORE SALARIO
Linguagem de
Alto Nível
Salario =
Base + Bonus
CIn.ufpe.br
C é a Linguagem Adotada na
Disciplina
• Anteriormente utilizava a Linguagem Pascal
• Do semestre 2013-2 em diante
– Uso da Linguagem de Programação C
– Adaptação do conteúdo para “as engenharias”
– Exercícios direcionados ao curso de engenharia
CIn.ufpe.br
Por que a linguagem C?
• Defasagem da linguagem Pascal
• Principais linguagens do mercado/comerciais são baseadas em
C (C++, Java, C#)
• Em termos de desempenho (velocidade de execução) é
imbatível
• Sistemas operacionais (Linux e Unix) são escritos em C
CIn.ufpe.br
Por que a linguagem C?
• Conexão de dispositivos a computadores é possível por meio de
softwares em C
• Velocidade de execução:
– Computação gráfica
• Ex: Filmes da Pixar
– Software embutido em dispositivo
• Embedded C: linguagem mais popular para sistemas embutidos no mundo
– Melhor linguagem para desenvolvimento de Games
• Ex: Quake II em C; FIFA e Call of Duty em C++
• Escolhida como linguagem científica
CIn.ufpe.br
Popularidade das Linguagens
CIn.ufpe.br
Aplicações usando C/C++
CIn.ufpe.br
Aplicações usando C/C++
CIn.ufpe.br
Aplicações usando C/C++
CIn.ufpe.br
Aplicações usando C/C++
https://www.coursera.org/specializations/iot
CIn.ufpe.br
Ambientes de Desenvolvimento
• Ou IDE (Integrated Development Environment):
• Normalmente incluem:
1. Um editor de texto para códigos-fonte
• Complementação automática de código (code completion),
• Destacamento de sintaxe através de cores (syntax highlighting)
2. Um compilador (compiler)
3. Um depurador (debugger): permite executar o programa passo-a-passo
CIn.ufpe.br
Ambientes de Desenvolvimento
• IDEs gratuitas para C/C++ recomendadas para o curso:
– Code::Blocks - http://www.codeblocks.org/
– Dev C++ - http://sourceforge.net/projects/dev-cpp/
– MinGW - http://www.mingw.org/
• Outras IDEs mais profissionais e também gratuitas:
– Eclipse - https://www.eclipse.org/
– Netbeans - https://netbeans.org/downloads/
CIn.ufpe.br
Ambientes para Mac
• Code::Blocks http://www.codeblocks.org/downloads/26
• CodeLite http://downloads.codelite.org/
• Xcode
– Vem no DVD que acompanha o MacBook ou pode ser baixado de:
https://developer.apple.com/xcode/
CIn.ufpe.br
IDEs para iOS
• Para iPad e iPhone
– C Programming Language
• https://itunes.apple.com/br/artist/dmitry-kovba/id499545921?l=en
– CodeToGo
• https://itunes.apple.com/br/app/codetogo/id382677229?l=en&mt=8
– Gusto - Code Editor
• https://itunes.apple.com/us/app/gusto/id364906873?mt=8
CIn.ufpe.br
IDEs para Android
• DroidEdit
– https://play.google.com/store/apps/details?id=com.aor.droidedit&hl=en
• CppDroid - C/C++ IDE
– https://play.google.com/store/apps/details?id=name.antonsmirnov.andr
oid.cppdroid
• +15 apps for programming on Android
– http://android.appstorm.net/roundups/developer/15-apps-for-
programming-on-android/
CIn.ufpe.br
IDEs para Windows phone
• Touch C
– http://www.windowsphone.com/en-us/store/app/touch-c/3fb34f3f-
83e9-4199-a70e-d05a47172794
• C for beginners
– http://www.windowsphone.com/en-us/store/app/c-for-
beginners/d8fc45de-1c6d-45f0-b34b-83296444e11b
• Program in C
– http://www.windowsphone.com/en-us/store/app/program-in-
c/4536bd55-276c-4c09-8383-4ea1621ee61d
CIn.ufpe.br
Exercício 1:
Calcule um número elevado ao
cubo
17
CIn.ufpe.br
Exercício 1: Calcule um número
elevado ao cubo
• Passo-a-passo para a construção de algoritmos
1. Definir entrada e saída:
• Entrada: n
• Saída: cubo
• cubo = f(n)
18
CIn.ufpe.br
Exercício 1: Calcule um número
elevado ao cubo
• Passo-a-passo para a construção de algoritmos
1. Definir entrada e saída:
• Entrada: n
• Saída: cubo
• cubo = f(n)
2. Implementar a função de saída: Número elevado ao cubo
• f(n) = n * n * n
• ou
• cubo = n * n * n
19
CIn.ufpe.br
Exercício 1: Calcule um número
elevado ao cubo
• Passo-a-passo para a construção de algoritmos
1. Definir entrada e saída
2. Implementar a função de saída: Número elevado ao cubo
20
n
cubo = n * n * n
Função
Input Output
cubo
CIn.ufpe.br
Exercício 1: Calcule um número
elevado ao cubo
• Passo-a-passo para a construção de algoritmos
1. Definir entrada e saída
2. Implementar função
3. Compilar o código
4. Se ok, executar o código. Se não, voltar para o passo 2
5. Testar o código
6. Se ok, FIM. Se não, volta para o passo 2
21
CIn.ufpe.br
Passo-a-passo para Construir
Algoritmos
22
Definir E/S
Problema
Implementar Compilar
Não
Sim
Executar
Não
Sim
Fim
Erro?
Erro?
CIn.ufpe.br
Exemplo: Calcule um número
elevado ao cubo – Linguagem C
• Definindo a entrada e a saída (variáveis)
Declaração da variável
de entrada
Declaração da variável
de saída
CIn.ufpe.br
Exemplo: Cálculo um número ao
cubo – Linguagem C
• Implementando a função de saída
Comando que calcula
a função
CIn.ufpe.br
Exemplo: Cálculo um número ao
cubo – Linguagem C
• Adicionando comandos de impressão e leitura para a entrada
Comando para impressão
na tela
Comando para leitura
de entrada
CIn.ufpe.br
Exemplo: Cálculo um número ao
cubo – Linguagem C
• Adicionando comandos de impressão da saída
Comando de impressão
da saída
CIn.ufpe.br
Exemplo: Cálculo um número ao
cubo – Linguagem C
Inclusão de bibliotecas
Declaração de variáveis
Comandos
Função main
Comentário
CIn.ufpe.br
• Contêm funções complementares (ex: funcões matemáticas)
• “#include” informa ao compilador quais bibliotecas devem ser
anexadas ao programa executável
• Sintaxe:
Bibliotecas em C
#include <nome_do_arquivo_da_biblioteca>
CIn.ufpe.br
stdio.h
• Biblioteca padrão
• “std” é abreviação de standard (padrão)
• “io” é abreviação de input/output (entrada/saída)
• Funções para impressão
de texto na tela (printf(...))
e leitura da entrada do
teclado (scanf(...))
CIn.ufpe.br
• Possui a sequência de comandos que deve ser executada
• Define onde começa e termina o programa principal por um par
de chaves: “{“ (abre chaves) e “}” (fecha chaves).
Função Main
CIn.ufpe.br
• Declaradas no começo do programa
• No exemplo anterior, foram declaradas duas variáveis do tipo
inteiro: num e cubo.
Declaração de Variáveis
Declaração de variáveis
CIn.ufpe.br
• Após a declaração das variáveis
Comandos
Declaração de variáveis
Comandos
CIn.ufpe.br
• Detalhes adicionais: função main
– Por padrão a função principal deve ser do tipo int (inteiro) e retornar valor
zero ao final de sua execução (significa que o programa terminou sem
erros);
– Veremos mais sobre isto futuramente.
Programa em C
CIn.ufpe.br
Palavras Reservadas
• Conjunto de palavras que tem um significado para a linguagem
de programação
• Uma palavra reservada é, essencialmente, um comando
auto
break
case
char
const
switch
volatile
continue
default
do
double
else
typedef
while
enum
extern
float
for
goto
union
if
int
long
register
unsigned
return
short
signed
sizeof
static
struct
void
CIn.ufpe.br
• Utilizados para documentação para facilitar entendimento
• Podem ser colocados em qualquer parte do programa
• Compilador ignora
• Dois tipos:
– Linha: // texto do comentário
– Bloco:
Comentários em Programas
/*
texto do comentário
texto do comentário
texto do comentário
*/
CIn.ufpe.br
Exemplo: Programa C Comentado
CIn.ufpe.br
Criando um Projeto no Code::Blocks
CIn.ufpe.br
Criando um Projeto no Code::Blocks
• Neste curso iremos utilizar “Aplicações de Console” como tipo
de projeto:
CIn.ufpe.br
Criando um Projeto no Code::Blocks
• E os projetos serão feitos em Linguagem C:
CIn.ufpe.br
Criando um Projeto no Code::Blocks
• Indique o nome e o diretório do projeto:
– Importante: Não utilize espaços ou caracteres especiais (ç~´`) no título
do projeto ou no diretório!
CIn.ufpe.br
Os Fundamentos do Ambiente C
• No Code::Blocks, após a compilação, o programa executável
“.exe” é armazenado no diretório “binDebug”, dentro do
diretório projeto;
• Os códigos fonte (.c – source file) e cabeçalhos (.h – header files)
ficam armazenados na pasta principal do projeto.
• O arquivo do programa executável não pode ser editado, o que
nós podemos editar são os arquivos do código fonte.
CIn.ufpe.br
Conhecendo o Code::Blocks
CIn.ufpe.br
Compilando e Executando
Basta clicar neste
botão para compilar e
executar o programa
Se houver erros de
sintaxe eles serão
reportados em
vermelho.
Avisos são
reportados em azul
CIn.ufpe.br
Compilando e Executando
• Ao corrigir e executar novamente o programa o console se abre
executando os passos do programa:
CIn.ufpe.br
Depurando o Código - Debug
• Clicar com o direito na linha para adicionar ou remover
breakpoints (pontos de parada na execução para investigação);
• Clicar na seta vermelha (Debug/Continue);
• Clicar com o direito sobre uma variável e depois em “Watch ...”
Basta clicar neste
botão para depurar em
vez de executar o
programa
CIn.ufpe.br
Depurando o Código
• Executar o programa passo-a-passo clicando nos botões
indicados abaixo:
Executar até o cursor
Ir para a próxima linha Entrar na função
Sair da função
CIn.ufpe.br
Exercícios
• Calcule a média aritmética de 3 números dados
• Calcule o antecessor e sucessor de um número
• Calcule a área de um círculo de raio r
• Converta de Celsius para Fahrenheit
47
CIn.ufpe.br
Atividade
• Consultar os livros
• Livro do Jaime Evaristo
– Estudar o primeiro capítulo e a metade do segundo capítulo
• Fazer o download de uma das IDEs (link no slide anterior)
– Instalar (recomendado code::blocks)
– Reescrever os códigos de exemplos do segundo capítulo do livro de
Evaristo.
– Executar e depurar (passo-a-passo) cada um deles para entender seu
funcionamento.

Mais conteúdo relacionado

Semelhante a Aula 01 - Introducao a C (3).pptx

Integração contínua em PHP com Jenkins
Integração contínua em PHP com JenkinsIntegração contínua em PHP com Jenkins
Integração contínua em PHP com JenkinsGilmar Pupo
 
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...Alex Camargo
 
Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013
Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013
Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013Arthur Francisco Lorenzon
 
MiniCurso Programação Paralela com OpenMP - SACTA 2013
MiniCurso Programação Paralela com OpenMP - SACTA 2013MiniCurso Programação Paralela com OpenMP - SACTA 2013
MiniCurso Programação Paralela com OpenMP - SACTA 2013Arthur Francisco Lorenzon
 
Aula de C para Linux
Aula de C para LinuxAula de C para Linux
Aula de C para LinuxChris x-MS
 
TypeScript - Campus party 2013
TypeScript - Campus party 2013TypeScript - Campus party 2013
TypeScript - Campus party 2013Giovanni Bassi
 
Introdução+à+linguagem+c
Introdução+à+linguagem+cIntrodução+à+linguagem+c
Introdução+à+linguagem+cThiago Freitas
 
Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Robson Ferreira
 
Tutorial dev cpp 001 - criação, leitura e alteração de arquivos
Tutorial dev cpp   001 - criação, leitura e alteração de arquivosTutorial dev cpp   001 - criação, leitura e alteração de arquivos
Tutorial dev cpp 001 - criação, leitura e alteração de arquivosFlávio Freitas
 
Introdução a linguagem de programação C
Introdução a linguagem de programação CIntrodução a linguagem de programação C
Introdução a linguagem de programação CSchoolByte
 
C curso - notas de aula
C   curso - notas de aulaC   curso - notas de aula
C curso - notas de aulaLoAlves21
 
MC-102 — Aula 01 Introdução à Programação de Computadores.pdf
MC-102 — Aula 01 Introdução à Programação de Computadores.pdfMC-102 — Aula 01 Introdução à Programação de Computadores.pdf
MC-102 — Aula 01 Introdução à Programação de Computadores.pdfLuanaBatista74
 

Semelhante a Aula 01 - Introducao a C (3).pptx (20)

Integração contínua em PHP com Jenkins
Integração contínua em PHP com JenkinsIntegração contínua em PHP com Jenkins
Integração contínua em PHP com Jenkins
 
Devcpp
DevcppDevcpp
Devcpp
 
O compilador dev c++
O compilador dev c++O compilador dev c++
O compilador dev c++
 
TWP40 Revisão Geral 3
TWP40 Revisão Geral 3TWP40 Revisão Geral 3
TWP40 Revisão Geral 3
 
Pi1415 tudo
Pi1415 tudoPi1415 tudo
Pi1415 tudo
 
Apostila s7
Apostila s7Apostila s7
Apostila s7
 
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
 
Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013
Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013
Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013
 
MiniCurso Programação Paralela com OpenMP - SACTA 2013
MiniCurso Programação Paralela com OpenMP - SACTA 2013MiniCurso Programação Paralela com OpenMP - SACTA 2013
MiniCurso Programação Paralela com OpenMP - SACTA 2013
 
Aula de C para Linux
Aula de C para LinuxAula de C para Linux
Aula de C para Linux
 
TypeScript - Campus party 2013
TypeScript - Campus party 2013TypeScript - Campus party 2013
TypeScript - Campus party 2013
 
Introdução+à+linguagem+c
Introdução+à+linguagem+cIntrodução+à+linguagem+c
Introdução+à+linguagem+c
 
C sharp lesson1
C sharp lesson1C sharp lesson1
C sharp lesson1
 
Devc++
Devc++Devc++
Devc++
 
Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2
 
Gcc
Gcc Gcc
Gcc
 
Tutorial dev cpp 001 - criação, leitura e alteração de arquivos
Tutorial dev cpp   001 - criação, leitura e alteração de arquivosTutorial dev cpp   001 - criação, leitura e alteração de arquivos
Tutorial dev cpp 001 - criação, leitura e alteração de arquivos
 
Introdução a linguagem de programação C
Introdução a linguagem de programação CIntrodução a linguagem de programação C
Introdução a linguagem de programação C
 
C curso - notas de aula
C   curso - notas de aulaC   curso - notas de aula
C curso - notas de aula
 
MC-102 — Aula 01 Introdução à Programação de Computadores.pdf
MC-102 — Aula 01 Introdução à Programação de Computadores.pdfMC-102 — Aula 01 Introdução à Programação de Computadores.pdf
MC-102 — Aula 01 Introdução à Programação de Computadores.pdf
 

Aula 01 - Introducao a C (3).pptx

  • 1. CIn.ufpe.br Computação Eletrônica Introdução à linguagem C Prof: Rafael Mesquita (Slides adaptados do Prof. Hansenclever Bassani) Site da disciplina: www.cin.ufpe.br/~hfb/ce Site da turma F4: cin.ufpe.br/~luciano/cursos/ce
  • 2. CIn.ufpe.br Recapitulando • Hardware X software (aplicativos e sistemas) • Softwares escritos em linguagens de programação • LPs possuem conjunto de regras sintáticas e semânticas • Classificação de LP • Criação, compilação e execução 2 Linguagem de Máquina 10110101 11100110 11000100 Linguagem de Baixo Nível LOAD BASE ADD BONUS STORE SALARIO Linguagem de Alto Nível Salario = Base + Bonus
  • 3. CIn.ufpe.br C é a Linguagem Adotada na Disciplina • Anteriormente utilizava a Linguagem Pascal • Do semestre 2013-2 em diante – Uso da Linguagem de Programação C – Adaptação do conteúdo para “as engenharias” – Exercícios direcionados ao curso de engenharia
  • 4. CIn.ufpe.br Por que a linguagem C? • Defasagem da linguagem Pascal • Principais linguagens do mercado/comerciais são baseadas em C (C++, Java, C#) • Em termos de desempenho (velocidade de execução) é imbatível • Sistemas operacionais (Linux e Unix) são escritos em C
  • 5. CIn.ufpe.br Por que a linguagem C? • Conexão de dispositivos a computadores é possível por meio de softwares em C • Velocidade de execução: – Computação gráfica • Ex: Filmes da Pixar – Software embutido em dispositivo • Embedded C: linguagem mais popular para sistemas embutidos no mundo – Melhor linguagem para desenvolvimento de Games • Ex: Quake II em C; FIFA e Call of Duty em C++ • Escolhida como linguagem científica
  • 11. CIn.ufpe.br Ambientes de Desenvolvimento • Ou IDE (Integrated Development Environment): • Normalmente incluem: 1. Um editor de texto para códigos-fonte • Complementação automática de código (code completion), • Destacamento de sintaxe através de cores (syntax highlighting) 2. Um compilador (compiler) 3. Um depurador (debugger): permite executar o programa passo-a-passo
  • 12. CIn.ufpe.br Ambientes de Desenvolvimento • IDEs gratuitas para C/C++ recomendadas para o curso: – Code::Blocks - http://www.codeblocks.org/ – Dev C++ - http://sourceforge.net/projects/dev-cpp/ – MinGW - http://www.mingw.org/ • Outras IDEs mais profissionais e também gratuitas: – Eclipse - https://www.eclipse.org/ – Netbeans - https://netbeans.org/downloads/
  • 13. CIn.ufpe.br Ambientes para Mac • Code::Blocks http://www.codeblocks.org/downloads/26 • CodeLite http://downloads.codelite.org/ • Xcode – Vem no DVD que acompanha o MacBook ou pode ser baixado de: https://developer.apple.com/xcode/
  • 14. CIn.ufpe.br IDEs para iOS • Para iPad e iPhone – C Programming Language • https://itunes.apple.com/br/artist/dmitry-kovba/id499545921?l=en – CodeToGo • https://itunes.apple.com/br/app/codetogo/id382677229?l=en&mt=8 – Gusto - Code Editor • https://itunes.apple.com/us/app/gusto/id364906873?mt=8
  • 15. CIn.ufpe.br IDEs para Android • DroidEdit – https://play.google.com/store/apps/details?id=com.aor.droidedit&hl=en • CppDroid - C/C++ IDE – https://play.google.com/store/apps/details?id=name.antonsmirnov.andr oid.cppdroid • +15 apps for programming on Android – http://android.appstorm.net/roundups/developer/15-apps-for- programming-on-android/
  • 16. CIn.ufpe.br IDEs para Windows phone • Touch C – http://www.windowsphone.com/en-us/store/app/touch-c/3fb34f3f- 83e9-4199-a70e-d05a47172794 • C for beginners – http://www.windowsphone.com/en-us/store/app/c-for- beginners/d8fc45de-1c6d-45f0-b34b-83296444e11b • Program in C – http://www.windowsphone.com/en-us/store/app/program-in- c/4536bd55-276c-4c09-8383-4ea1621ee61d
  • 17. CIn.ufpe.br Exercício 1: Calcule um número elevado ao cubo 17
  • 18. CIn.ufpe.br Exercício 1: Calcule um número elevado ao cubo • Passo-a-passo para a construção de algoritmos 1. Definir entrada e saída: • Entrada: n • Saída: cubo • cubo = f(n) 18
  • 19. CIn.ufpe.br Exercício 1: Calcule um número elevado ao cubo • Passo-a-passo para a construção de algoritmos 1. Definir entrada e saída: • Entrada: n • Saída: cubo • cubo = f(n) 2. Implementar a função de saída: Número elevado ao cubo • f(n) = n * n * n • ou • cubo = n * n * n 19
  • 20. CIn.ufpe.br Exercício 1: Calcule um número elevado ao cubo • Passo-a-passo para a construção de algoritmos 1. Definir entrada e saída 2. Implementar a função de saída: Número elevado ao cubo 20 n cubo = n * n * n Função Input Output cubo
  • 21. CIn.ufpe.br Exercício 1: Calcule um número elevado ao cubo • Passo-a-passo para a construção de algoritmos 1. Definir entrada e saída 2. Implementar função 3. Compilar o código 4. Se ok, executar o código. Se não, voltar para o passo 2 5. Testar o código 6. Se ok, FIM. Se não, volta para o passo 2 21
  • 22. CIn.ufpe.br Passo-a-passo para Construir Algoritmos 22 Definir E/S Problema Implementar Compilar Não Sim Executar Não Sim Fim Erro? Erro?
  • 23. CIn.ufpe.br Exemplo: Calcule um número elevado ao cubo – Linguagem C • Definindo a entrada e a saída (variáveis) Declaração da variável de entrada Declaração da variável de saída
  • 24. CIn.ufpe.br Exemplo: Cálculo um número ao cubo – Linguagem C • Implementando a função de saída Comando que calcula a função
  • 25. CIn.ufpe.br Exemplo: Cálculo um número ao cubo – Linguagem C • Adicionando comandos de impressão e leitura para a entrada Comando para impressão na tela Comando para leitura de entrada
  • 26. CIn.ufpe.br Exemplo: Cálculo um número ao cubo – Linguagem C • Adicionando comandos de impressão da saída Comando de impressão da saída
  • 27. CIn.ufpe.br Exemplo: Cálculo um número ao cubo – Linguagem C Inclusão de bibliotecas Declaração de variáveis Comandos Função main Comentário
  • 28. CIn.ufpe.br • Contêm funções complementares (ex: funcões matemáticas) • “#include” informa ao compilador quais bibliotecas devem ser anexadas ao programa executável • Sintaxe: Bibliotecas em C #include <nome_do_arquivo_da_biblioteca>
  • 29. CIn.ufpe.br stdio.h • Biblioteca padrão • “std” é abreviação de standard (padrão) • “io” é abreviação de input/output (entrada/saída) • Funções para impressão de texto na tela (printf(...)) e leitura da entrada do teclado (scanf(...))
  • 30. CIn.ufpe.br • Possui a sequência de comandos que deve ser executada • Define onde começa e termina o programa principal por um par de chaves: “{“ (abre chaves) e “}” (fecha chaves). Função Main
  • 31. CIn.ufpe.br • Declaradas no começo do programa • No exemplo anterior, foram declaradas duas variáveis do tipo inteiro: num e cubo. Declaração de Variáveis Declaração de variáveis
  • 32. CIn.ufpe.br • Após a declaração das variáveis Comandos Declaração de variáveis Comandos
  • 33. CIn.ufpe.br • Detalhes adicionais: função main – Por padrão a função principal deve ser do tipo int (inteiro) e retornar valor zero ao final de sua execução (significa que o programa terminou sem erros); – Veremos mais sobre isto futuramente. Programa em C
  • 34. CIn.ufpe.br Palavras Reservadas • Conjunto de palavras que tem um significado para a linguagem de programação • Uma palavra reservada é, essencialmente, um comando auto break case char const switch volatile continue default do double else typedef while enum extern float for goto union if int long register unsigned return short signed sizeof static struct void
  • 35. CIn.ufpe.br • Utilizados para documentação para facilitar entendimento • Podem ser colocados em qualquer parte do programa • Compilador ignora • Dois tipos: – Linha: // texto do comentário – Bloco: Comentários em Programas /* texto do comentário texto do comentário texto do comentário */
  • 38. CIn.ufpe.br Criando um Projeto no Code::Blocks • Neste curso iremos utilizar “Aplicações de Console” como tipo de projeto:
  • 39. CIn.ufpe.br Criando um Projeto no Code::Blocks • E os projetos serão feitos em Linguagem C:
  • 40. CIn.ufpe.br Criando um Projeto no Code::Blocks • Indique o nome e o diretório do projeto: – Importante: Não utilize espaços ou caracteres especiais (ç~´`) no título do projeto ou no diretório!
  • 41. CIn.ufpe.br Os Fundamentos do Ambiente C • No Code::Blocks, após a compilação, o programa executável “.exe” é armazenado no diretório “binDebug”, dentro do diretório projeto; • Os códigos fonte (.c – source file) e cabeçalhos (.h – header files) ficam armazenados na pasta principal do projeto. • O arquivo do programa executável não pode ser editado, o que nós podemos editar são os arquivos do código fonte.
  • 43. CIn.ufpe.br Compilando e Executando Basta clicar neste botão para compilar e executar o programa Se houver erros de sintaxe eles serão reportados em vermelho. Avisos são reportados em azul
  • 44. CIn.ufpe.br Compilando e Executando • Ao corrigir e executar novamente o programa o console se abre executando os passos do programa:
  • 45. CIn.ufpe.br Depurando o Código - Debug • Clicar com o direito na linha para adicionar ou remover breakpoints (pontos de parada na execução para investigação); • Clicar na seta vermelha (Debug/Continue); • Clicar com o direito sobre uma variável e depois em “Watch ...” Basta clicar neste botão para depurar em vez de executar o programa
  • 46. CIn.ufpe.br Depurando o Código • Executar o programa passo-a-passo clicando nos botões indicados abaixo: Executar até o cursor Ir para a próxima linha Entrar na função Sair da função
  • 47. CIn.ufpe.br Exercícios • Calcule a média aritmética de 3 números dados • Calcule o antecessor e sucessor de um número • Calcule a área de um círculo de raio r • Converta de Celsius para Fahrenheit 47
  • 48. CIn.ufpe.br Atividade • Consultar os livros • Livro do Jaime Evaristo – Estudar o primeiro capítulo e a metade do segundo capítulo • Fazer o download de uma das IDEs (link no slide anterior) – Instalar (recomendado code::blocks) – Reescrever os códigos de exemplos do segundo capítulo do livro de Evaristo. – Executar e depurar (passo-a-passo) cada um deles para entender seu funcionamento.