40
Aula 12: Introduc¸˜ ao ` a Linguagem C Fernanda Passos Universidade Federal Fluminense Programac¸˜ ao de Computadores IV Fernanda Passos (UFF) Introdu¸ ao ` a Linguagem C Programa¸ ao de Computadores IV 1 / 38

Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Embed Size (px)

Citation preview

Page 1: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Aula 12: Introducao a Linguagem C

Fernanda Passos

Universidade Federal Fluminense

Programacao de Computadores IV

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 1 / 38

Page 2: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Agenda

1 Revisao e Contexto

2 Introducao a Linguagens

3 A Linguagem C

4 Primeiros Programas em C

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 2 / 38

Page 3: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Agenda

1 Revisao e Contexto

2 Introducao a Linguagens

3 A Linguagem C

4 Primeiros Programas em C

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 3 / 38

Page 4: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Aulas Anteriores:

Algoritmos: sequencia de passos.Uma maneira de representa-los e atraves de pseudocodigo.I Vimos uma sintaxe para ele.I Como declarar variaveis primitivas e compostas,I como usar atribuicoes,I comandos de leitura e escrita,I estruturas de selecao,I estruturas de repeticao (definida e indefinida),I modularizacao (funcoes e procedimentos).

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 4 / 38

Page 5: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Foco da Aula de Hoje

Linguagens de Programacao:De maquina, de montagem e alto nıvel.Traducao de linguagens de alto nıvel para linguagem de maquina.Paradigmas de linguagens de programacao.

Introducao a Linguagem C:Escrita, compilacao e execucao.

Objetivos:Aprender os conceitos de linguagens de programacao.Como as linguagens sao entendidas pelo computador.Conhecer os tipos de linguagens.Mostrar como escrever, compilar e executar um programa em linguagem C.

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 5 / 38

Page 6: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Agenda

1 Revisao e Contexto

2 Introducao a Linguagens

3 A Linguagem C

4 Primeiros Programas em C

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 6 / 38

Page 7: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Introducao

O que e uma Linguagem de Programacao (LP):E um instrumento utilizado para se escrever programas de computadores, isto e, conjuntos deinstrucoes a serem seguidas pelo computador para realizar um determinado processo.

Quem computa as instrucoes?

I O processador.E como ele funciona?

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 7 / 38

Page 8: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Introducao

O que e uma Linguagem de Programacao (LP):E um instrumento utilizado para se escrever programas de computadores, isto e, conjuntos deinstrucoes a serem seguidas pelo computador para realizar um determinado processo.

Quem computa as instrucoes?I O processador.

E como ele funciona?

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 7 / 38

Page 9: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Introducao

O que e uma Linguagem de Programacao (LP):E um instrumento utilizado para se escrever programas de computadores, isto e, conjuntos deinstrucoes a serem seguidas pelo computador para realizar um determinado processo.

Quem computa as instrucoes?I O processador.

E como ele funciona?

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 7 / 38

Page 10: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Introducao (II)

Arquitetura simplificado de um computador:

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 8 / 38

Page 11: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Introducao (III)

Arquitetura simplificado de um processador:

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 9 / 38

Page 12: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Linguagem de Maquina

Processador entende apenas 0’s e 1’s.As instrucoes e dados sao representadas de forma binaria.Exemplo:

0 1 0 0 0 0 0 0 0 0 1 0 0 1 0

Registrador 2Registrador 1Registrador 0Operador de adição

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 10 / 38

Page 13: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Linguagem de Montagem

Conhecida como Assembly.Usam codigos com letras e numeros para representar os comandos.Necessita de um montador:I responsavel por traduzir a linguagem de montagem para linguagem de maquina.

Exemplo:I MOV &1 3I MOV &2 5I ADD &0 &1 &2

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 11 / 38

Page 14: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Linguagens de Alto Nıvel

Linguagens de programacao mais faceis de serem entendidas pelo homem.I Proxima a linguagem natural.

Apresentam:I Lexicografia: vocabulario.I Sintaxe: definida por uma gramatica.I Semantica: significado.

Exemplos de linguagens:I C, C++, Java, Python, Pascal, Fortran, Ada, Cobol, Lisp, Prolog.

Exemplo de escrita:

a = 3; b = 5; c = a + b;

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 12 / 38

Page 15: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Traducao de Linguagens de Programacao

Um codigo fonte escrito em linguagem de alto nıvel precisa ser traduzido paralinguagem de maquina.Existem 3 metodos de traducao:I compilacao,I interpretacao eI hıbrido.

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 13 / 38

Page 16: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Compilacao

