Buscar

Aula 07 - Introdução à Programação-Linguagem C

Prévia do material em texto

CCT0001 - Introdução à Programação
Aula 07: Linguagem de Programação C
Motivação
Introdução
Conceitos
• Históricos
• Evolução
• Principais linguagens
• Estrutura da linguagem
• Diferença entre códigos
• Exemplos de bibliotecas
• Variáveis
• Exemplo de algoritmos
Agenda
Linguagem de Programação C
Introdução à Programação
AULA 8: Estruturas de Repetição
Histórico da
Linguagem
Linguagem C
Histórico da linguagem C
Linguagem de Programação C
Introdução à Programação
AULA 8: Estruturas de Repetição
Como surgiu o C?
É uma linguagem de programação compilada de propósito
geral, estruturada, robusta, procedural, padronizada pela ISO, criada
em 1972, por Dennis Ritchie, o propósito com a criação da
linguagem era desenvolver o sistema Unix.
5
histórico da linguagem C
Linguagem C
Introdução à Programação
AULA 8: Estruturas de Repetição
Características
 C é uma linguagem de alto nível; e Permite a manipulação de bits,
bytes e endereços:
 Linguagens de alto nível são independentes da arquitetura da
máquina e fáceis de programar;
 Linguagens de baixo nível são dependentes da arquitetura da
máquina (cada comando corresponde a uma instrução básica
que o processador pode executar) e difíceis de programar;
 C combina elementos de uma linguagem de alto e baixo nível
como Assembly.
6
histórico da linguagem C
Linguagem C
Introdução à Programação
AULA 8: Estruturas de Repetição
Características
 A principal característica de uma linguagem estruturada é a
compartimentalização (divisão) de códigos e dados:
 É a habilidade de dividir o programa em sub-rotinas que
empregam variáveis locais ou globais;
 O principal componente estrutural de C são as funções;
