2.variaveis inteiras [modo de compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf ·...

95
Computação Eletrônica Eletrônica Introdução a C e Variáveis Inteiras

Upload: vukhanh

Post on 13-Nov-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Computação EletrônicaEletrônica

Introdução a C e Variáveis Inteiras

Page 2: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

O Computador

Memória RAM

Unidade de

Dispositivo de Entrada (teclado)

CPU

Unidade de Processamento

Dispositivo de Saída (monitor)

Memória (disco)

Page 3: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

O Computador

� A CPU (Central Processing Unit) ou Unidade de Processamento Central é o cérebro do computador. Ele coordena as atividades de entrada e saída de dados, além do entrada e saída de dados, além do armazenamento em memória

� Memória RAM: mais rápida, mais cara e volátil (os dados são perdidos ao desligar)

� Memória (disco): mais lenta, mais barata, e permanente (não há perda de dados ao desligar)

Page 4: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

O Computador

� Alguns dispositivos de entrada de dados:�Teclado�Mouse�Mouse�Leitor de CD ou DVD

� Alguns dispositivos de saída de dados:�Monitor� Impressora�Caixa de som

Page 5: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

C

� Criado pelo suíço Dennis Ritchie no início da década 70 no laboratório da AT&T Bell Labs

Dennis Ritchie

Labs� O nome é está associado à evolução da

linguagem de programação "B"� Uma das linguagens de programação

mais utilizada de todos os tempos

Page 6: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Pascal� Um programa que escreve "Hello World"

no monitor

#include <stdio.h>#include <stdio.h>int main() {

printf("Hello World");

return 0;}

Page 7: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Compilação#include <stdio.h>int main() {

printf("Hello World");return 0;

}

helloWorld.c

101010011101010101010101010100100010101010101010110111010101010101010101010101010101010

Compilador C (GNU, Code Blocks, etc)

helloWorld.exeduplo clique

Page 8: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Compilação CodeBlocks grava o arquivo bin\Debug\helloWorld.exe na mesma pasta de helloWorld.c

Build-> BuildCodeBlocks com o arquivo helloWorld.c

Build -> Run

Page 9: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Compilação

� Observação�Os programas construídos neste curso serão

exclusivamente modo texto.Ou seja, não haverá mouse, janela, ícones ou �Ou seja, não haverá mouse, janela, ícones ou gráficos. Apenas texto.

�A execução será feita através de entradas de dados pelo teclado e saídas de textos no monitor (dentro de uma janela Command Prompt)

Page 10: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Execução

� O que acontece após o duplo clique em helloWorld.exe?

Entrada (teclado)Memória

Saída (monitor)

101010011101010101010101010100100010101010101010110111010101010101010101010101010101010

CPU rodando helloWorld.exe

Memória

Hello World

Page 11: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Execução

� Para facilitar mostramos o codigo fonteEntrada (teclado)Memória

Saída (monitor)

CPU rodando helloWorld.exe

#include <stdio.h>int main() {

printf("Hello World");return 0;

}

Page 12: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Execução

� Para facilitar mostramos o codigo fonteEntrada (teclado)Memória

Saída (monitor)

CPU rodando helloWorld.exe

#include <stdio.h>int main() {

printf("Hello World");return 0;

}

Page 13: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Execução

� Para facilitar mostramos o codigo fonteEntrada (teclado)Memória

Saída (monitor)

CPU rodando helloWorld.exe

Hello World

#include <stdio.h>int main() {

printf("Hello World");return 0;

}

Page 14: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Execução

� Para facilitar mostramos o codigo fonteEntrada (teclado)Memória

Saída (monitor)

CPU rodando helloWorld.exe

Hello World

#include <stdio.h>int main() {

printf("Hello World");return 0;

}

Page 15: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Execução

� Para facilitar mostramos o codigo fonteEntrada (teclado)Memória

Saída (monitor)

CPU rodando helloWorld.exe

#include <stdio.h>int main() {

printf("Hello World");return 0;

}

Page 16: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Pascal� Um programa que lê um texto do teclado