O processo de compilacao efetua a traducao integral do programa fonte para o codigo demaquina.Uma vez traduzido, o programa em linguagem de maquina (executavel) pode serexecutado diretamente.Vantagens:I eficiencia no tempo de execucao e utilizacao de memoria;I requer apenas o executavel (nao necessita codigo fonte para executar).

Desvantagens:I portabilidade;I depuracao (embora existam programas para depurar usando o executavel).

Exemplos: C, C++, pascal, fortran.

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 14 / 38

Page 17: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Interpretacao

Cada instrucao do codigo fonte (ou conjunto) e traduzida para a linguagem de maquina.O interpretador recebe a instrucao, a traduz e a executa, retornando seu resultado.Vantagens:I facil depuracao,I portabilidade.

Desvantagens:I ineficiencia no tempo de execucao e utilizacao de memoria.I pouco usado.

Exemplos: Python, prolog, lisp.

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 15 / 38

Page 18: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Compilacao vs. Interpretacao

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 16 / 38

Page 19: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Hıbrido

Usa ambos os metodos:I compilacao eI interpretacao.

Apresenta duas etapas:1 compilacao para um codigo intermediario e2 interpretacao do codigo intermediario.

Exemplo: Java.I Primeiro usa um compilador para gerar codigo intermediario (bytecode).I Depois a JVM (maquina virtual) interpreta o bytecode.

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 17 / 38

Page 20: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Hıbrido (II)

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 18 / 38

Page 21: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Metodos de Traducao de LP: Resumo

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 19 / 38

Page 22: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Paradigmas de Linguagens de Programacao

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 20 / 38

Page 23: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Paradigmas de LP’s: Imperativo

Apresenta sequencia de alteracoes no estado da memoria do computador.Os conceitos fundamentais sao de variavel, valor e atribuicao.Estruturado:I uso de bloco aninhado de comandos,I desvios condicionais e incondicionais eI subprogramas.I Exemplos: C, pascal, fortran.

Orientado a objetos:I abstracao de dados.I Exemplos: Java, C++.

Concorrente:I processos executam simultaneamente eI concorrem por recursos.I Exemplo: Ada.

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 21 / 38

Page 24: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Paradigmas de LP’s: Declarativo

Sao especificacoes sobre a tarefa a ser realizada.Sao especificacoes de relacoes ou funcoes.Abstrai-se de como o computador e implementado.I O compilador ou interpretador gerencia memoria (aloca e desaloca).

Funcional:I programa composto por funcoes.

Logico:I uso de predicados logicos.I Deducao automatica.

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 22 / 38

Page 25: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Origem das Linguagens de Programacao

FORTRAN (1957):I aplicacoes numericas.

LISP (1959):I programacao funcional.

ALGOL (1960):I programacao

estruturada.COBOL (1960):I aplicacoes comerciais.

BASIC (1964):I ensino para leigos.

PASCAL (1971):I ensino de programacao

estruturada.I simplicidade.

C (1972):I implementacao de

UNIX.PROLOG (1972):I programacao logica.

SMALLTALK (1972):I programacao orientada

a objetos.ADA (1983):I programacao

concorrente.C++ (1985):I disseminacao da

programacao orientadaa objetos.

JAVA (1995):I mais simples e confiavel

que C++.

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 23 / 38

Page 26: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Agenda

1 Revisao e Contexto

2 Introducao a Linguagens

3 A Linguagem C

4 Primeiros Programas em C

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 24 / 38

Page 27: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

A Linguagem C

A linguagem C foi criada por Dennis Ritchie, em 1972, no centro de pesquisas da BellLaboratories.Primeiramente usada na reescrita do Sistema Operacional UNIX.I Que ate entao era escrito em assembly.

E uma linguagem imperativa estruturada e compilada.I Gera um executavel.

Algumas caracterısticas:I geracao de codigo eficiente,I compilacao separada,I recursos de baixo nıvel,I confiabilidade,I portabilidade.

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 25 / 38

Page 28: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Agenda

1 Revisao e Contexto

2 Introducao a Linguagens

3 A Linguagem C

4 Primeiros Programas em C

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 26 / 38

Page 29: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Ola Mundo!

#include <stdio.h>

/* Programa que escreve a mensagem "Ola Mundo!" na tela */int main(int argc, char ** argv){

printf("Ola mundo!\n");

return(0);

}

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 27 / 38

Page 30: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Explicacao do Codigo

Inicialmente, uma inclusao de uma biblioteca para escrever texto na tela.I Veremos o que sao bibliotecas mais a frente e como usa-las.

Comentarios:I Servem para colocarmos explicacoes pelo codigo.I Comentario de linha: toda linha iniciada por //.I Comentario de bloco: todo texto entre /* e */.

F Pode ter mais de uma linha.I Sao ignorados pelo compilador.

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 28 / 38

Page 31: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Explicacao do Codigo II

