Você está na página 1de 31

Instituto Federal de Educação, Ciência e Tecnologia de Pernambuco

Programação Estruturada
Campus Garanhuns

Introdução ao C Professor: Diego Lopes

Semana 01 GARANHUNS 2020 1/31


PROGRAMAÇÃO É PRÁTICA!

Semana 01 INTRODUÇÃO AO C 2/31


Introdução
•A linguagem utilizada internamente pelo computador é a linguagem de máquina:
• Composta apenas por 0 e 1.

•Para seres humanos esta linguagem é difícil de compreender e fácil de acarretar erros:
• Por esta razão foram inventadas linguagens de programação de alto nível que são mais próximas da
linguagem natural humana.

Semana 01 INTRODUÇÃO AO C 3/31


Introdução
•Como os computadores podem entender a linguagem que entendemos?
•Existem programas que convertem a linguagem de alto nível em linguagem de máquina para ser
compreendida pelo computador:
• Tradutores;
• Interpretadores;
• compiladores.

Semana 01 INTRODUÇÃO AO C 4/31


Introdução
•Um sistema é um conjunto de partes ordenadas que cooperam/concorrem para atingir um
objetivo comum.
•Sistema de computação:
• Conjunto de partes (memória, teclado, processador, periféricos, programas básicos) que se coordenam
para a realização de um objetivo: computar.

•Sistema de processamento de dados:


• Sistemas de computação (hardware ou software básico fornecido pelo fabricante);
• Sistemas de aplicação (programas desenvolvidos pelo usuário).

Semana 01 INTRODUÇÃO AO C 5/31


Introdução
•Qualquer processamento de dados requer a execução de uma série de etapas;
•Tais etapas, elaboradas e executadas passo-a-passo, constituem o que se chama de programa;
•Cada passo é uma diferente instrução dada ao hardware;
•O programa é um conjunto de instruções.

“Algorítmo é um conjunto finito de


Instruções/etapas ordenadas para solução
de um problema”

Semana 01 INTRODUÇÃO AO C 6/31


Introdução
•Exemplo de algorítmo para a soma de 100 números:

1. Escrever e guardar N=0 e SOMA = 0;


2. Ler número da entrada;
3. Somar o valor de número lido ao conteúdo de SOMA;
4. Somar 1 ao valor de N;
5. Se N for menor do que 100 , voltar ao passo 2;
6. Senão imprimir o valor de SOMA
7. Parar

Semana 01 INTRODUÇÃO AO C 7/31


Introdução
•Para ser executado o algorítimo deve ser formalizado em uma linguagem de programação:
• O computador entende a linguagem de máquina;

•Porém, os programas são codificados em linguagens de alto nível que são mais próximas do
entendimento dos programadores.

Semana 01 INTRODUÇÃO AO C 8/31


Introdução
•Exemplo programa em C:

Semana 01 INTRODUÇÃO AO C 9/31


Introdução
•Como, a partir de um programa em uma linguagem de alto nível, ocorre a solução do problema
desejado?
•Tradução realizada por um software no sistema operacional;
•Bibliotecas necessárias;
•Geração de um executável (aplicativo, por exemplo) que pode ser executado no sistema em
questão:
• Executável compatível com o sistema e arquitetura.

Semana 01 INTRODUÇÃO AO C 10/31


O COMPUTADOR É BURRO, PORÉM
OBEDIENTE!

Semana 01 INTRODUÇÃO AO C 11/31


O COMPUTADOR É BURRO, PORÉM
OBEDIENTE!

Semana 01 INTRODUÇÃO AO C 12/33


História do C
•Desenvolvido a partir de duas linguagens:
• BCPL (Basic Combined Programming Language)
• Desenvolvida em 1967 por Martin Richards;
• Desenvolvida para escrever SO (Sistemas Operacionais) e Compiladores.
• B
“Hello World” em BCPL
• Desenvolvida baseada no BCPL por Ken Thompson;
• Utilizada na criação dos primeiros SO UNIX;
• Nasceu na Bell Labs em 1970.
• Tanto o B quanto o BCPL eram linguagens seja sem tipo
• Todos os itens ocupavam uma “palavra” na memória
• A responsabilidade de lidar com os itens de dados recaía sobre o programador
“Hello World” em B

Semana 01 INTRODUÇÃO AO C 13/31


História do C
•A linguagem C foi desenvolvida a partir do B
• Desenvolvida por Dennis Ritchie;
• Desenvolvida na Bell Labs em 1972;
• Linguagem de desenvolvimento do SO UNIX;
• Atualmente todos os grandes SO são escritos em C/C++;
• O C independe do hardware;
• Em 1989 surgiu o chamado “C padrão” – ANSI C.

“Como o C é uma linguagem independente de hardware


e amplamente disponível, as aplicações escritas em C
podem ser executadas com pouca ou nenhuma modificação
em uma grande variedade de sistemas computacionais.”

Semana 01 INTRODUÇÃO AO C 14/31


Características do C
•O C é um linguagem:
• Compilada
• o código fonte é executado pelo processador após ser traduzido por meio de um processo chamado compilação, usando um
programa de computador chamado compilador, para uma linguagem de baixo nível.
• Estruturada
• A programação estruturada (PE) é um paradigma de programação, uma forma de programação de computadores, com ênfase no
uso de subrotinas, laços de repetição, condicionais e estruturas em bloco.
• Imperativa
• é um paradigma de programação que descreve a computação como ações, enunciados ou comandos que mudam as variáveis de
um programa. Programas imperativos são uma sequência de comandos para o computador executar.
• Procedural
• paradigma de programação baseado no conceito de chamadas a procedimento (en: procedure call);
• De Alto-Nível
• uma linguagem com um nível de abstração relativamente elevado, longe do código de máquina e mais próximo à linguagem
humana.

