Fundamentos da Linguagem C
João Frederico Roldan Viana
jfredrv@gmail.com (85)99231.2777
Agenda
Fundamentos da Linguagem C
– Linguagem de Programação – Exemplos de Código – A linguagem C – Um programa C – Ambiente de Programação – ExercícioFundamentos 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.
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
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.
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.
Fundamentos da Linguagem C
Nível
Baixo Médio Alto
VELOCIDADE CLAREZA
Assembler Macro Assembler
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
Fundamentos da Linguagem C
Exemplos de Códigos
• Pascal: read (num); for n := 1 to 10 do begin tab = num * n; write (tab); end;Fundamentos da Linguagem C
Exemplos de Códigos
• Fortran: read (num) do 1 n = 1:10 tab = num * n write(tab) 10 continueFundamentos da Linguagem C
Exemplos de Códigos
• C: scanf(&num); for (n = 1; n<= 10; n++){ tab = num * n; printf(“%d \n”, tab); }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
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 CXOUT AX, PORTA CMP CX,10
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#.
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.
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++.
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
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.
Fundamentos da Linguagem C
Um programa C
• Esboço:
declaracoes globais
tipo_retorno nome_da_funcao (parametros) {
comandos; }
tipo_retorno main (parametros) {
Fundamentos da Linguagem C
Um programa C
• Endentação
Organização do código através de níveis Não é necessária para a compilação
Mas é importante para tornar o código mais legível, facilitando, assim, sua manutenção.
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çãoFundamentos da Linguagem C
scanf(¬a); if (nota < 4) { printf(“Reprovado”); } else { if (nota >= 7){ printf(“Aprovado”); } else { printf(“Fazer final”); } Um programa C
• EndentaçãoFundamentos 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ção A maioria dos ambientes instala consigo um
compilador
• Ambiente utilizado na disciplina CodeBlocks
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
Fundamentos da Linguagem C
Ambiente de Programação
Fundamentos da Linguagem C
Ambiente de Programação
Fundamentos da Linguagem C
Ambiente de Programação
Fundamentos da Linguagem C
Ambiente de Programação
Fundamentos da Linguagem C
Ambiente de Programação
Fundamentos da Linguagem C
Ambiente de Programação
Fundamentos da Linguagem C
Ambiente de Programação
Fundamentos da Linguagem C
Ambiente de Programação
Fundamentos da Linguagem C
Ambiente de Programação
Fundamentos da Linguagem C
Ambiente de Programação
Fundamentos da Linguagem C
Ambiente de Programação
Fundamentos da Linguagem C
Ambiente de Programação
Fundamentos da Linguagem C
Ambiente de Programação
Fundamentos da Linguagem C
Ambiente de Programação
Fundamentos da Linguagem C
Ambiente de Programação
Fundamentos da Linguagem C
Exercício
• Escreva o seu primeiro programa em C. Ele deverá imprimir na tela a frase “Alo Mundo”.
Fundamentos da Linguagem C
Exercício
Fundamentos da Linguagem C
Exercício
• CodeBlocks - Compilando e linkando Build Build (Ctrl + F9)
Fundamentos da Linguagem C
Exercício
• CodeBlocks - Executando
Build Run (Ctrl + F10)
• CodeBlocks - Compilando e Executando Build Build and Run (F9)