#include <stdio.h>#include <stdio.h>int main() {

scanf(" ");

return 0;}.

leTeclado.c

Page 17: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Execução

� O que acontece no duplo clique de leTeclado.exe?

Entrada (teclado)Memória

Saída (monitor)

101010011101010101010101010100100010101010101010110111010101010101010101010101010101010

CPU rodando leTeclado.exe

Memória

Alo! <enter>

Page 18: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Execução

� Para facilitar, mostramos o código fonte

Entrada (teclado)Memória

#include <stdio.h>int main() {

scanf(" "); return 0;

}

Saída (monitor)

CPU rodandoleTeclado.exe

Page 19: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Execução

� Para facilitar, mostramos o código fonte

Entrada (teclado)Memória

#include <stdio.h>int main() {

scanf(" "); return 0;

}

Saída (monitor)

CPU rodandoleTeclado.exe

Page 20: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Execução

� Para facilitar, mostramos o código fonte

Entrada (teclado)Memória

#include <stdio.h>int main() {

scanf(" "); return 0;

}

Saída (monitor)

CPU rodandoleTeclado.exe

Alo!

Page 21: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Execução

� Para facilitar, mostramos o código fonte

Entrada (teclado)Memória

#include <stdio.h>int main() {

scanf(" "); return 0;

}

Saída (monitor)

CPU rodandoleTeclado.exe

Alo! <Enter>

Page 22: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Execução

� Para facilitar, mostramos o código fonte

Entrada (teclado)Memória

#include <stdio.h>int main() {

scanf(" "); return 0;

}

Saída (monitor)

CPU rodandoleTeclado.exe

Page 23: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Instalando o CodeBlocks� Antes de instalar, logue no sistema como

administrador (ou seja, com direitos para instalar programas)

� Sobre a instalação do CodeBlocks: � Sobre a instalação do CodeBlocks: http://www.cin.ufpe.br/~if669ec/files/AP1%20-2013.1.ppt

� Ao criar um projeto, escolha Console Application e a linguagem C

� Dúvidas falem com os monitores

Page 24: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

A memória

� A memória pode ser vista como um imenso � A memória pode ser vista como um imenso gaveteiro

� Em cada gaveta, guardamos uma informação. Por exemplo, um pedaço de papel contendo um número. Ou um pedaço de papel contendo um nome.

Page 25: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Variáveis� As gavetas em programação são chamadas de

variáveis� Antes de utilizarmos uma variável, devemos nomeá-

la.Em C os nomes de variáveis seguem a seguinte � Em C os nomes de variáveis seguem a seguinte regra:� É formado por uma única letra ou por uma letra seguida de

letras ou dígitos� Não é permitido espaço em branco ou outros caracteres

como @ * , ; / :� $ e _ podem ser utilizados� Exemplos permitidos: a, nota1, matricula, lucroTotal,_teste� Exemplos errados: 5B, A:B, km/h

Page 26: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Variáveis� As palavras abaixo não podem ser utilizadas para

nomear variáveis. Elas já possuem outro significado ou propósito. São denominadas palavras reservadas.

Page 27: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Variáveis

� Em C, devemos nomear a gaveta através da declaração de uma variável#include <stdio.h>

int main() {

var x;

printf("Hello World");

return 0;

}

� Porém, este programa não compila!

Page 28: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Variáveis

� Em C, devemos nomear a gaveta através da declaração de uma variável#include <stdio.h>

int main() {x

var x;

printf("Hello World");

return 0;

}

� Porém, este programa não compila!

x

Page 29: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Variáveis� Computadores trabalham com variáveis de diferentes

tipos:� Em C: int, double, float, char� Vamos trabalhar apenas com inteiros (int) por enquanto

(tipicamente, -2.147.483.648 ... 2.147.483.647)(tipicamente, -2.147.483.648 ... 2.147.483.647)� O programa anterior deve ser corrigido para:#include <stdio.h>

int main() {

int x;

printf("Hello World");

return 0;

}

x

Page 30: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Variáveis

Memória Monitor / Teclado

int main() {int x; return 0;

}

Page 31: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Variáveis

