Estrutura de Dados - Unidade 3 - Introdução À Linguagem C
Estrutura de Dados - Unidade 3 - Introdução À Linguagem C
Estrutura de Dados - Unidade 3 - Introdução À Linguagem C
ESTRUTURAS DE
DADOS
Estrutura de dados – Paulo Fonseca
Introdução à
Linguagem C
Unidade - 3 1
Introdução a linguagem de
programação C
Objetivos
programas básicos na
linguagem C.
• Implementar programas em C utilizando as
estruturas de decisão e as estruturas em
laços.
Unidade - 3 2
Introdução a linguagem de
programação C
Apresentação
Habitualmente antes de resolvermos exemplos ou exercícios,
elaboraremos o algoritmo, que nada mais é que uma
sequência de operações cuja execução produz um resultado
que é a resposta de um problema proposto.
Estrutura de dados – Paulo Fonseca
• Programas Estruturados.
• Total interação com o Sistema Operacional.
• Código compacto e rápido, quando comparado ao
código de outras linguagens de complexidade
análoga.
Unidade - 3 5
Introdução a linguagem de
programação C
Estrutura básica de um programa em C
main ( ){
printf(“olá”); /* mostra na tela a mensagem Olá*/
}
Unidade - 3 7
Introdução a linguagem de
programação C
Fundamentos em C
Unidade - 3 8
Introdução a linguagem de
programação C
Unidade - 3 9
Introdução a linguagem de
programação C
Diretiva #include
Sintaxe:
#include <nome do arquivo>
ou
#include “nome do arquivo”
Unidade - 3 10
Introdução a linguagem de
programação C
Diretiva #include
O primeiro caso (#include <nome do arquivo>) é o mais
utilizado. Ele serve para incluir alguns arquivos que
contêm declaração das funções da biblioteca padrão,
entre outras coisas.
Estrutura de dados – Paulo Fonseca
Unidade - 3 12
Introdução a linguagem de
programação C
Diretiva #include
Unidade - 3 13
Introdução a linguagem de
programação C
Comandos básicos
As instruções de entrada e saída são comandos quase que
obrigatórios em qualquer programa na linguagem C.
Na maioria dos programas em C, o usuário necessita entrar
Estrutura de dados – Paulo Fonseca
#include <stdio.h>
#include <conio.h>
Estrutura de dados – Paulo Fonseca
main ( ) {
int numero;
numero = 10;
printf("O %d elevado ao quadrado resulta em %d. \n", numero,
numero*numero);
getch ( );
}
A diretiva #include foi utilizada, pois usamos o comando printf (stdio.h) e o
comando getch (conio.h).
Unidade - 3 16
Introdução a linguagem de
programação C
Comandos básicos
Observemos o Quadro de Operadores Especiais suportados por
printf( ):
Código Significado
Estrutura de dados – Paulo Fonseca
\b Retrocesso (BackSpace)
%c - leitura de caracter;
%d - leitura de números inteiros;
%f - leitura de números reais;
%s - leitura de caracteres.
Unidade - 3 18
Introdução a linguagem de
programação C
Comandos básicos
A função scanf ( )
controle>.
Se este não for o caso, diversos problemas poderão ocorrer - incluindo
até mesmo a queda do sistema - quando estivermos utilizando
programas compilados escritos em C.
Cada variável a ser lida, deverá ser precedida pelo caracter &, por
razões que no momento não convém explicarmos, mas que serão
esclarecidas no decorrer do curso.
Para sequência de caracteres (%s), o caracter & não deverá ser usado.
Unidade - 3 19
Introdução a linguagem de
programação C
Comandos básicos
Exemplo: Programa para ler e mostrar uma idade.
main ( ) {
int idade;
char nome[30];
printf("Digite sua Idade: ");
scanf("%d",&idade);
printf("Seu Nome: ");
scanf("%s", nome); /* Strings não utilizam '&' na leitura */
printf("%s sua idade e' %d anos. \n", nome, idade);
}
Unidade - 3 20
Introdução a linguagem de
programação C
Tipos de Dados
No momento dispomos de conhecimento para elaboração de
programas básicos para construção de pequenos programas,
pois conhecemos instruções de entrada de dados (scanf) e
de saída (printf).
Estrutura de dados – Paulo Fonseca
Unidade - 3 21
Introdução a linguagem de
programação C
Tipos de Dados
Observemos o Quadro 1.1 para melhor entendimento
Estrutura de dados – Paulo Fonseca
Unidade - 3 22
Introdução a linguagem de
programação C
Tipos de Dados
Exemplo: Mesmo número com duas representações
diferentes.
Estrutura de dados – Paulo Fonseca
int main ( ) {
float a;
printf("Digite um numero: ");
scanf("%f",&a);
printf("%f %e", a , a);
}
Unidade - 3 23
Introdução a linguagem de
programação C
Modificadores
Com exceção de void, os outros tipos de dados primitivos
podem ter modificadores.
Estrutura de dados – Paulo Fonseca
Unidade - 3 24
Introdução a linguagem de
programação C
Modificadores
Veja quais são os modificadores na tabela abaixo.
Palavra Chave Tipo
signed caracter
Estrutura de dados – Paulo Fonseca
unsigned Inteiro
long longo
short curto
Unidade - 3 25
Introdução a linguagem de
programação C
Tabela de tipos de dados e modificadores.
Palavra chave Tipo Tam. Intervalo
char Caracter 1 -128 a 127
signed char Caractere com sinal 1 -128 a 127
unsigned char Caractere sem sinal 1 0 a 255
Int Inteiro 2 -32.768 a 32.767
Estrutura de dados – Paulo Fonseca
Unidade - 3 26
Introdução a linguagem de
programação C
Variáveis
As variáveis têm uma importância fundamental.
São utilizadas como depósitos temporários de informações a
serem processados pelo programa.
Estrutura de dados – Paulo Fonseca
Unidade - 3 27
Introdução a linguagem de
programação C
Variáveis
Exemplos:
int i,j,l;
Estrutura de dados – Paulo Fonseca
Unidade - 3 28
Introdução a linguagem de
programação C
Variáveis
programa.
Podem ser declaradas dentro de uma função (locais) sendo
desconhecida no restante do programa.
Além disso podem ser usadas para passagem de valores
entre funções (parâmetros).
Unidade - 3 29
Introdução a linguagem de
programação C
Variáveis
Inicializando variáveis
Estrutura de dados – Paulo Fonseca
int i = 0;
double x = 10.5;
Unidade - 3 30
Introdução a linguagem de
programação C
Inicializando variáveis
// Exemplo: Criando três variáveis e inicializando-as em tempo de criação.
int main ( ) {
int evento = 5;
Estrutura de dados – Paulo Fonseca
Unidade - 3 31
Introdução a linguagem de
programação C
Nome de variáveis
A escolha de nomes de variáveis em C pode conter quantos
caracteres quiser, sendo o primeiro caractere obrigatoriamente
uma letra ou o caractere sublinhado.
Estrutura de dados – Paulo Fonseca
int main() {
int valor = 1;
double Valor = 2.5;
printf ("Valor inteiro %d" , valor);
printf ("\nValor ponto flutuante %f", Valor);
}
Unidade - 3 33
Introdução a linguagem de
programação C
Operadores
Unidade - 3 34
Introdução a linguagem de
programação C
Operadores aritméticos
Os operadores aritméticos são utilizados para efetuar as operações
matemáticas básicas como adição, multiplicação, divisão, resto de divisão
inteira, subtração o menos unário, decremento e incremento. O Quadro
1.2 estabelece o operador aritmético e a ação de cada um .
Operador Ação
Estrutura de dados – Paulo Fonseca
+ Adição
* Multiplicação
/ Divisão
% Resto de divisão inteira
- Subtração ou menos unário
-- Decremento
++ Incremento
+= Operação de atribuição de adição
-= Operação de atribuição de subtração
*= Operação de atribuição de multiplicação
/= Operação de atribuição de divisão
%= Operação de atribuição de resto
Unidade - 3 35
Introdução a linguagem de
programação C
Incremento e decremento
Para efetuar o incremento de uma variável deste tipo, é só
acrescentarmos (++) seguido do nome da variável e para
decrementar utilizamos (--) seguido do nome da variável.
Estrutura de dados – Paulo Fonseca
Unidade - 3 36
Introdução a linguagem de
programação C
Incremento e decremento
Vejamos alguns exemplos:
n = n + 1; /* adiciona 1 a n */
//seria o mesmo que
Estrutura de dados – Paulo Fonseca
++n; /* adiciona 1 a n */
//ou
n++; /* adiciona 1 a n */
O que muda nas operações acima, é apenas o uso dos incrementos, pós-
fixados e prefixados, mas que fazem bastante diferenças quando
utilizados em conjunto com outras instruções.
Unidade - 3 37
Introdução a linguagem de
programação C
Incremento e decremento
#include <stdio.h>
int main ( )
{
Estrutura de dados – Paulo Fonseca
int n = 10;
int m = ++n;
printf("\n N=%d M=%d", n, m);
int a = 10;
int x = a++;
printf("\n A=%d X=%d", a, x);
}
Unidade - 3 38
Introdução a linguagem de
programação C
Operadores relacionais e lógicos
Os operadores relacionais e lógicos são utilizados para efetuar as
operações matemáticas relacionais e lógicos. O Quadro 1.3 estabelece
os operadores relacionais e lógicos e a ação de cada um.
Operador Ação
Estrutura de dados – Paulo Fonseca
== Igual a
!= Diferente de
|| Condição OU OR
Unidade - 3 39
Introdução a linguagem de
programação C
Operadores relacionais e lógicos
Unidade - 3 40
Introdução a linguagem de
programação C
Exemplo: Irá calcular a média de um aluno sendo que ele possua três notas, a média é a soma das
notas dividida por três.
#include <stdio.h>
int main ( )
{
float nota1;
Estrutura de dados – Paulo Fonseca
float nota2;
float nota3;
float media;
printf("\n Digite a primeira nota..: ");
scanf("%f",¬a1);
printf("\n Digite a segunda nota...: ");
scanf("%f",¬a2);
printf("\n Digite a terceira nota..: ");
scanf("%f",¬a3);
media=(nota1+nota 2+nota3)/3;
printf("\n\n Sua media ............:%6.2f",media);
}
Unidade - 3 41
Introdução a linguagem de
programação C
Exercício: tendo o exemplo abaixo como referência, calcular a média semestral de um aluno da
faculdade. Obs.: A média semestral é calculada pela média aritmética das duas notas bimestrais e
as notas bimestrais são compostas pela soma de quatro notas (Atividade parcial 1; Atividade parcial
2; TED; e, Oficial).
#include <stdio.h>
int main ( )
Estrutura de dados – Paulo Fonseca
{
float nota1;
float nota2;
float nota3;
float media;
printf("\n Digite a primeira nota..: ");
scanf("%f",¬a1);
printf("\n Digite a segunda nota...: ");
scanf("%f",¬a2);
printf("\n Digite a terceira nota..: ");
scanf("%f",¬a3);
media=(nota1+nota 2+nota3)/3;
printf("\n\n Sua media ............:%6.2f",media);
}
Unidade - 3 42
Introdução a linguagem de
programação C
Tomada de decisão
• if
• if-else
• switch
Unidade - 3 43
Introdução a linguagem de
programação C
Tomada de decisão
Comando if-else: Análogo a outras linguagens, sua forma geral será:
if <condição>
<comando>;
else
<comando>;
Estrutura de dados – Paulo Fonseca
Ou
if <condição> {
<comando...1>;
<comando...2>;
}
else {
<comando..1>;
<comando..2>;
}
Unidade - 3 44
Introdução a linguagem de
programação C
Tomada de decisão
Exemplo 1: Programa Velho, Adulto ou Jovem
#include <stdio.h>
int main ( )
{
Estrutura de dados – Paulo Fonseca
int i;
printf("Digite sua idade: ");
scanf("%d",&i);
if (i > 70)
printf("Esta Velho!");
else
if (i > 21)
printf("Adulto");
else
printf("Jovem");
}
Unidade - 3 45
Introdução a linguagem de
programação C
Tomada de decisão
Exercício: tendo o exemplo abaixo como referência e considerando o programa efetuado
anteriormente para cálculo da média semestral, verificar se o aluno está aprovado (média igual
ou superior a 7), reprovado (média inferior a 4) ou se irá para exame no restante das notas.
#include <stdio.h>
int main ( )
Estrutura de dados – Paulo Fonseca
{
int i;
printf("Digite sua idade: ");
scanf("%d",&i);
if (i > 70)
printf("Esta Velho!");
else
if (i > 21)
printf("Adulto");
else
printf("Jovem");
}
Unidade - 3 46
Introdução a linguagem de
programação C
Tomada de decisão
Exemplo 2: Maior entre três números
#include <stdio.h>
int main(){
int a,b,c;
printf("Digite o 1. Número: ");
scanf("%d",&a);
Estrutura de dados – Paulo Fonseca
Este comando nos permite selecionar uma opção entre várias alternativas.
A variável será validada e conforme seu valor executará a opção na qual se
enquadra. Sua forma geral será:
Estrutura de dados – Paulo Fonseca
switch (opção1) {
case <valor1>: instrução;
break;
case <valor2>: instrução;
break;
case <valor3>: instrução;
break;
default : instrução;
}
Unidade - 3 49
Introdução a linguagem de
programação C
Tomada de decisão
Exemplo 1: Programa adulto ou velho.
#include <stdio.h>
#include <stdlib.h>
int main ( )
{
Estrutura de dados – Paulo Fonseca
int i;
char sn;
printf("Voce tem mais de 70 anos ? (S/N) ");
scanf("%c",&sn);
switch (sn) {
case 's' : printf("Voce eh Velho! \n"); break;
case 'S' : printf("Voce eh Velho! \n"); break;
case 'n' : printf("Voce eh Adulto! \n"); break;
case 'N' : printf("Voce eh Velho! \n"); break;
default : printf("Opção inválida! Tente novamente.\n");
}
}
Unidade - 3 50
Introdução a linguagem de
programação C
Laços – Estruturas de repetição
for (<início>;<condição>;<incremento>)
{
comando;
}
Unidade - 3 52
Introdução a linguagem de
programação C
Laços
Comando for
# Exemplo 1: Contagem de 1 a 100 ficaria.
main ( ) {
Estrutura de dados – Paulo Fonseca
int cont;
for (cont = 1; cont <= 100; cont++){
printf("%d",cont);
}
}
Unidade - 3 53
Introdução a linguagem de
programação C
Laços
Comando for
# Exemplo 2: Elaborar programa que imprima a tabuada de um número dado.
#include <stdio.h>
Estrutura de dados – Paulo Fonseca
main ( ) {
int cont,num;
scanf("%d",&num);
}
O número ‘2’ antes do ‘d’ causa a representação em vídeo de 2 casas, permitindo o
alinhamento da tabuada!
Unidade - 3 54
Introdução a linguagem de
programação C
Laços
Comando for
F = 9/5 * C + 32 ou F = 1,8 * C + 32
Unidade - 3 55
Introdução a linguagem de
programação C
Laços
Unidade - 3 56
Introdução a linguagem de
programação C
Laços
Possível resolução do Exercício1
#include <stdio.h>
#include <stdlib.h>
main ( ) {
Estrutura de dados – Paulo Fonseca
int fahr;
float celsius;
for (fahr = 0; fahr <= 300; fahr = fahr + 20) {
printf("%4d", fahr);
celsius = (5.0/9.0)*(fahr-32);
printf("\t%6.1f\n", celsius);
}
} Unidade - 3 57
Introdução a linguagem de
programação C
Laços
Comando while
while (<condição>) {
<comando>;
} Unidade - 3 58
Introdução a linguagem de
programação C
Laços
Comando while
int cont = 0;
while (cont <= 100) {
cont++;
printf("%d",cont);
}
Unidade - 3 59
Introdução a linguagem de
programação C
Laços
Comando do-while
O laço do-while significa faça enquanto, e é um comando
utilizado para se realizar repetições com um diferencial que é a
execução de pelo menos uma vez a instrução do laço, mesmo
Estrutura de dados – Paulo Fonseca
do {
<comando>;
} Unidade
while (<condição>);
-3 60
Introdução a linguagem de
programação C
Laços
Comando do-while
Exemplo 1: Contagem de 1 a 100 ficaria:
#include <stdio.h>
#include <stdlib.h>
Estrutura de dados – Paulo Fonseca
int main() {
int cont = 0;
do {
cont++;
printf("%d ",cont);
} while (cont < 100);
system("pause");
} Unidade - 3 61
Introdução a linguagem de
programação C
Laços
Comando while ou do while
Unidade - 3 62
Introdução a linguagem de
programação C
Resumo
Unidade - 3 63
Introdução a linguagem de
programação C
Atividades de aprendizagem
Críticas??
Estrutura de dados – Paulo Fonseca
Dúvidas???
Sugestões????
Xingamentos?????
Choros??????
Unidade - 3 65