7
histórico da linguagem C
Linguagem C
Introdução à Programação
AULA 8: Estruturas de Repetição
Evolução:
8
histórico da linguagem C
JavaC# PHP
C++(1979)
C (1972)Surgimento
Evolução
Derivação
Python
Introdução à Programação
AULA 8: Estruturas de Repetição
Evolução (cont.)
9
histórico da linguagem C
C C++ C#-Python e Java
Sem orientação
a objeto
Com orientação
a objeto
Com orientação
a objeto
Alto desempenho Alto desempenho Baixo desempenho
Pouca portabilidade Pouca portabilidade Grande portabilidade
Linguagem C
Linguagens de Alto Nível 
• São linguagens de programação que utilizam notações
matemáticas e grupos de palavras para representar as
instruções de máquina (while, for, do while, switch).
• Isto torna o processo de programação mais próximo do
entendimento humano.
• BASIC, Fortran, Cobol, C, Pascal, Java, etc
Linguagem de Programação C
Linguagens de Alto Nível 
• Muitas destas linguagens foram desenvolvidas para atender 
os problemas de áreas de aplicação específica.
• Exemplo
– linguagens para aplicações comerciais, científicas, administrativas, de 
ensino, etc. 
– Exemplo:
- JAVA
- PHP
- PASCAL (IDE Delphi)
- Android (Plataforma mobile)
- Dentre outas.
Linguagem de Programação C
C comparado a outras linguagens
• Alto Nível
– Devemos entender como a capacidade da linguagem de
compreender instruções em “dialetos” próximos ao Inglês
– Ex: Ada e Pascal
• Baixo Nível
– Para aquelas linguagens que se aproximam do Assembly, que
a linguagem própria da máquina ou linguagem de hardware.
Linguagem de Programação C
Compilação em C
• C é uma linguagem compilada:
– lê todo o código fonte e gera o código objeto (ling. de
máquina) uma única vez. Assim, como a grande maioria das
linguagens hoje são linguagens compiladas, ou seja ,
possuem seus proprios compiladores.
Linguagem de Programação C
Trechos de códigos em Assembly e C
Linguagem de Programação C
Conceitos e definições
Linguagem de Programação C
-Linguagem
-Algoritmo
-Lógica
Introdução à Programação
AULA 8: Estruturas de Repetição
É um conjunto de regras sintáticas e semânticas usadas para definir
um programa de computador.
É um método padronizado para enviar instruções para um
computador.
16
O que é linguagem de programação?
Linguagem C
Conhecendo a estrutura básica em C
Linguagem de Programação C
Conhecendo a estrutura básica em C
Um programa C consiste em uma ou várias funções. Os nomes programa
função se confundem em C.Vamos começar pelo menor programa em C.
# include <stdio.h>-- ---------------------→funções de entrada e saída em C.
# include <stdLib.h>-- ---------------------→funções de entrada e saída em C.
# include <conio.h >-- ---------------------→funções de controle em C.
#include <math.h> -----------------------→ usa operações matemáticas.
main () -------------------------→ função principal, identifica o programa.
{ } ------------------------→ abre/fecha estruturas de comando (main ()
( ) ------------------------→ abre/fecha comandos específicos para as 
estruturas.
; ------------------------→ fecha uma linha de comando.
Obs. Os parenteses após o nome indica que esta é uma função, onde o nome
da função pode ser qualquer um com exceção da palavra reservada
“main” sendo que toda função sempre inicia com abertura e fechamento
de chave {...}
Linguagem de Programação C
Conhecendo a estrutura básica em C
Um programa C consiste em uma ou várias funções.
Int -------------------→ variaveis inteiras.
float -------------------→ variaveis flutuantes (números fracionados).
Char -------------------→caracteres.
printf (" ") -------------------→ escreve o que você quiser entre os " ".
printf (" \n") ------------------→ \n serve para quebrar uma linha.
printf (" %x ", y) ----------------→ imprime valor da variavel y.
scanf ("%x", &y) ------------------→ % onde x pode ser variáveis do tipo:
int (%d), 
float (%f) ou, 
char (%c) e Y corresponde a variável que receberá o valor, essa, escolhida pelo 
usuário.
Procedimentos que deverão ser obedecidos em caso de uso.
Linguagem de Programação C
Conhecendo a estrutura básica em C
Linguagem de Programação C
Detalhamento do Código
#include<stdio.h>
É uma biblioteca padrão de comandos, utilizada neste
algoritmo por causa da função printf (de saída de dados) 
#include = incluir
std = standart = padrão
i = input = entrada
o = output = saída
#include<stdlib.h
>
é uma biblioteca que contém o comando de controle Ex: 
system(“pause”)
int main()
int main() está declarando uma função que retorna um valor 
do tipo inteiro
int - tipo de dado inteiro de retorno
main() nome de uma função principal
Todo código em C deve ter a função main() e somente uma
função main(), ela é a classe construtora do programa.
{ Indica o INÍCIO do programa
Linguagem de Programação C
Detalhamento do Código
int a,b,c; Declara as variáveis do tipo inteiro
a=4; = é o sinal de atribuição (como o <- no portugol)
b=6; Atribui 6 à variável b
c=a+b; Efetua a soma e atribui o resultado à variável c
printf(“%d”,c);
Equivale ao escreva do portugol
A função printf não é defaul, ou seja, vem de uma biblioteca
externa (stdio.h) e por isso não reconhece os dados 
trabalhados na função main(), portanto é necessário informar
a ela o tipo do dado e onde ele será apresentado.
Para sinalizar que o dado é inteiro usa “%d” ou o “%i”.
system(“pause”);
Insere uma pausa após a execução para se visualizar o 
resultado. 
Apresenta a mensagem “Pressione qualquer tecla para 
continuar …”
} Indica o FIM do programaLinguagem de Programação C
Comparativo entre Estruturas.
Termos utilizados para o mesmo propósito, porem com sintaxe diferente.
Linguagem de Programação C
Comparativo entre Estruturas.
Transposição do portugol para CEm portugol Em C
VAR
A,B,C: inteiro
INICIO
A<-4
B<-6
C<-A+B
escreva (C)
FIM
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a,b,c;
a=4;
b=6;
c=a+b;
printf("%d",c);
system("pause");
}
Linguagem de Programação C
Exemplo de Programa C
Linguagem de Programação C
Exemplo de Programa C
Algoritmo para encontra numeros Pares ou impares
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n;
printf("Digiteum numero");
scanf("%d",&n);
if(n%2==0)
{
printf("%d e par", n);
}
else
{
printf("%d e impar", n);
}
system("pause");
}
O ponto e vírgula (;) tem a função de 
encerrar uma instrução e passar para outra.
Observação : A estrutura if não possui (;) 
no final da linha de código. O comando é 
continuado na linha seguinte.
A condição if( mod 2==0)
% retornará o resto da divisão entre o n e 
2, se for igual a zero , consequentimento será
PAR. Se não será IMPAR
= = verifica a igualdade de valores
Linguagem de Programação C
Constantes e Variáveis
Linguagem de Programação C
Constantes e Variáveis 
Exemplo 02 - Constantes
/* Programa: Exemplo do uso de Constantes */
#define TAMANHO 4
main()
{
const char c = ‘c’;
const int num = 10;
int val = TAMANHO;
}
Linguagem de Programação C
Declaração de variáveis
Uma declaração de variáveis é uma instrução para reservar uma
quantidade de memória apropriada para armazenar o tipo especifico
daquela variavel em questão. O caso int, é o indicar que o seu
conteúdo será referenciado pelo nome dado, neste caso num.
Exemplos:
int num,
Float media,
Char sexo,
String endereco e etc.
Linguagem de Programação C
Tipos de Variáveis
Ao desenvolvermos um algoritmo podemos trabalhar com vários tipos de variáveis,
dependendo exigência da situação, abaixo alguns tipo comuns:
Tipos de Variáveis
Tipo Dominio Tamanho
int inteiro 16 bits
char caracter 8 bits
float flutuante 32 bits
doublo flutuante 64 bits
String caracter 8 bits
Linguagem de Programação C
Código de formatação da função scanf( ) e printf( )
Tabela de representação da formação da função scanf().
Prof. Hilson Silva – Programação Estruturada 
31
FORMAÇÃO DE FUNÇÃO 
CÓDIGO DESCRIÇÃO
%c Lê um único caractere
%d Lê um inteiro decimal
%e Lê um numero em notação cientifica
%f Lê um numero em ponto flutuante
%o Lê um inteiro octal
%s Lê uma serie de caracteres
%x Lê um numero hexadecimal
%u Lê um decimal sem sinal
%l Lê um inteiro longo
%lf Lê um double
Inicialização de Variáveis
È possivel combinar uma declaração de variável com o operador de
atribuição para que a variável tenha um valor ao mesmo tempo de sua
declaração; é o que chamaremos de inicialização de variável. Como exemplo
o programa abaixo:
Main ( ) {
int evento=5;
char corrida = ‘Maratona’;
float tempo=27:25;
printf(“O tempo vitorioso na eliminatoria %c da”, corrida);
Printf(“\nda competição %d foi %f.”, evento, tempo);
}
Linguagem de Programação C
Nomes de variáveis
A escolha de nomes significativos para suas variáveis pode ajudá-lo a
entender melhor o que o programa faz e prevenir possíveis erros.
Uma variável não pode ter o mesmo nome de palavras reservadas (Chaves)
em C.
Em C letras minúsculas e maiúsculas são diferentes.
✓PESO;
✓PesO;
✓Peso;
✓PeSo;
✓peSo;
Para C todas estas variáveis se tratam de variáveis diferentes.
Observação : Em C os 8 primeiros caracteres são significativo, isto é:
Altura_de_maria
Altura_de_pedro, são consideradas a mesma variável.
Linguagem de Programação C
Case sensitive
Algumas funções de biblioteca
IDENTIFICADOR ARGUMENTOS O QUE RETORNA
• fabs(x) double Valor absoluto do argumento x
• acos(x) double Arco cujo valor do co-seno e o argumento x
• asin(x) double Arco cujo valor do seno e o argumento x
• atan(x) double Arco cujo valor da tangente e o argumento 
x
• cos(x) double Co-seno do argumento x
• log(x) double Logaritmo natural do argumento x
• log10(x) double Logaritmo decimal do argumento x
Linguagem de Programação C
Algumas funções de biblioteca
IDENTIFICADOR ARGUMENTOS O QUE RETORNA
• pow(x, y) double, Argumento x elevado ao argumento y
• pow10(x) int 10 elevado ao argumento x
• random(x) int Um numero aleatorio entre 0 e x - 1
• sin(x) double Seno do argumento x
• sqrt(x) double Raiz quadrada do argumento x
• tan(x) double Tangente do argumento x
• tolower(x) char Converte o caractere x para minusculo
• toupper(x) char Converte o caractere x para maiusculo
Linguagem de Programação C
Explorando a Função de Saída printf( )
Linguagem de Programação C
Exemplo de impressao de %
#include <stdio.h>
void main()
{
int reajuste = 10;
printf(“O reajuste foi de %d%%\n”, reajuste);
}
• A saída será:
O reajuste foi de 10%
Linguagem de Programação C
Tamanho de campos na impressão
No momento de imprimir determinada campo pode limitá-lo no aspecto
tamanho. Em printf ( ), podemos limitar o tamanho mínimo a impressão de
campo.
Main ( ) {
printf (“Os alunos de Engenharia são %2d. \n”, 35);
printf (“Os alunos de Engenharia são %3d. \n”, 35);
printf (“Os alunos de Engenharia são %4d. \n”, 35);
printf (“Os alunos de Engenharia são %10d. \n”, 35);
}
O resultado seria:
Os alunos de Engenharia são 350.
Os alunos de Engenharia são 350.
Os alunos de Engenharia são 350.
Os alunos de Engenharia são 350.
Linguagem de Programação C
Completando com zero a esquerda
Além de especificar o tamanho do campo, podemos complementar o campo
todo ou parte dele com zeros à esquerda. Observe:
Main ( ) {
printf (“\n%04d”, 21);
printf (“\n%05d”, 21);
printf (“\n%06d”, 21);
printf(“\n %.2f”,1200.500000);
}
O resultado seria:
0021
00021
000021
1200.00
Linguagem de Programação C
Imprimindo caracteres gráficos
Como você provavelmente sabe, todo caractere (letra, digíto, caractere
de pontuação etc...) é representado, no computador, por um número. O
código ASCII dispõe de numermos de 0 a 127 (decimal) cobrindo letras,
dígitos de 0 a 9 , com exceção dos computadores IBM,
O exemplo abaixo mostra a impressão de caracter na montagem de uma
moldura:
Linguagem de Programação C
Imprimindo caracteres gráficos
Main ( ){
printf (“\xC9\xCD\xBB\n”);
printf (“\xBA \xBA\n”);
printf (“xC8\xCD\xBC\n”);
}
✓ Resultado será:
Linguagem de Programação C
"═" //ALT+205
"╔ " //ALT+201
"╝" //ALT+188
"╗" //ALT+187
"║" //ALT+186
"╚" //ALT+200
Imprimindo caracteres gráficos
Progama abaixa irá imprimir a figura a abaixo:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
main(){
printf("Moldura\n");
printf ("\xC9\xCD\xCD\xCD\xBB\n");
printf ("\xBA\ \xBA\n");
printf ("\xC8\xCD\xCD\xCD\xBC\n");
printf("Desenhando Carro\n");
printf("\n\xDC\xDC\xDB\xDB\xDB\xDC\xDC ");
printf("\n \xDF0\xDF\xDF\xDF\xDF0");
printf("\n\n\n");
printf("\n \xDC\xDC\xDB\xDB\xDB\xDB\xDB\xDB");
printf("\n \xDF0\xDF\xDF\xDF\xDF\xDF00\xDF ");
printf("\n\n\n");
system("pause");
}
O resultado esperado é:
Linguagem de Programação C
Implementações na linguagem C
Na sua primeira versão C evoluiu, considerada uma linguagem de
ideia progressiva. Abaixo alguns sistemas robustos que foram
desenvolvidos em C:
✓ Planilhas eletrônicas
✓ Processadores de Textos
✓ Gerenciadores de Banco de dados
✓ Processadores Gráficos
✓ Sistemas de Transmissão de dados
✓ Atuação na física
✓ Sistema Operacional (Windows e outros)
✓ Dentre outros
Linguagem de Programação C
Linguagem C
Linguagem de Programação C
Linguagem C
Proposta de trabalho complementar 
a prova AV1
Introdução à Programação
AULA 8: Estruturas de Repetição
Bibliografia Básica
Introdução à Programação
ANDRADE, Mairum Ceoldo. Algoritmos. Rio de Janeiro: SESES, 2014.
ASCENCIO, A. F. G.; CAMPOS, E.e A. V. Fundamentos da programação de
computadores: Algoritmos, Pascal, C/C++ e Java. 2. ed. São Paulo:
Pearson Education, 2008.
FORBELLONE, A.L. V; EBERSPACHER, H. Lógica de programação. 3. ed.
São Paulo: Makron Books, 2005.
Introdução à Programação
AULA 8: Estruturas de Repetição
Bibliografia Complementar
Introdução à Programação
MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo. Algoritmos:
lógica para desenvolvimento de programação de computadores. 22. ed. São
Paulo: Érica, 2009.
DASGUPTA, Sanjoy; PAPADIMITRIOU, Christos; VAZIRANI,Umesh.
Algoritmos. 1. ed. São Paulo: McGraw-Hill Brasil, 2009.
FEOFILOFF, Paulo. Algoritmos em linguagem C. 1. ed. Rio de Janeiro:
Campus, 2008.
PUGA, S.; RISSETTI, G.. Lógica de programação e estrutura de dados: com
aplicações em Java. 1. ed. São Paulo: Pearson Education, 2003.
Introdução à Programação
AULA 8: Estruturas de Repetição
Sugestões de Livros
Introdução à Programação

Continue navegando