Memória Monitor / Teclado

int main() {int x; return 0;

}

Page 32: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Variáveis

Memória Monitor / Teclado

x

int main() {int x; return 0;

}

Page 33: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Variáveis

Memória Monitor / Teclado

int main() {int x; return 0;

}

Page 34: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Variáveis

� O programa anterior reserva uma área de memória chamada x, mas não a utiliza. Nenhum inteiro foi gravado em utiliza. Nenhum inteiro foi gravado em x.

� Existem 2 modos para gravar um número em uma área de memória�Atribuição�Função scanf

Page 35: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória

Monitor / Teclado

int main() {int x; x = 5;return 0;

}

Page 36: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória

Monitor / Teclado

x

int main() {int x; x = 5;return 0;

}

Page 37: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória

Monitor / Teclado

x5

int main() {int x; x = 5;return 0;

}

Page 38: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória

Monitor / Teclado

int main() {int x; x = 5;return 0;

}

Page 39: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória

Monitor / Teclado

int main() {int x; x = 5;x = 8;x = 10;return 0;

}

Page 40: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória

Monitor / Teclado

x

int main() {int x; x = 5;x = 8;x = 10;return 0;

}

Page 41: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória

Monitor / Teclado

x 5

int main() {int x; x = 5;x = 8;x = 10;return 0;

}

Page 42: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória

Monitor / Teclado

x 8

int main() {int x; x = 5;x = 8;x = 10;return 0;

}

Page 43: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória

Monitor / Teclado

x 10

int main() {int x; x = 5;x = 8;x = 10;return 0;

}

Page 44: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória

Monitor / Teclado

int main() {int x; x = 5;x = 8;x = 10;return 0;

}

Page 45: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

VariáveisMemória

Monitor / Teclado

int main() {int x; int y; int z,w;

return 0;}

Page 46: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

VariáveisMemória

Monitor / Teclado

x y z w

int main() {int x; int y; int z,w;

return 0;}

Page 47: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

VariáveisMemória

Monitor / Teclado

int main() {int x; int y; int z,w;

return 0;}

Page 48: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória

Monitor / Teclado

int main() {int x; int y; x=5;y=8;return 0;

}

Page 49: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória

Monitor / Teclado

x y

int main() {int x; int y; x=5;y=8;return 0;

}

Page 50: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória

Monitor / Teclado

x y5

int main() {int x; int y; x=5;y=8;return 0;

}

Page 51: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória

Monitor / Teclado

x y5 8

int main() {int x; int y; x=5;y=8;return 0;

}

Page 52: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória

Monitor / Teclado

int main() {int x; int y; x=5;y=8;return 0;

}

Page 53: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória

Monitor / Teclado

int main() {int x; int y; x = 2;y = x+3;x = y-xreturn 0;

}

Page 54: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória

Monitor / Teclado

x y

int main() {int x; int y; x = 2;y = x+3;x = y-xreturn 0;

}

Page 55: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória

Monitor / Teclado

x y2

int main() {int x; int y; x = 2;y = x+3;x = y-xreturn 0;

}

Page 56: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória

Monitor / Teclado

x y2 5

int main() {int x; int y; x = 2;y = x+3;x = y-xreturn 0;

}

Page 57: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória

Monitor / Teclado

x y3 5

int main() {int x; int y; x = 2;y = x+3;x = y-xreturn 0;

}

Page 58: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória

Monitor / Teclado

int main() {int x; int y; x = 2;y = x+3;x = y-xreturn 0;

}

Page 59: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória Monitor / Teclado

int main() {int x; int y; int temp;x = 2;y = 6;temp = x;x = y;y = temp;return 0;

}

Page 60: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória Monitor / Teclado

x y temp

int main() {int x; int y; int temp;x = 2;y = 6;temp = x;x = y;y = temp;return 0;

}

Page 61: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória Monitor / Teclado

x y temp2

int main() {int x; int y; int temp;x = 2;y = 6;temp = x;x = y;y = temp;return 0;

}

Page 62: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória Monitor / Teclado