A linguagem C trabalha com funcoes:I A funcao main e a funcao principal.

F Sempre retorna um inteiro: int.I Ela e obrigatoria para um programa.I argc e argv sao parametros do programa.

F Nao sao obrigatorio mas sao muito uteis!F Nos permite passar valores por linha de comando para o programa, ao executa-lo.F Veremos como usa-los em aulas posteriores.

I Corpo do main e delimitado por { e }.I Comando de impressao printf e usado.I Como e funcao, devemos especificar o seu retorno no final.

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 29 / 38

Page 32: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Compilando e Executando

Como vimos, C e uma linguagem compilada.Apos escrever o codigo, devemos compilar usando um programa.I Em linha de comando, podemos chamar o programa gcc.

GCC – GNU Compiler Collection.I Software livre sob licenca da GNU General Public License.I Em Linux, geralmente ja vem instalado.I Em Windows, existe uma implementacao chamada MinGW.

F http://www.mingw.org/wiki/howto_install_the_mingw_gcc_compiler_suite.F Existem outros diversos tutoriais na Internet ensinando a instalar.

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 30 / 38

Page 33: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Compilando e Executando (II)

Primeiro, editar o arquivo e salvar com a extensao .c.I Pode ser editado em qualquer editor de texto sem formatacao.I E bom escolher um que faca syntax highlight: coloca cores de acordo com a sintaxe.I Em Linux, gedit, notepad, vim . . .I Em Windows, notepad++, bloco de notas (sem syntax highlights) . . .

Para simplificar, usaremos linha de comando.I No Linux, abrir um terminal.I No Windows, abrir um terminal DOS.

Compilando:gcc nome_arquivo.c -o nome_executavel

Executando:./nome_executavel

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 31 / 38

Page 34: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Compilando e Executando: Exemplo

Escrever o codigo para imprimir a mensagem “Ola mundo!”.I Salvar como hello.c.

Para simplificar, usaremos linha de comando.Compilando:gcc hello.c -o hello

Executando:./hello

Saıda em tela:Ola mundo!

Atividade: realizar os passos acima, em um computador.

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 32 / 38

Page 35: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Resumo: Gerando um Programa em C

Etapa 1: Escrever o codigo (fase de implementacao do algoritmo) em um editor de texto:I Salvar o arquivo com a extensao .c.

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 33 / 38

Page 36: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Resumo para Gerar um Codigo C (II)

Etapa 2: Em linha de comando, chamar o programa compilador gcc passando o arquivocom o codigo .c:

Etapa 3: Chamar o executavel gerado pelo compilador (execucao do programa):

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 34 / 38

Page 37: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Biblioteca

O padrao ANSI C possui um conjunto de bibliotecas com o compilador.I Permitem manipular entrada e saıda;I Permitem manipular entrada e saıda em arquivos;I Permitem trabalhar com funcoes matematicas;I etc.

Biblioteca:E uma colecao de subprogramas utilizados no desenvolvimento de programasde computadores.

Cada biblioteca apresenta o seu arquivo de cabecalho (header) com a extensao “.h”.I Exemplo: stdio.h

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 35 / 38

Page 38: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Inclusao de Biblioteca

Bibliotecas devem ser incluıdas (include) no inıcio do arquivo do programa.I Sintaxe de inclusao de arquivo:

#include<nome_da_biblioteca.h>A biblioteca padrao C e a stdio.h (standard input-output header).I Permite manipular entrada e saıda padrao.I Geralmente queremos incluı-la.

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 36 / 38

Page 39: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Erros

A linguagem C apresenta uma sintaxe especıfica.I Ela deve ser seguida corretamente.I Caso contrario, ocorrerao erros.I Neste caso, temos um erro de compilacao.

Erros podem ocorrer mesmo apos ser gerado o programa pelo compilado.I Erro de execucao.I Geralmente ocorrem devido a:

F erros de manipulacao de variaveis,F erros de logica,F divisao por 0, etc.

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 37 / 38

Page 40: Aula 12: Introdução à Linguagem Cfernanda/2016-1/progIV/aulas/aula12.pdf · Agenda 1 Revis˜ao e Contexto 2 Introduc¸˜ao a Linguagens 3 A Linguagem C 4 Primeiros Programas em

Exercıcios

1 Reproduza, em um computador, o codigo em linguagem C do exemplo apresentado hello.c;2 Compile o codigo;3 Execute.4 Faca uma alteracao no codigo trocando o primeiro int por INT, compile novamente.

I Leia o erro indicado e explique porque ele ocorreu.5 Remova a linha onde ha o include e compile.

I Leia o erro indicado e explique porque ele ocorreu.

Fernanda Passos (UFF) Introducao a Linguagem C Programacao de Computadores IV 38 / 38