• Nenhum resultado encontrado

INTRODUÇÃO À PROGRAMAÇÃO AULA 04: LINGUAGEM DE PROGRAMAÇÃO C

N/A
N/A
Protected

Academic year: 2022

Share "INTRODUÇÃO À PROGRAMAÇÃO AULA 04: LINGUAGEM DE PROGRAMAÇÃO C"

Copied!
35
0
0

Texto

(1)

INTRODUÇÃO À PROGRAMAÇÃO

AULA 04: LINGUAGEM DE PROGRAMAÇÃO C

Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação

(2)

QUAL LINGUAGEM IREMOS ESTUDAR?

(3)

• Linguagem de programação C

– Criada em 1972 por Dennis Ritchie – AT&T Bell Labs

– Para desenvolver o S.O. Unix

Originalmente foi escrita em Assembly

– A C é uma linguagem de proposito geral

INTRODUÇÃO À PROGRAMAÇÃO LINGUAGEM DE PROGRAMAÇÃO C

Dennis Ritchie

A linguagem foi chamada de C, porque sua características foram obtidas a partir de uma linguagem anteriormente chamada de B.

(4)

• A linguagem C é uma das linguagens de programação mais popular

• Existem poucas arquiteturas para as quais não existem compiladores para C

• C tem influenciado muitas outras linguagens de programação

• O Instituto Norte-americano de Padrões (ANSI) estabeleceu uma especificação para linguagem C

– ANSI X3.159-1989: Programming Language C (C ANSI)

INTRODUÇÃO À PROGRAMAÇÃO

LINGUAGEM DE PROGRAMAÇÃO C

(5)

• Características básicas:

– Case Sensitive

Diferencia maiúsculo e minúsculo

– Suporta tipos de dados primitivos

Caractere

Inteiro

Ponto flutuante

– Possui estruturas de controle para a programa estruturada

INTRODUÇÃO À PROGRAMAÇÃO

LINGUAGEM DE PROGRAMAÇÃO C

(6)

• Características básicas

(continuação)

:

– Possui operadores

Aritméticos

lógicos,

Relacionais

Condicionais

Bit a bit

– Apresenta funções de entrada e saída formatadas – Todo o programa em C tem uma função principal

– Todas as linhas (instruções) do programa deve terminar com “;”

INTRODUÇÃO À PROGRAMAÇÃO

LINGUAGEM DE PROGRAMAÇÃO C

(7)

COMO PROGRAMAR EM C?

(8)

• Um ambiente de programação é o conjunto de ferramentas usadas no desenvolvimento de programas

• Essas ferramentas podem ser:

– Sistema de arquivos – Editor de texto

– Linkeditor – compilador

LINGUAGEM DE PROGRAMAÇÃO C

AMBIENTE DE PROGRAMAÇÃO

(9)

• Ambiente Integrado de Desenvolvimento (IDE)

– Inclui uma grande coleção de ferramentas integradas

– Pode fornecer ainda programas auxiliares para o desenvolvimento

Gerador de códigos: ferramenta que possui a capacidade de gerar códigos a partir de um determinado modelo (diagrama de blocos)

LINGUAGEM DE PROGRAMAÇÃO C

INTERFACE DE DESENVOLVIMENTO

(10)

QUAL IDE SERÁ UTILIZADA?

(11)

NÃO USAREMOS IDE!

• IDE crias makefiles e regras próprias de compilação que acabam dificultando o aprendizado

• Estudantes de computação precisam saber como as coisas acontecem...

Entender os comandos (linha a linha)

Entender os parâmetros de compilação (como se complila) O porque do fechamento daquele par de “{ }”

Aprender as palavras chaves/reservadas Aprender a sintaxe da linguagem

AMBIENTE DE PROGRAMAÇÃO

INTERFACE DE DESENVOLVIMENTO

(12)

E O QUE USAREMOS?

(13)

USAREMOS O COMPILADOR + EDITOR DE TEXTO

• Sem geração de código automático

• Sem fechamento automático de par de “{ }”

• Sem endentação automática

• Sem sintaxe padrão da linguagem

• Sofrimento (“programação na mão”)

AMBIENTE DE PROGRAMAÇÃO

INTERFACE DE DESENVOLVIMENTO

(14)

QUANDO TEREI O PRAZER EM USAR UMA

IDE?

(15)

QUANDO JÁ ESTIVER DOMINANDO A LINGUAGEM

• Entendendo toda as etapas de compilação de um programa

• Apresentar poucos erros no console/prompt...

Pode usar um editor de texto que melhore a legibilidade (NOTEPAD++)

• Quando você estiver pensando em programação durante o café-da-manhã. Lanche, almoço e jantar...

Pode ir para uma IDE (Eclipse ou netbeans)

AMBIENTE DE PROGRAMAÇÃO

INTERFACE DE DESENVOLVIMENTO

(16)

QUAL COMPILADOR USAR?

(17)

• Vamos nos concentrar no compilador GNU Compiler Collection (GCC)

Mas qualquer outro compilador aderente ao padrão da linguagem C pode ser utilizado

• No Linux o compilador gcc já vem instalado na maioria das distribuições Linux

• No Window existem alguns pacotes que implementam um subconjunto do gcc

Minimalist GNU for Windows (MinGW) GNU + Cygnus + Windows (CygWin)

AMBIENTE DE PROGRAMAÇÃO

COMPILADOR

(18)

QUAL EDITOR DE TEXTO USAR?

(19)

EDITOR DE TEXTO LINUX