x y temp2 6

int main() {int x; int y; int temp;x = 2;y = 6;temp = x;x = y;y = temp;return 0;

}

Page 63: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória Monitor / Teclado

x y temp2 6 2

int main() {int x; int y; int temp;x = 2;y = 6;temp = x;x = y;y = temp;return 0;

}

Page 64: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória Monitor / Teclado

x y temp6 6 2

int main() {int x; int y; int temp;x = 2;y = 6;temp = x;x = y;y = temp;return 0;

}

Page 65: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória Monitor / Teclado

x y temp6 2 2

int main() {int x; int y; int temp;x = 2;y = 6;temp = x;x = y;y = temp;return 0;

}

Page 66: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória Monitor / Teclado

int main() {int x; int y; int temp;x = 2;y = 6;temp = x;x = y;y = temp;return 0;

}

Page 67: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória Monitor / Teclado

#include <stdio.h>int main() {

int x; scanf("%d",&x);printf("%d\n",x);return 0;

}

& representao endereço da memória da variável x

Page 68: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória Monitor / Teclado

x

#include <stdio.h>int main() {

int x; scanf("%d",&x);printf("%d\n",x);return 0;

}

& representao endereço da memória da variável x

Page 69: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória Monitor / Teclado

x5 <enter>5

#include <stdio.h>int main() {

int x; scanf("%d",&x);printf("%d\n",x);return 0;

}

& representao endereço da memória da variável x

Page 70: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória Monitor / Teclado

x5 <enter>5

5

#include <stdio.h>int main() {

int x; scanf("%d",&x);printf("%d\n",x);return 0;

}

& representao endereço da memória da variável x

Page 71: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória Monitor / Teclado

#include <stdio.h>int main() {

int x; scanf("%d",&x);printf("%d\n",x);return 0;

}

& representao endereço da memória da variável x

Page 72: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória Monitor / Teclado

x

#include <stdio.h>int main() {

int x; scanf("%d",&x);x = x + x;printf("%d\n",x);return 0;

}

Page 73: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória Monitor / Teclado

x5 <enter>5

#include <stdio.h>int main() {

int x; scanf("%d",&x);x = x + x;printf("%d\n",x);return 0;

}

Page 74: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória Monitor / Teclado

x5 <enter>10

#include <stdio.h>int main() {

int x; scanf("%d",&x);x = x + x;printf("%d\n",x);return 0;

}

Page 75: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória Monitor / Teclado

x5 <enter>10

10

#include <stdio.h>int main() {

int x; scanf("%d",&x);x = x + x;printf("%d\n",x);return 0;

}

Page 76: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

AtribuiçãoMemória Monitor / Teclado

#include <stdio.h>int main() {

int x; scanf("%d",&x);x = x + x;printf("%d\n",x);return 0;

}

Page 77: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Operadores matemáticos para inteiros� Além de adição (+), subtração (-) e

multiplicação (*), C também oferece�Divisão: /�Divisão: /

� 15 / 3 = 5� 5 / 2 = 2 /* Lembre-se: divisão entre inteiros! */

�Resto ou módulo da divisão: %� 15 % 3 = 0� 5 % 2 = 1

Page 78: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

#include <stdio.h>

int main() {int x,y,divisao,resto;

printf("Entre o numerador:");scanf("%d",&x);printf("Entre o denominador:");

Um programa maiorMemória

scanf("%d",&y);divisao = x /y;resto = x % y;printf("Divisao: ");printf("%d \n",divisao);printf("Resto: ");printf("%d \n", resto);

return 0;}

Monitor / Teclado

Page 79: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

#include <stdio.h>

int main() {int x,y,divisao,resto;

printf("Entre o numerador:");scanf("%d",&x);printf("Entre o denominador:");

Um programa maiorMemória

x y divisao

resto

scanf("%d",&y);divisao = x /y;resto = x % y;printf("Divisao: ");printf("%d \n",divisao);printf("Resto: ");printf("%d \n", resto);

return 0;}

Monitor / Teclado

Page 80: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

