• Nenhum resultado encontrado

Aula01-FundamentosDaLinguagemC

N/A
N/A
Protected

Academic year: 2021

Share "Aula01-FundamentosDaLinguagemC"

Copied!
43
0
0

Texto

(1)

Fundamentos da Linguagem C

João Frederico Roldan Viana

jfredrv@gmail.com (85)99231.2777

(2)

Agenda

Fundamentos da Linguagem C

– Linguagem de Programação – Exemplos de Código – A linguagem C – Um programa C – Ambiente de Programação – Exercício

(3)

Fundamentos da Linguagem C

Linguagem de Programação

• Um programa de computador é um conjunto

instruções que representam um algoritmo para a resolução de algum problema.

• Estas instruções são escritas através de um conjunto de códigos (símbolos e palavras).

• Este conjunto de códigos possui regras de estruturação lógica e sintática própria.

• Dizemos que este conjunto de símbolos e regras formam uma linguagem de programação.

(4)

Fundamentos da Linguagem C

Linguagem de Baixo Nível

• São linguagens voltadas para a máquina, isto é, são escritas usando as instruções do microprocessador do computador.

• Vantagens: Programas são executados com maior velocidade de processamento e ocupam menos espaço na memória.

• Desvantagens: Em geral, tem pouca portabilidade, isto é, um código gerado para um tipo de

processador não serve para outro. Não são

(5)

Fundamentos da Linguagem C

Linguagem de Alto Nível

• São linguagens voltadas para o ser humano. Em geral utilizam sintaxe estruturada tornando seu código mais legível.

• Necessitam de compiladores ou interpretadores para gerar instruções do microprocessador.

• Interpretadores fazem a interpretação de cada

instrução do programa fonte executando-a dentro de um ambiente de programação.

• Compiladores fazem a tradução de todas as

instruções do programa fonte gerando um programa executável.

(6)

Fundamentos da Linguagem C

Linguagem de Alto Nível (cont.)

• Vantagens: Por serem compiladas ou interpretadas, tem maior portabilidade podendo ser executados em varias plataformas com pouquíssimas modificações. Em geral, a programação torna-se mais fácil por

causa do maior ou menor grau de estruturação de suas linguagens.

• Desvantagens: Em geral, as rotinas geradas (em linguagem de maquina) são mais genéricas e

portanto mais complexas e por isso são mais lentas e ocupam mais memória.

(7)

Fundamentos da Linguagem C

Nível

Baixo Médio Alto

VELOCIDADE CLAREZA

Assembler Macro Assembler

(8)

Fundamentos da Linguagem C

Exemplos de Códigos

• Podemos escrever um algoritmo para resolução de um problema por intermédio de qualquer linguagem. • Pseudo-código:

leia num

para n de 1 até 10 passo 1 faça tab  num * n

imprime tab fim faça

(9)

Fundamentos da Linguagem C

Exemplos de Códigos

• Pascal: read (num); for n := 1 to 10 do begin tab = num * n; write (tab); end;

(10)

Fundamentos da Linguagem C

Exemplos de Códigos

• Fortran: read (num) do 1 n = 1:10 tab = num * n write(tab) 10 continue

(11)

Fundamentos da Linguagem C

Exemplos de Códigos

• C: scanf(&num); for (n = 1; n<= 10; n++){ tab = num * n; printf(“%d \n”, tab); }

(12)

Fundamentos da Linguagem C

Exemplos de Códigos

• Basic:

10 input num

20 for n = 1 to 10 step 1 30 let tab = num * n

40 print chr$ (tab) 50 next n

(13)

Fundamentos da Linguagem C

Exemplos de Códigos

• Assembly: MOV CX,0 IN AX,PORTA MOV DX,AX LABEL: INC CX MOV AX,DX MUL CX

OUT AX, PORTA CMP CX,10

(14)

Fundamentos da Linguagem C

A linguagem C

• Por que estudar C?

• Sistemas Operacionais atuais são escritos em C ou C++. O LINUX, por exemplo.

• O desempenho de programas C são comparados a programas Assembly.

• Uso em sistemas embutidos (embarcados). • Serve de base para muitos pseudocódigos de

livros.

• Inspirou a maioria das linguagens atuais C++, Java, PHP, C#.

(15)

Fundamentos da Linguagem C

A linguagem C

• Histórico

1970: Denis Ritchie desenha uma linguagem a partir do BCPL nos laboratórios da Bell

Telephones, Inc. Chama a linguagem de B.

1978: Brian Kerningham junta-se a Ritchie para aprimorar a linguagem. A nova versão chama-se C. Pelas suas características de portabilidade e estruturação já se torna popular entre os

programadores.

~1980: A linguagem é padronizada pelo American National Standard Institute: surge o ANSI C.

(16)

Fundamentos da Linguagem C

A linguagem C

• Histórico

~1990: A Borland International Co, fabricante de compiladores profissionais escolhe o C e o Pascal como linguagens de trabalho para o seu

Integrated Development Enviroment (Ambiente Integrado de Desenvolvimento). Surge o Turbo C. ~1992: O C se torna ponto de concordância entre

teóricos do desenvolvimento da teoria de Object Oriented Programming (programação orientada a objetos). Surge o C++.

(17)

Fundamentos da Linguagem C

