Buscar

C tipos de expressões e variáveis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

9/10/2013
1
2013.2
Danilo Curvelo2013.2
LINGUAGEM C
Tipos de Dados, Variáveis, Expressões e Instruções Primitivas
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 1
Danilo Curvelo de Souza
curvelo@dca.ufrn.br
Universidade Federal do Rio Grande do Norte
Departamento de Engenharia da Computação e Automação
DCA0800 – Algoritmos e Lógica de Programação
2013.2
Danilo Curvelo2013.2
• Estrutura de um programa em C
• Tipos de Dados em C
• Variáveis em C
• Expressões em C
• Saída de dados
• Entrada de dados
• Exemplos de algoritmos em C
Conteúdo
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 2
2013.2
Danilo Curvelo2013.2
• Estrutura básica de um programa desenvolvido
em linguagem C:
• main() deve conter todas as instruções que
queremos que sejam executadas
• Todo código a executar é colocado entre { }
Estrutura
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 3
main() {
}
Estrutura de um programa em C
2013.2
Danilo Curvelo2013.2
• Lembrando, a linguagem C é sensível ao caso
(case-sensitive)
Lembrete!
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 4
main() é DIFERENTE de Main(), mAin(), MAIN(), ...
2013.2
Danilo Curvelo2013.2
• Bibliotecas são adicionadas no início do 
arquivo, e possibilitam a utilização de novas
funcionalidades agregadas por elas
Bibliotecas
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 5
#include <stdio.h>
#include <math.h>
main() {
}
Bibliotecas em C
2013.2
Danilo Curvelo2013.2
• A linguagem C apresenta quatro tipos básicos de tipos
de dados:
• int : numérico inteiro
• Representado por um número inteiro. Ex: 0, 10, -3
• float : numérico real
• Representado por um número com ponto flutuante. Ex: 0.000001
• double : numérico real (precisão dupla)
• Representado por um número com ponto flutuante com precisão
dupla. Ex: 0.00000000000001
• char : caractere
• Representado por um único caractere entre aspas simples. Ex: ‘a’, 
‘3’, ‘_’, ‘*’ 
Tipos de Dados Básicos em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 6
9/10/2013
2
2013.2
Danilo Curvelo2013.2
• Como representar dados do tipo lógico
(booleano) em C?
• Utilizando o tipo int
• Inteiro 0 representa FALSO
• Inteiro diferente de 0 representa VERDADEIRO
• Resumindo:
• Falso: 0
• Verdadeiro: 1, -1, 2, -3, 123, …
• A linguagem C vai te retornar 0 se for FALSO e 1 se 
for VERDADEIRO
Tipo Lógico
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 7
2013.2
Danilo Curvelo2013.2
• Como representar dados de tipo literal com 
mais de um caractere?
• Utilizando uma variação do tipo char
• Conjunto de chars: char*
• Um dado do tipo char* deve ser escrito delimitado
por aspas duplas
• Ex: “Tipo de dado literal em C”
Tipo Literal
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 8
2013.2
Danilo Curvelo2013.2
• Numérico inteiro : int
• Numérico real : float ou double
• Lógico (booleano) : int
• Literal : char*
Analogia Pseudocódigo
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 9
2013.2
Danilo Curvelo2013.2
• Lembrando: Uma variável deve ser sempre
definida antes de ser usada!
• A definição de variáveis em C é feita utilizando
a seguinte sintaxe:
• tipo nome_variavel;
• Importante: O ponto-vírgula ; indica o fim de 
uma instrução. Sempre deve ser utilizada em
instruções de linha única!
Variáveis em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 10
2013.2
Danilo Curvelo2013.2
• Deve-se respeitar as mesma regras aplicadas a 
atribuição de nomes de variáveis em pseudocódigo
• Regras para atribuição do nome:
1. Deve começar necessariamente com uma letra ou o 
caracter _ (underline ou underscore)
2. Não pode ter o mesmo nome de uma palavra reservada a 
uma instrução da linguagem C
3. Um nome de variável não deve conter nenhum símbolo
especial exceto a sublinha _ (underline ou underscore )
4. Maiúsculas e minúsculas representam caracteres
diferentes, logo variáveis distintas
Variáveis em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 11
2013.2
Danilo Curvelo2013.2
Declaração de variáveis
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 12
main() {
char caractere; 
}
Tipo caractere
main() {
int idade; 
}
Tipo inteiro
main() {
float peso; 
}
Tipo real
main() {
double peso; 
}
Tipo real (precisão dupla)
main() {
int brasileiro; 
}
Tipo inteiro representando lógico
main() {
char* nome; 
}
Tipo literal
9/10/2013
3
2013.2
Danilo Curvelo2013.2
Declaração de variáveis
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 13
main() {
int idade, ano; 
float peso, altura, IMC; 
}
Declarando variáveis
main() {
int idade;
int ano; 
float peso;
float altura;
float IMC; 
}
Declarando variáveis
2013.2
Danilo Curvelo2013.2
• DICA: O nome de uma variável deve ser
descritivo daquilo que ela armazena
• Utilize nomes significativos!
Variáveis em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 14
main() {
int x; 
}
Nome não significativo
main() {
int idade; 
}
Nome significativo
main() {
float preco_do_produto; 
}
Nome composto significativo
2013.2
Danilo Curvelo2013.2
Exercício
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 15
Algoritmo “Exemplo”
var
N1, N2, N3, MEDIA : real
Nome, Sobrenome: literal
Brasileiro : logico 
Idade : inteiro
salario : real
Início
Fim
Declarando variáveis em pseudocódigo
main() {
}
Declarando variáveis em C
2013.2
Danilo Curvelo2013.2
Exercício
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 16
Algoritmo “Exemplo”
var
N1, N2, N3, MEDIA : real
Nome, Sobrenome: literal
Brasileiro : logico 
Idade : inteiro
salario : real
Início
Fim
Declarando variáveis em pseudocódigo
main() {
float N1, N2, N3, MEDIA;
char* Nome, Sobrenome;
int brasileiro;
int Idade;
float salario;
}
Declarando variáveis em C
2013.2
Danilo Curvelo2013.2
• A atribuição de um valor só pode ser realizada
para variáveis
• Ao realizar uma atribuição o valor anterior 
presente na variável é perdido
• Uma atribuição é realizada obedecendo a 
seguinte sintaxe:
• variavel = expressão;
• A variável a se alterar sempre no lado esquerdo
da atribuição, e o valor a atribuir sempre do 
lado direito
Instrução Primitiva de Atribuição
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 17
2013.2
Danilo Curvelo2013.2
• Instrução primitiva de atribuição
Exemplo
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 18
main() {
int idade;
idade = 18;
float peso;
peso = 70.5;
char caractere;
caractere = '+';
char* texto;
texto = "Tipo literal em C";
}
Atribuição I
9/10/2013
4
2013.2
Danilo Curvelo2013.2
• Instrução primitiva de atribuição
• Ao realizar uma atribuição o valor anterior 
presente na variável é perdido
Exemplo
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 19
main() {
int idade;
idade = 18;
idade = 19;
}
Atribuição I
2013.2
Danilo Curvelo2013.2
Exemplo
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 20
main() { 
float preco_do_arroz, preco_do_feijao;
preco_do_arroz, preco_do_feijao = 2.50;
}
Atribuição III
main() { 
float preco_do_arroz;
float preco_do_feijao; 
preco_do_arroz = 2.50;
preco_do_feijao = 2.50;
}
Atribuição I
main() { 
float preco_do_arroz, preco_do_feijao;
preco_do_arroz = 2.50;
preco_do_feijao = 2.50;
}
Atribuição II
2013.2
Danilo Curvelo2013.2
• Podemos atribuir um valor a uma variável
assim que ela é definida
Instrução Primitiva de Atribuição
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 21
main() {
int idade;
idade = 18;
}
Atribuição I
main() {
int idade = 18;
}
Atribuição II
main() { 
int idade, ano_de_nascimento;
idade = 25;
ano_de_nascimento = 1988;
}
Atribuição III
main() { 
int idade = 25, ano_de_nascimento = 1988;
}
Atribuição IV
2013.2
Danilo Curvelo2013.2
Instrução Primitiva de Atribuição
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 22
main() { 
float PRECO_UNIT, PRECO_TOTAL; 
int QUANT;
}
Atribuição
Algoritmo “Atribuicao” 
var
PRECO_UNIT, PRECO_TOTAL : real
QUANT : inteiro
Início
PRECO_UNIT ← 5.0
QUANT ← 10
PRECO_TOTAL ← PRECO_UNIT * QUANT
Fim
Atribuição
2013.2
Danilo Curvelo2013.2
Instrução Primitiva de Atribuição
DCA0800 . ALGORITMOS E LÓGICADE PROGRAMAÇÃO 23
main() { 
float PRECO_UNIT, PRECO_TOTAL; 
int QUANT;
PRECO_UNIT = 5.0;
QUANT = 10;
PRECO_TOTAL = PRECO_UNIT*QUANT;
}
Atribuição
Algoritmo “Atribuicao” 
var
PRECO_UNIT, PRECO_TOTAL : real
QUANT : inteiro
Início
PRECO_UNIT ← 5.0
QUANT ← 10
PRECO_TOTAL ← PRECO_UNIT * QUANT
Fim
Atribuição
2013.2
Danilo Curvelo2013.2
• Operadores aritméticos
Expressões
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 24
Operador Operação
+ Adição
- Subtração
* Multiplicação
/ Divisão
% Resto da divisão
9/10/2013
5
2013.2
Danilo Curvelo2013.2
Expressões
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 25
main() {
int a = 2;
int b = 4;
int c = a+b;
int d = a-b;
int e = a*b;
int f = b/a;
int g = b%a;
}
Expressões
c terá valor 6
d terá valor -2
e terá valor 8
f terá valor 2
g terá valor 0
2013.2
Danilo Curvelo2013.2
• Como realizar operações de exponenciação?
• Opção 1:
• Através de multiplicações sucessivas
• Opção 2:
• Importando a biblioteca math.h e utilizando a função
– pow(<base>, <expoente>)
Expressões
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 26
#include <math.h>
main() {
int a = 2;
int opcao1 = a*a*a;
int opcao2 = pow(a,3);
}
Exponenciação de 2^3
2013.2
Danilo Curvelo2013.2
1. parênteses
2. pow
3. *, / e %
4. + e -
Precedência
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 27
2013.2
Danilo Curvelo2013.2
• Operadores lógicos
Expressões
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 28
Operador Tipo Operação
|| Binário Disjunção
&& Binário Conjunção
! Unário Negação
Operador E: &&
Operador OU: ||
Operador NÃO: !
2013.2
Danilo Curvelo2013.2
Expressões
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 29
main() {
int f = 0;
int v1 = 1;
int v2 = -5;
int a = f || v1;
int b = v1 && v2;
int c = !v2;
}
Expressões
a terá valor 1 (verdadeiro)
b terá valor 1 (verdadeiro)
c terá valor 0 (falso)
2013.2
Danilo Curvelo2013.2
Operadores Relacionais
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 30
Operador Significado Resultado
== Igualdade 1 (verdadeiro) ou 0 (falso)
< Menor 1 (verdadeiro) ou 0 (falso)
<= Menor ou igual 1 (verdadeiro) ou 0 (falso)
> Maior 1 (verdadeiro) ou 0 (falso)
>= Maior ou igual 1 (verdadeiro) ou 0 (falso)
!= Diferente 1 (verdadeiro) ou 0 (falso)
9/10/2013
6
2013.2
Danilo Curvelo2013.2
Operadores Relacionais
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 31
main() {
int a = 10;
int b = a < 10;
int c = a <= 10;
int d = a > 10;
int e = a >= 10;
int f = a == 10;
int g = a != 10;
}
Expressões
b terá valor 0 (falso)
c terá valor 1 (verdadeiro)
d terá valor 0 (falso)
e terá valor 1 (verdadeiro)
f terá valor 1 (verdadeiro)
g terá valor 0 (falso)
2013.2
Danilo Curvelo2013.2
Importante!
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 32
Um erro muito frequente em programação em C é a troca 
do operador == pelo operador = . 
O operador == verifica se duas expressões são iguais. 
O operador = é utilizado para a atribuição de valores a 
variáveis.
2013.2
Danilo Curvelo2013.2
• A instrução responsável por imprimir na tela do 
usuário uma mensagem é o printf
• Para utilizar este comando é obrigatório incluir
a biblioteca stdio.h em seu código
Saída de Dados em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 33
printf(“texto aqui”);
2013.2
Danilo Curvelo2013.2
Saída de Dados em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 34
#include <stdio.h>
main() { 
printf("Algoritmos e Lógica de Programação");
}
Usando saída de dados
Algoritmos e Lógica de Programação
Saída da execução do programa
2013.2
Danilo Curvelo2013.2
Quebra de Linhas \n
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 35
#include <stdio.h>
main() { 
printf("Algoritmos ");
printf("e Lógica de ");
printf("Programação");
}
Usando saída de dados
Algoritmos e Lógica de Programação
Saída da execução do programa
2013.2
Danilo Curvelo2013.2
Quebra de Linhas \n
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 36
#include <stdio.h>
main() { 
printf("Algoritmos\n");
printf("e Lógica de\n");
printf("Programação\n");
}
Usando saída de dados
Algoritmos
e Lógica de
Programação
Saída da execução do programa
9/10/2013
7
2013.2
Danilo Curvelo2013.2
Quebra de Linhas \n
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 37
#include <stdio.h>
main() { 
printf("Algoritmos\ne Lógica de\nProgramação\n");
}
Usando saída de dados
Algoritmos
e Lógica de
Programação
Saída da execução do programa
2013.2
Danilo Curvelo2013.2
• Como mostrar valores armazenados em uma
determinada variável utilizando printf?
• Onde <valor> deve ser substituído de acordo
com o tipo de dado que se quer mostrar:
Saída de Dados em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 41
%c caractere simples (char)
%d decimal (int)
%f ponto flutuante (float ou double)
%s cadeia de caracteres (char*)
printf(“O valor da variável é <valor>!”, variavel);
2013.2
Danilo Curvelo2013.2
• Como mostrar valores armazenados em uma
determinada variável utilizando printf?
Saída de Dados em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 42
#include <stdio.h>
main() {
int idade;
idade = 18;
printf("Maria tem %d anos.\n", idade);
idade = 20;
printf("Maria tem %d anos.\n", idade);
}
Saída de dados
Maria tem 18 anos.
Maria tem 20 anos.
Saída da execução do programa
2013.2
Danilo Curvelo2013.2
Saída de Dados em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 43
#include <stdio.h>
main() {
float peso = 74.5;
printf("Rafael pesa %f quilos.\n", peso);
}
Saída de dados
Rafael pesa 74.500000 quilos.
Saída da execução do programa
2013.2
Danilo Curvelo2013.2
Saída de Dados em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 44
#include <stdio.h>
main() {
float peso = 74.5;
printf("Rafael pesa %.2f quilos.\n", peso);
}
Saída de dados
Rafael pesa 74.50 quilos.
Saída da execução do programa
2013.2
Danilo Curvelo2013.2
Saída de Dados em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 45
#include <stdio.h>
main() {
char letra = 'x';
printf("A letra armazenada na nossa variavel: %c \n", letra);
}
Saída de dados
A letra armazenada na nossa variavel: x
Saída da execução do programa
9/10/2013
8
2013.2
Danilo Curvelo2013.2
Saída de Dados em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 46
#include <stdio.h>
main() {
char* codigo = "DCA0800";
printf("Codigo da disciplina: %s \n", codigo);
}
Saída de dados
Codigo da disciplina: DCA0800 
Saída da execução do programa
2013.2
Danilo Curvelo2013.2
Saída de Dados em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 47
#include <stdio.h>
main() {
char* nome = "Maria";
int idade = 18;
float peso = 50.5;
printf("A paciente %s tem %d anos pesa %.1f quilos.\n", nome, idade, peso);
nome = ”Raquel";
idade = 15;
peso = 45.1;
printf("A paciente %s tem %d anos pesa %.1f quilos.\n", nome, idade, peso);
}
Saída de dados
A paciente Maria tem 18 anos pesa 50.5 quilos.
A paciente Raquel tem 15 anos pesa 45.1 quilos.
Saída da execução do programa
2013.2
Danilo Curvelo2013.2
Exemplo
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 48
#include <stdio.h>
main() {
float PRECO_UNIT, PRECO_TOTAL;
int QUANT;
PRECO_UNIT = 5.0;
QUANT = 10;
PRECO_TOTAL = PRECO_UNIT*QUANT;
}
Saída de dados
Algoritmo “Saída de Dados” 
var
PRECO_UNIT, PRECO_TOTAL : real
QUANT : inteiro
Início
PRECO_UNIT ← 5.0
QUANT ← 10
PRECO_TOTAL ← PRECO_UNIT * QUANT
Escreva (“Preço Total: ”, PRECO_TOTAL)
Fim
Saída de Dados
2013.2
Danilo Curvelo2013.2
Exemplo
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 49
#include <stdio.h>
main() {
float PRECO_UNIT, PRECO_TOTAL;
int QUANT;
PRECO_UNIT = 5.0;
QUANT = 10;
PRECO_TOTAL = PRECO_UNIT*QUANT;
printf(”Preco total: %f", PRECO_TOTAL);
}
Saída de dados
Algoritmo “Saída de Dados” 
var
PRECO_UNIT, PRECO_TOTAL : real
QUANT : inteiro
Início
PRECO_UNIT ← 5.0
QUANT ← 10
PRECO_TOTAL ← PRECO_UNIT * QUANT
Escreva (“Preço Total: ”, PRECO_TOTAL)
Fim
Saída de Dados
2013.2
Danilo Curvelo2013.2
• A instrução responsável por permitir a entrada de 
dados por partedo usuário é o scanf
• Para utilizar este comando é obrigatório incluir a 
biblioteca stdio.h em seu código
• Exceção: Variavel tipo char* -> scanf(“<valor>”, variavel);
• Onde <valor> deve ser substituído de acordo com o tipo de 
dado que se quer mostrar:
Entrada de Dados em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 50
%c caractere simples (char)
%d decimal (int)
%f ponto flutuante (float ou double)
%s cadeia de caracteres (char*)
scanf(“<valor>”, &variavel);
2013.2
Danilo Curvelo2013.2
Entrada de Dados em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 51
#include <stdio.h>
main() {
int idade;
printf("Qual a sua idade?\n");
scanf("%d", &idade);
printf("Você tem %d anos.\n", idade);
}
Entrada de Dados
Qual a sua idade?
Saída da execução do programa
9/10/2013
9
2013.2
Danilo Curvelo2013.2
Entrada de Dados em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 52
#include <stdio.h>
main() {
int idade;
printf("Qual a sua idade?\n");
scanf("%d", &idade);
printf("Você tem %d anos.\n", idade);
}
Entrada de Dados
Qual a sua idade?
25
Você tem 25 anos.
Saída da execução do programa
2013.2
Danilo Curvelo2013.2
Entrada de Dados em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 53
#include <stdio.h>
main() {
float peso;
printf("Qual o seu peso?\n");
scanf("%f", &peso);
printf("Você tem %.2f quilos.\n", peso);
}
Entrada de Dados
Qual a sua peso?
Saída da execução do programa
2013.2
Danilo Curvelo2013.2
Entrada de Dados em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 54
#include <stdio.h>
main() {
float peso;
printf("Qual o seu peso?\n");
scanf("%f", &peso);
printf("Você tem %.2f quilos.\n", peso);
}
Entrada de Dados
Qual a sua peso?
74.5
Você tem 74.50 quilos.
Saída da execução do programa
2013.2
Danilo Curvelo2013.2
Entrada de Dados em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 55
#include <stdio.h>
main() {
int num1, num2, soma;
printf("Entre com um numero: ");
scanf("%d", &num1);
printf("Entre com outro numero: ");
scanf("%d", &num2);
soma = num1+num2;
printf("O resultado da soma desses dois numeros: %d \n", soma);
}
Entrada de Dados I – Entrada única
Entre com um numero:
Saída da execução do programa
2013.2
Danilo Curvelo2013.2
Entrada de Dados em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 56
#include <stdio.h>
main() {
int num1, num2, soma;
printf("Entre com um numero: ");
scanf("%d", &num1);
printf("Entre com outro numero: ");
scanf("%d", &num2);
soma = num1+num2;
printf("O resultado da soma desses dois numeros: %d \n", soma);
}
Entrada de Dados I – Entrada única
Entre com um numero: 2
Entre com outro numero:
Saída da execução do programa
2013.2
Danilo Curvelo2013.2
Entrada de Dados em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 57
#include <stdio.h>
main() {
int num1, num2, soma;
printf("Entre com um numero: ");
scanf("%d", &num1);
printf("Entre com outro numero: ");
scanf("%d", &num2);
soma = num1+num2;
printf("O resultado da soma desses dois numeros: %d \n", soma);
}
Entrada de Dados I – Entrada única
Entre com um numero: 2
Entre com outro numero: 3
O resultado da soma desses dois numeros: 5
Saída da execução do programa
9/10/2013
10
2013.2
Danilo Curvelo2013.2
Entrada de Dados em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 58
#include <stdio.h>
main() {
int num1, num2;
printf("Entre com dois numeros inteiros: ");
scanf("%d%d", &num1, &num2);
printf("O resultado da soma desses dois numeros: %d \n", num1+num2);
}
Entrada de Dados II – Múltiplas entradas
Entre com dois numeros inteiros:
Saída da execução do programa
2013.2
Danilo Curvelo2013.2
Entrada de Dados em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 59
#include <stdio.h>
main() {
int num1, num2;
printf("Entre com dois numeros inteiros: ");
scanf("%d%d", &num1, &num2);
printf("O resultado da soma desses dois numeros: %d \n", num1+num2);
}
Entrada de Dados II – Múltiplas entradas
Entre com dois numeros inteiros: 2 3
O resultado da soma desses dois numeros: 5
Saída da execução do programa
2013.2
Danilo Curvelo2013.2
Entrada de Dados em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 60
#include <stdio.h>
main() {
char* nome;
printf("Qual o seu nome?\n");
scanf("%s", &nome);
printf("Seu nome é %s.\n", nome);
}
Entrada de Dados
Qual o seu nome?
Danilo
Seu nome é Danilo.
Saída da execução do programa
#include <stdio.h>
main() {
char* nome;
printf("Qual o seu nome?\n");
scanf("%s", nome);
printf("Seu nome é %s.\n", nome);
}
Entrada de Dados
2013.2
Danilo Curvelo2013.2
• É habitual querermos escrever notas em nosso
código-fonte
• Essas notas chama-se comentários
• Os comentários não são intepretados pelo
compilador (são ignorados)
• Comentário de única linha: //
• Comentário de múltiplas linhas: /* */
Comentários em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 61
2013.2
Danilo Curvelo2013.2
Comentários em C
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 62
#include <stdio.h>
/*
Exercicio de Algoritmos - DCA0800
Autor: Danilo Curvelo
*/
main() {
char* nome; // variavel quer ira guardar o nome
printf("Qual o seu nome?\n");
// Leitura de dados
scanf("%s", nome);
printf("Seu nome e %s.\n", nome);
}
Comentários
#include <stdio.h>
main() {
char* nome; 
printf("Qual o seu nome?\n");
scanf("%s", nome);
printf("Seu nome e %s.\n", nome);
}
Comentários
2013.2
Danilo Curvelo2013.2
Exemplos
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 63
Algoritmo “Entrada de Dados” 
var
PRECO_UNIT, PRECO_TOTAL : real
QUANT : inteiro
Início
Escreva (“Entre com o preço da unidade:”)
Leia (PRECO_UNIT)
Escreva (“Entre com a quantidade de unidades:”)
Leia (QUANT)
PRECO_TOTAL ← PRECO_UNIT * QUANT
Escreva (“Preço Total: ”, PRECO_TOTAL)
Fim
Exemplo
9/10/2013
11
2013.2
Danilo Curvelo2013.2
Exemplos
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 64
#include <stdio.h>
/*
Algoritmo para calcular o preço total
Autor: Danilo Curvelo
*/
main() {
float PRECO_UNIT, PRECO_TOTAL;
int QUANT;
printf("Entre com o preço da unidade: ");
scanf("%f", &PRECO_UNIT);
printf("Entre com a quantidade de unidades: ");
scanf("%d", &QUANT);
PRECO_TOTAL = PRECO_UNIT * QUANT;
printf("Preço Total: %.2f \n", PRECO_TOTAL);
}
Exemplo
Entre com o preço da unidade: 3.50
Entre com a quantidade de unidades: 3
Preço Total: 10.50
Saída da execução do programa
2013.2
Danilo Curvelo2013.2
Exemplos
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 65
Algoritmo “Calcular IMC” 
var
altura, massa, IMC: real
Início
Escreva (“Entre com sua altura e massa, respectivamente:”)
Leia (altura, massa)
IMC ← massa/altura^2
Escreva (“IMC: ”, IMC)
Fim
Exemplo
2013.2
Danilo Curvelo2013.2
Exemplos
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 66
#include <stdio.h>
#include <math.h>
/*
Algoritmo para calcular o IMC de um individuo
Autor: Danilo Curvelo
*/
main() {
float altura, massa, IMC;
printf("Entre com o sua altura e sua massa, respectivamente: ");
scanf("%f%f", &altura, &massa);
IMC = massa/pow(altura,2);
printf("IMC: %.2f \n", IMC);
}
Exemplo
Entre com o sua altura e sua massa, respectivamente: 1.80 74.0
IMC: 22.84 
Saída da execução do programa
2013.2
Danilo Curvelo2013.2
1. A fórmula de juros compostos é a seguinte: 
𝑉𝑓 = 1 + 𝑖
𝑁 . 𝑉𝑖. Onde Vj é o valor obtido após N
períodos de aplicação com juros i. Vi é o valor inicial. 
Dados o valor inicial, o número de períodos (meses) 
e a taxa de juros, calcule o valor final desejado.
2. A fórmula da distância entre dois pontos é a 
seguinte: 𝐷 = 𝑥2 − 𝑥1 2 + 𝑦2 − 𝑦1 2. Dados 
dois pontos (x1, y1) e (x2, y2), encontrar a distância 
entre eles.
3. Dado a idade de uma pessoa em anos, meses e dias, 
encontrar a idade aproximada dessa pessoa em dias.
Exercícios I
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 67
2013.2
Danilo Curvelo2013.2
1. Elabore um algoritmo que leia um número inteiro e 
imprima seu sucessor e seu antecessor. Por exemplo, 
suponha que o usuário digite o número 7, o 
algoritmo deveráimprimir na tela o seu antecessor 
(número 6) e o seu sucessor (número 8).
2. Elabore um algoritmo que leia uma temperatura em 
graus centígrados e apresente-a convertida em graus 
Fahrenheit. A fórmula de conversão é:
𝐹 =
9
5
∗ 𝐶 + 32
Exercícios II
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 68
2013.2
Danilo Curvelo2013.2
1. Desenvolva um algoritmo que solicite ao usuário 
duas variáveis de valor inteiro (variáveis A e B) e que 
ao final do processamento a variável A contenha o 
valor da variável B e a variável B contenha o valor da 
variável A.
2. Calcule o preço médio do quilômetro rodado 
(R$/km) para uma dada distância percorrida (km), 
um certo volume de combustível gasto (litro) e o 
preço do combustível (R$).
Exercícios III
DCA0800 . ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 69

Outros materiais