#include <stdio.h>

int main() {int x,y,divisao,resto;

printf("Entre o numerador:");scanf("%d",&x);printf("Entre o denominador:");

Um programa maiorMemória

x y divisao

resto

scanf("%d",&y);divisao = x /y;resto = x % y;printf("Divisao: ");printf("%d \n",divisao);printf("Resto: ");printf("%d \n", resto);

return 0;}

Monitor / Teclado

Entre o numerador:

Page 81: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

#include <stdio.h>

int main() {int x,y,divisao,resto;

printf("Entre o numerador:");scanf("%d",&x);printf("Entre o denominador:");

Um programa maiorMemória

x y divisao

resto

13

scanf("%d",&y);divisao = x /y;resto = x % y;printf("Divisao: ");printf("%d \n",divisao);printf("Resto: ");printf("%d \n", resto);

return 0;}

Monitor / Teclado

Entre o numerador: 13 <ENTER>

Page 82: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

#include <stdio.h>

int main() {int x,y,divisao,resto;

printf("Entre o numerador:");scanf("%d",&x);printf("Entre o denominador:");

Um programa maiorMemória

x y divisao

resto

13

scanf("%d",&y);divisao = x /y;resto = x % y;printf("Divisao: ");printf("%d \n",divisao);printf("Resto: ");printf("%d \n", resto);

return 0;}

Monitor / Teclado

Entre o numerador: 13 <ENTER>

Entre o denominador:

Page 83: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

#include <stdio.h>

int main() {int x,y,divisao,resto;

printf("Entre o numerador:");scanf("%d",&x);printf("Entre o denominador:");

Um programa maiorMemória

x y divisao

resto

13 3

scanf("%d",&y);divisao = x /y;resto = x % y;printf("Divisao: ");printf("%d \n",divisao);printf("Resto: ");printf("%d \n", resto);

return 0;}

Monitor / Teclado

Entre o numerador: 13 <ENTER>

Entre o denominador: 3 <ENTER>

Page 84: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

#include <stdio.h>

int main() {int x,y,divisao,resto;

printf("Entre o numerador:");scanf("%d",&x);printf("Entre o denominador:");

Um programa maiorMemória

x y divisao

resto

13 3 4

scanf("%d",&y);divisao = x /y;resto = x % y;printf("Divisao: ");printf("%d \n",divisao);printf("Resto: ");printf("%d \n", resto);

return 0;}

Monitor / Teclado

Entre o numerador: 13 <ENTER>

Entre o denominador: 3 <ENTER>

Page 85: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

#include <stdio.h>

int main() {int x,y,divisao,resto;

printf("Entre o numerador:");scanf("%d",&x);printf("Entre o denominador:");

Um programa maiorMemória

x y divisao

resto

13 3 4

1

scanf("%d",&y);divisao = x /y;resto = x % y;printf("Divisao: ");printf("%d \n",divisao);printf("Resto: ");printf("%d \n", resto);

return 0;}

Monitor / Teclado

Entre o numerador: 13 <ENTER>

Entre o denominador: 3 <ENTER>

Page 86: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

#include <stdio.h>

int main() {int x,y,divisao,resto;

printf("Entre o numerador:");scanf("%d",&x);printf("Entre o denominador:");

Um programa maiorMemória

x y divisao

resto

13 3 4

1

scanf("%d",&y);divisao = x /y;resto = x % y;printf("Divisao: ");printf("%d \n",divisao);printf("Resto: ");printf("%d \n", resto);

return 0;}

Monitor / Teclado

Entre o numerador: 13 <ENTER>

Entre o denominador: 3 <ENTER>

Divisao:

Page 87: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

#include <stdio.h>

int main() {int x,y,divisao,resto;

printf("Entre o numerador:");scanf("%d",&x);printf("Entre o denominador:");

Um programa maiorMemória

x y divisao

resto

13 3 4

1

scanf("%d",&y);divisao = x /y;resto = x % y;printf("Divisao: ");printf("%d \n",divisao);printf("Resto: ");printf("%d \n", resto);

return 0;}

Monitor / Teclado