A linguagem C

• Linguagem de Médio Nível

Compartilha recursos tanto de alto quanto de baixo nível.

• Linguagem Estruturada • Case Sensitive

bola  BOLA  Bola  bolA • Palavras chaves são minúsculas

if, else, for, while, do, int, const, . . . • Possui apenas 4 tipos de dados

(18)

Fundamentos da Linguagem C

Um programa C

• É constituído em:

Um cabeçalho contendo as diretivas de compilador onde se definem o valor de

constantes simbólicas, declaração de variáveis, inclusão de bibliotecas, declaração de rotinas, etc.

Um bloco de instruções principal e outros blocos de rotinas.

(19)

Fundamentos da Linguagem C

Um programa C

• Esboço:

declaracoes globais

tipo_retorno nome_da_funcao (parametros) {

comandos; }

tipo_retorno main (parametros) {

(20)

Fundamentos da Linguagem C

Um programa C

• Endentação

Organização do código através de níveisNão é necessária para a compilação

Mas é importante para tornar o código mais legível, facilitando, assim, sua manutenção.

(21)

Fundamentos da Linguagem C

scanf(&num); if (num < 4) { printf(“Reprovado”); } else { if (num >= 7){ printf(“Aprovado”); } else { printf(“Fazer final”); } 

Um programa C

• Endentação

(22)

Fundamentos da Linguagem C

scanf(&nota); if (nota < 4) { printf(“Reprovado”); } else { if (nota >= 7){ printf(“Aprovado”); } else { printf(“Fazer final”); } 

Um programa C

• Endentação

(23)

Fundamentos da Linguagem C

Ambiente de Programação

• Local onde os programas são desenvolvidos

Apenas um ambiente facilitador para desenvolver programas em uma certa linguagem

• Diferente de compilador

Compilador não é o ambiente de programaçãoA maioria dos ambientes instala consigo um

compilador

• Ambiente utilizado na disciplina CodeBlocks

(24)

Fundamentos da Linguagem C

Ambiente de Programação

• Como criar um programa executável

Código escrito em uma linguagem de programação qualquer

Programa que transforma o código-fonte em código objeto

Código mais próximo da linguagem de máquina

Linker ou Editor de Ligações

Une o código objeto do programa com os códigos objetos das bibliotecas

utilizadas Código-fonte

Compilador Código objeto

(25)

Fundamentos da Linguagem C

Ambiente de Programação

(26)

Fundamentos da Linguagem C

Ambiente de Programação

(27)

Fundamentos da Linguagem C

Ambiente de Programação

(28)

Fundamentos da Linguagem C

Ambiente de Programação

(29)

Fundamentos da Linguagem C

Ambiente de Programação

(30)

Fundamentos da Linguagem C

Ambiente de Programação

(31)

Fundamentos da Linguagem C

Ambiente de Programação

(32)

Fundamentos da Linguagem C

Ambiente de Programação

(33)

Fundamentos da Linguagem C

Ambiente de Programação

(34)

Fundamentos da Linguagem C

Ambiente de Programação

(35)

Fundamentos da Linguagem C

Ambiente de Programação

(36)

Fundamentos da Linguagem C

Ambiente de Programação

(37)

Fundamentos da Linguagem C

Ambiente de Programação

(38)

Fundamentos da Linguagem C

Ambiente de Programação

(39)

Fundamentos da Linguagem C

Ambiente de Programação

(40)

Fundamentos da Linguagem C

Exercício

• Escreva o seu primeiro programa em C. Ele deverá imprimir na tela a frase “Alo Mundo”.

(41)

Fundamentos da Linguagem C

Exercício

(42)

Fundamentos da Linguagem C

Exercício

• CodeBlocks - Compilando e linkando Build  Build (Ctrl + F9)

(43)

Fundamentos da Linguagem C

Exercício

• CodeBlocks - Executando

Build  Run (Ctrl + F10)

• CodeBlocks - Compilando e Executando Build  Build and Run (F9)

Referências

Documentos relacionados

(Ufg) Para medir a área de uma fazenda de forma triangular, um agrimensor, utilizando um sistema de localização por satélite, encontrou como vértices desse triângulo os pontos

Neste sentido, a Agência Nacional de Águas - ANA está empenhada em estabelecer um sistema de outorga (direito de utilizar os rios), em articulação com os governos estaduais,

For example: the warning “Drinking alcohol at the same time as taking aspirin increases the risk of bleeding”, in the second section of the English PIL repro- duced in Appendix 1,

Doar sangue é um ato de amor ao próximo e, mais do que isso, ao fazer esse gesto, o doador ainda pode dar esperança de vida e de saúde para quem mais precisa: pode ser o pai, a

O São Paulo, nesses termos, já aplicou 606 goleadas em toda a história, em. 224

A origem da água termal de São Pedro do Sul resulta de uma grande racha nas rochas de granito que existem no local onde as Termas se localizam.. A água termal de São Pedro do

À medida que se caminha do Municí- pio de São Paulo para as regiões perifé- ricas do Grande São Paulo, observa-se que o número de unidades sanitárias di- minuem exatamente nas

Quão fortes são os regulamentos existentes (planos de uso e ocupação do solo, códigos de construção, etc) para apoiar a redução de risco de desastres locais. Nível de