Aula 01 - Introducao A C
Aula 01 - Introducao A C
Introdução à linguagem C
2
Por que a linguagem C?
• 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
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
Popularidade das Linguagens
Aplicações usando C/C++
Aplicações usando C/C++
Aplicações usando C/C++
Aplicações usando C/C++
https://www.coursera.org/specializations/iot
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
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/
• CodeLite http://downloads.codelite.org/
• Xcode
– Vem no DVD que acompanha o MacBook ou pode ser baixado de:
https://developer.apple.com/xcode/
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
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-program
ming-on-android/
IDEs para Windows phone
• Touch C
– http://www.windowsphone.com/en-us/store/app/touch-c/3fb34f3f-83e
9-4199-a70e-d05a47172794
• C for beginners
– http://www.windowsphone.com/en-us/store/app/c-for-beginners/d8fc4
5de-1c6d-45f0-b34b-83296444e11b
• Program in C
– http://www.windowsphone.com/en-us/store/app/program-in-c/4536bd
55-276c-4c09-8383-4ea1621ee61d
Exercício 1:
Calcule um número elevado ao
cubo
16
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)
17
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
18
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
n cubo
cubo = n * n * n
19
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
20
Passo-a-passo para Construir
Algoritmos
Problema
Definir E/S Implementar Compilar
Sim
Erro?
Não
Executar
Sim
Erro?
Não
21
Fim
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
Exemplo: Cálculo um número ao cubo –
Linguagem C
• Implementando a função de saída
Comando de impressão
da saída
Exemplo: Cálculo um número ao cubo –
Linguagem C
Inclusão de bibliotecas
Função main
Comentário
Declaração de variáveis
Comandos
Bibliotecas em C
• Contêm funções complementares (ex: funcões matemáticas)
• “#include” informa ao compilador quais bibliotecas devem ser
anexadas ao programa executável
• Sintaxe:
#include <nome_do_arquivo_da_biblioteca>
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(...))
Função Main
• 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).
Declaração de Variáveis
• 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
Comandos
• Após a declaração das variáveis
Declaração de variáveis
Comandos
Programa em C
• 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.
Palavras Reservadas
• Conjunto de palavras que tem um significado para a linguagem
de programação
• Uma palavra reservada é, essencialmente, um comando
auto default float unsigned
break do for return
case double goto short
char else union signed
const typedef if sizeof
switch while int static
volatile enum long struct
continue extern register void
Comentários em Programas
• 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:
/*
texto do comentário
texto do comentário
texto do comentário
*/
Exemplo: Programa C Comentado
Criando um Projeto no Code::Blocks
Criando um Projeto no Code::Blocks
• Neste curso iremos utilizar “Aplicações de Console” como tipo
de projeto:
Criando um Projeto no Code::Blocks
• E os projetos serão feitos em Linguagem C:
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!
Os Fundamentos do Ambiente C
• No Code::Blocks, após a compilação, o programa executável
“.exe” é armazenado no diretório “bin\Debug”, 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.
Conhecendo o Code::Blocks
Compilando e Executando
Se houver erros de
sintaxe eles serão
reportados em
vermelho.
Avisos são
reportados em azul
Compilando e Executando
• Ao corrigir e executar novamente o programa o console se abre
executando os passos do programa:
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 ...”