Semana 01 INTRODUÇÃO AO C 15/31


A Biblioteca Padrão do C
•Ao programar em C serão utilizados, normalmente, os seguintes blocos de construção:
• Funções da C Standard Library (biblioteca padrão);
• Funções criadas por você mesmo;
• Funções criadas por outras pessoas e colocadas à sua disposição.

•Usar funções existentes:


• Evitar reinventar a roda;
• Aumenta a chance de portabilidade do código;
• Utiliza os recursos de forma mais otimizada.

Semana 01 INTRODUÇÃO AO C 16/31


Programação em C
•Normalmente os programas em C passam por seis fases para serem executados:
• Edição;
• Pré-Processamento;
• Compilação;
• Linking (ligação);
• Carregamento;
• Execução.

Semana 01 INTRODUÇÃO AO C 17/31


Programação em C
•Edição:
• Consiste na edição de um arquivo;
• Realizado através de um programa editor:
• Também presentes nas IDE (Integrated development environment).
• Digita um programa em C e o editor faz as correções necessárias
• Os nomes dos programas em C devem ter a extensão “.c”
• Ex: somador.c , imprimetela.c, estudo.c ...
• Exemplo de editores:
• VI;
• EMACS;
• Notepad++.

Semana 01 INTRODUÇÃO AO C 18/31


Programação em C
•Pré-processamento e compilação:
• O compilador traduz o programa em C para o código de linguagem de máquina:
• Conhecido como código-objeto.
• Pré-Processador:
• Em um sistema C um pré-processador é executado antes da tradução começar;
• Obedece a comandos especiais chamados de diretivas de pré-processamento;
• Indicam que determinadas manipulações devem ser realizadas no programa
antes da compilação;
• Tais manipulações consistem normalmente em:
• Incluir outros arquivos no arquivo;
• Substituir simbolos especiais por texto de programa.
• Após a fase de pré-processamento o programa pode ser compilado.

Semana 01 INTRODUÇÃO AO C 19/31


Programação em C
•Linking ou Ligação:
• Programas em C contêm referências a funções definidas em outros locais;
• Bibliotecas padrão;
• Bibliotecas criadas por um grupo de programadores.
• O código objetivo gerado pelo compilador possui “lacunas”
• Lacunas geradas devido a falta dessas funções.
• Um linker faz a ligação do código-objeto com o código
das funções que estão faltando para produzir uma imagem
executável.
• No Windows a imagem executável será um arquivo “.exe”

Semana 01 INTRODUÇÃO AO C 20/31


Programação em C
•Carregamento:
• Um programa deve ser colocado na memória antes que possa ser executado pela primeira vez. Isto é
feito pelo carregador (rotina de carga ou loader).
• O carregador transfere a imagem executável do disco para a RAM.

•Execução:
• Finalmente, o processador executa as instruções do programa,
uma após a outra.

Semana 01 INTRODUÇÃO AO C 21/31


O DEV C++
•É um IDE (Integrated Development Environment);
•Utiliza compiladores do projeto GNU (OS GPL – General Public License);
•Suporta C e C++;
•Possui toda biblioteca ANSI C;
•Escrita em Delphi.

Semana 01 INTRODUÇÃO AO C 22/31


Nosso Primeiro Programa em C
•Imprimir uma linha de texto

Semana 01 INTRODUÇÃO AO C 23/31


Nosso Primeiro Programa em C
•Algumas sequências comuns de escape

Semana 01 INTRODUÇÃO AO C 24/31


Nosso Primeiro Programa em C
•Imprimir uma linha de texto com duas instruções printf

Semana 01 INTRODUÇÃO AO C 25/31


Nosso Primeiro Programa em C
•Imprimir várias linhas com um único printf

Semana 01 INTRODUÇÃO AO C 26/31


Programa de Soma
•Programa de soma de dois inteiros

Semana 01 INTRODUÇÃO AO C 27/31


Programa de Soma
•Programa de soma de dois inteiros

“Um nome de variável em C é qualquer identificador válido. Um identificador


é uma série de caracteres que consistem em letras, dígitos e sublinhados (_) que não
começa com um dígito. Um identificador pode ter qualquer comprimento, mas
somente os 31 primeiros caracteres serão reconhecidos pelos compiladores C, de
acordo com o padrão ANSI C. O C faz distinção entre letras maiúsculas e
minúsculas (sensível a caixa alta/baixa ou case sensitive) — como as letras
maiúsculas e minúsculas são diferentes em C, a1 e A1 são identificadores diferentes.”

Semana 01 INTRODUÇÃO AO C 28/31


Programa de Soma
•Programa de soma de dois inteiros direto na função printf

Semana 01 INTRODUÇÃO AO C 29/31


Exercícios
•Imprima a mensagem "Este e um programa em C" em uma linha.
•Imprima a mensagem "Este e um programa em C" em duas linhas, sendo que a primeira linha
termina com a palavra um.
•Imprima a mensagem "Este e um programa em C" com cada palavra em uma linha separada.
•Imprima a mensagem "Este e um programa em C" com todas as palavras separadas por
tabulações.
•Faça um programa para subtrair 2 inteiros;
•Faça um programa para somar 3 inteiros;
•Faça um programa para somar 2 inteiros e subtrair o resultado de um outro inteiro guardado
fornecido pelo usuário.

Semana 01 INTRODUÇÃO AO C 30/31


Dúvidas?

Semana 01 INTRODUÇÃO AO C 31/31

Você também pode gostar