Entre o numerador: 13 <ENTER>

Entre o denominador: 3 <ENTER>

Divisao: 4

Page 88: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

#include <stdio.h>

int main() {int x,y,divisao,resto;

printf("Entre o numerador:");scanf("%d",&x);printf("Entre o denominador:");

Um programa maiorMemória

x y divisao

resto

13 3 4

1

scanf("%d",&y);divisao = x /y;resto = x % y;printf("Divisao: ");printf("%d \n",divisao);printf("Resto: ");printf("%d \n", resto);

return 0;}

Monitor / Teclado

Entre o numerador: 13 <ENTER>

Entre o denominador: 3 <ENTER>

Divisao: 4

Resto:

Page 89: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

#include <stdio.h>

int main() {int x,y,divisao,resto;

printf("Entre o numerador:");scanf("%d",&x);printf("Entre o denominador:");

Um programa maiorMemória

x y divisao

resto

13 3 4

1

scanf("%d",&y);divisao = x /y;resto = x % y;printf("Divisao: ");printf("%d \n",divisao);printf("Resto: ");printf("%d \n", resto);

return 0;}

Monitor / Teclado

Entre o numerador: 13 <ENTER>

Entre o denominador: 3 <ENTER>

Divisao: 4

1Resto:

Page 90: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

#include <stdio.h>

int main() {int x,y,divisao,resto;

printf("Entre o numerador:");scanf("%d",&x);printf("Entre o denominador:");

Um programa maiorMemória

scanf("%d",&y);divisao = x /y;resto = x % y;printf("Divisao: ");printf("%d \n",divisao);printf("Resto: ");printf("%d \n", resto);

return 0;}

Monitor / Teclado

Page 91: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Mais sobre printf e scanf

#include <stdio.h>

int main() {int x,y,divisao;

printf("Entre o numerador:");scanf("%d",&x);

Programa que faz a mesma coisa

que o anterior.

Mas não usa tantas variáveis.scanf("%d",&x);printf("Entre o denominador:");scanf("%d",&y);divisao = x /y;printf("Divisao: %d\n",divisao);printf("Resto: %d \n", (x % y));

return 0;}

\n adiciona uma quebra de linha

no final.

printf aceita tanto texto entre

aspas, como "Divisao: " quanto

variáveis como divisao ou

expressões matemáticas como x

% y. Eles tem que vir separados

por vírgulas. %d indica a

impressão de variável inteira

Page 92: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Mais sobre printf e scanf

� printf("txtformato", var1, var2, var3,...) –comando de saída� txtformato = o quê e os valores das variáveis a

serem impressosserem impressos� Códigos de formatação

\n = quebra de linha

\t = Tabulação (espaço de um tab)... (leia o capítulo 2 do livro texto)

� var1 = valor da variável 1;...

Page 93: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Mais sobre printf e scanf

� scanf("tipo", &var1) – comando de saída� tipo = o tipo da variável

%d = inteiro

%f = float%f = float... (veja o capítulo 2 do livro texto)

� &var1 = endereço da variável 1

Page 94: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Exercício

� Fazer um programa para:� Ler, via teclado, um número inteiro. Assuma que o

usuário vai digitar um número entre 100 e 999.� Imprimir no monitor os dígitos deste número (1 � Imprimir no monitor os dígitos deste número (1

dígito em cada linha).� Exemplo. Se o usuário digitar 358, imprimir:

358

Page 95: 2.variaveis inteiras [Modo de Compatibilidade]eagt/if165/aulas/2.variaveis_inteiras.pdf · if669ec/files/AP1% 20-2013.1.ppt Ao criar um projeto, escolha Console Application e a linguagem

Exercício

� Fazer um programa para:� Ler, via teclado, 3 números inteiros x, y e z. Assuma

que o usuário vai digitar números entre 100 e 999.� Imprimir no monitor a soma dos dígitos destes � Imprimir no monitor a soma dos dígitos destes

números.� Exemplo. Se o usuário digitar 353, 612 e 999 para x, y e z

respectivamente, o programa deve imprimir 11, 9 e 27.