• No linux há excelentes opções de editore de texto

– Gedit (Editor de texto padrão GUI)

– Kate (pode acoplar um terminal virtual e funcionar como uma IDE)

– Geany (Tem características básicas de uma IDE) – Vi (O editor de texto mais utilizado do mundo)

– Emacs (Um ambiente de trabalho: documentos, email, web, música, IRC, agenda...)

AMBIENTE DE PROGRAMAÇÃO

EDITOR DE TEXTO

(20)

EDITOR DE TEXTO WINDOWS

• Para Windwos não há muitas opções:

– Bloco de notas

– Notepad++ (Editor que oferece uma interface agradável e melhor que o bloco de notas)

AMBIENTE DE PROGRAMAÇÃO

EDITOR DE TEXTO

(21)

PROCESSO DE COMPILAÇÃO

(22)

AMBIENTE DE PROGRAMAÇÃO COMPILAÇÃO

• O compilador C realiza o processo de compilação em 5 etapas:

– Edição

– Pré-processamento – Compilação

– Montagem – Ligação

(23)

AMBIENTE DE PROGRAMAÇÃO COMPILAÇÃO

EDIÇÃO

• Consiste de um programa de edição

• Os arquivos do programa C

devem ser então armazenados em um dispositivo de

armazenamento secundário

• Os arquivos devem ter a extensão .c

(24)

AMBIENTE DE PROGRAMAÇÃO COMPILAÇÃO

PRÉ-PROCESSAMENTO

Responsável por modificar o código- fonte

Ocorre nessa etapas:

a suspensão de espaços substituição de macros Inclusão de códigos

É gerado o código de unidade de compilação

gcc –E <prog>.c

gcc –E <prog.c> -o code.e

(25)

AMBIENTE DE PROGRAMAÇÃO COMPILAÇÃO

COMPILAÇÃO

• Responsável pela análise sintática e semântica da unidade de compilação

• Gera o código assembly correspondente

gcc –S <prog>.c

(26)

AMBIENTE DE PROGRAMAÇÃO COMPILAÇÃO

MONTAGEM

• Responsável por gerar o código-objeto

Os comandos assembly são transformado em linguagem de máquina

gcc –c <prog>.c

gcc –c <prog.c> -o code.s

(27)

AMBIENTE DE PROGRAMAÇÃO COMPILAÇÃO

LIGAÇÃO

• Etapa final...

Onde ocorre a combinação de todos os códigos-objetos que compõem um programa

O resultado é um código executável

(28)

COMO É A ESTRUTURA DE UM PROGRAMA

EM C?

(29)

• Um programa C consiste em uma função ou várias funções.

<tipo_retorno> <nome_função>(<lista_parâmetro>){

<instrução_1>;

<instrução_2>;

...

<instrução_n>;

return <valor_retorno>;

}

ESTRUTURA DE UM PROGRAMA EM C

(30)

• Um programa C precisa ter uma função principal, que deve ser chamada de main.

Essa função marca o ponto inicial do programa e a execução do programa só termina quando a função main encerrar.

A função main, retorna um valor inteiro e pode ou não possui parâmetros.

int main(){

int a, b, c;

c = a+b;

return 0;

}

ESTRUTURA DE UM PROGRAMA EM C

(31)

COMENTÁRIOS

(32)

ESTRUTURA DE UM PROGRAMA EM C COMENTÁRIOS

COMENTÁRIO DE LINHA

• Inicia com // e termina no final da linha;

• Pode iniciar no meio de uma linha e continuar até o final da linha

COMENTÁRIO DE MÚLTIPLAS LINHAS

• É iniciado pelo delimitador /*

e termina com o delimitador

*/

• Todo o texto entre os

delimitadores do comentário é ignorado pelo compilador.

(33)

PALAVRAS RESERVADAS

(34)

ESTRUTURA DE UM PROGRAMA EM C PALAVRAS RESERVADAS

auto break case char

const continue default do

double else enum extern

float for goto if

inline int long register

restrict return short signed

sizeof static struct switch

typedef union unsigned void

volatile while _Alignas _Alignof

_Atomic _Bool _complex _Generic

_Imaginary _Noreturn _static_assert _Thread_local

(35)

Referências

Documentos relacionados

Vamos voltar ao formulário (basta clicar na sua barra de título ou pressionar a tecla F12, ou ainda, menu View, comando Toggle Form/Unit) e efetuar o mesmo procedimento para o

Neste exemplo, para além do atributo border=0 (que especifica que não se pretende a bordadura que é colocada, por defeito, pelo HTML), constate-se uma outra possibilidade que é

Caso discordem, por favor deixem as vossas questões para o período de dúvidas, que não será gravado.... Funções com listas

• No exemplo do slide anterior, se quisermos transformar o código que traduz segundos para horas, minutos e segundos precisamos de uma função que retorna três valores. •

A linguagem C define identificadores como sendo nomes usados para se fazer referência a entidades do programa (variáveis, funções, rótulos, etc.) definidas pelo programador.. Em C,

Em relação ao while, este é constituído somente por um argumento, que corresponde à condição imposta, ou seja, enquanto a condição for verdadeira, o que está dentro do while

Quando implementadas como funções membros o operador a esquerda em operadores binários e o único operador em operadores unários é sempre um objeto de classe (o this é utilizado)..

Isto acontece porque programas escritos em linguagens de programação são traduzidos para o código de máquina do computador em vez de ser diretamente executado.. Uma meta ambiciosa