Você está na página 1de 25

Prof. MSc. Flvio Barros flathbarros@gmail.

com

Parnaba-PI

Contedo
Unid.III - Entrada e Sada
Sada formatada: printf() Leitura formatada: scanf() Entrada de caractere individual: getchar() Sada de caractere individual: putchar() puts() e gets()

MSc. Flvio Barros

Entrada e Sada

Entrada e Sada
Fundamentos
Um programa que no fornece resultados nem pede valores para operar no deve ter grande utilidade; A entrada de dados ser feita pelo teclado e a sada poder ser vista na tela do computador; Quando um programa se inicia (em C), normalmente trs fluxos (arquivos) de dados so abertos para operaes de entrada e sada: um para entrada, um para sada e um para imprimir mensagens de erro ou diagnstico.

MSc. Flvio Barros

Entrada e Sada

Entrada e Sada
Fundamentos (cont.)
Normalmente o fluxo de entrada est conectado ao teclado, enquanto que o fluxo de sada e o de mensagens de erro, para serem visualizados, esto conectados ao monitor; O fluxo de entrada chamado de entrada padro (standard input); O fluxo de sada chamado de sada padro (standard output).

MSc. Flvio Barros

Entrada e Sada

Sada formatada: printf()


A funo printf faz com que dados sejam escritos na sada padro, que normalmente a tela do computador; Sintaxe da funo: int printf (controle, arg1, arg2, ...); onde os argumentos arg1, arg2, ... so impressos de acordo com o formato indicado pela cadeia de caracteres que compe controle.

MSc. Flvio Barros

Entrada e Sada

Praticando... printf()
Como controle uma cadeia que aparece entre " ". Ele define como sero impressos os valores representados pelos argumentos; No controle podem existir dois tipos de informaes: caracteres comuns e cdigos de formatao; Os caracteres comuns, como no exemplo o texto Estamos no ano, so escritos na tela sem nenhuma modificao;

#include <stdio.h> int main (void) { int idade=31; /* Imprime o valor do ano */ printf (Idade eh %d", idade ); return 0; }

MSc. Flvio Barros

Entrada e Sada

Praticando... printf()
Os cdigos de formatao, aparecem precedidos por um caractere % e so aplicados aos argumentos na ordem em que aparecem; Deve haver um cdigo de formatao para cada argumento; O cdigo %d indica que o valor armazenado em ano deve ser impresso na notao inteiro decimal; importante notar que o campo de controle aparece somente uma vez na funo printf e sempre no incio.

#include <stdio.h> int main (void) { int idade=31; /* Imprime o valor do ano */ printf (Idade eh %d", idade ); return 0; } getchar();

MSc. Flvio Barros

Entrada e Sada

Cdigos de Converso

MSc. Flvio Barros

Entrada e Sada

Praticando... printf()

#include <stdio.h>
#include <stdio.h> int main (void) { char curso=Sistemas de Informao; printf (Curso = %s", curso ); getchar(); return 0; }

int main (void) { double nota=9.25; printf(Nota = %f",nota); getchar(); return 0; }

printf(Nota = %2.1f ",nota);

MSc. Flvio Barros

Entrada e Sada

Contedo
Unid.III - Entrada e Sada
Sada formatada: printf() Leitura formatada: scanf() Entrada de caractere individual: getchar() Sada de caractere individual: putchar() puts() e gets()

MSc. Flvio Barros

Entrada e Sada

10

Leitura formatada: scanf()


Fundamentos A funo scanf pode ser utilizada para entrada de dados a partir do teclado; Sintaxe scanf (controle, arg1, arg2, ...); Uma diferena fundamental que existe entre esta funo e a funo printf est nos argumentos que vm depois do controle; No caso de scanf os argumentos so os endereos das variveis que iro receber os valores lidos e no, como em printf, as prprias variveis.
Entrada e Sada
11

MSc. Flvio Barros

Leitura formatada: scanf()


Fundamentos (cont.)
A indicao que estamos referenciando um endereo e no a varivel se faz pelo operador &; Exemplo, o comando: scanf ("%d %d", &a, &b); Espera que dois valores inteiros sejam digitados no teclado. O primeiro armazenado na varivel a e o segundo em b; Os valores sero armazenados diretamente nos endereos indicados por &a e &b respectivamente.
MSc. Flvio Barros

Entrada e Sada

12

Praticando... scanf()

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


... int x; float y; scanf("%d %f", &x, &y); ...

char c; int num1, num2 ; printf (Digite caractere: \n); scanf (%c, &c); printf (Codigo ASCII %c vale %d \n, c, c); printf (Digite dois inteiros: \n); scanf (%d %d, &num1 , &num2 ); printf (Soma eh %d.\n", num1+num2 ); return 0; }

MSc. Flvio Barros

Entrada e Sada

13

Contedo
Unid.III - Entrada e Sada
Sada formatada: printf() Leitura formatada: scanf() Entrada de caractere individual: getchar() Sada de caractere individual: putchar() puts() e gets()

MSc. Flvio Barros

Entrada e Sada

14

Funes getchar e putchar


Fundamentos getchar e putchar, esto na biblioteca stdio.h Sintaxe int getchar (void); int putchar ( int c);

MSc. Flvio Barros

Entrada e Sada

15

Funes getchar e putchar


Observaes Normalmente, quando algum dado fornecido pelo teclado termina-se a digitao com a tecla enter; No entanto, enter um caractere tambm, e isto pode causar problemas; Quando antes do comando getchar, se l um dado do tipo inteiro, por exemplo, o comando scanf l o nmero inteiro mas no o enter digitado; Deste modo, quando logo em seguida o programa executar a funo getchar, o que ser lido o enter digitado ao final do nmero.
MSc. Flvio Barros

Entrada e Sada

16

Praticando... getchar() e putchar()


#include <stdio.h> int main (void) { char c; printf (Digite caractere: ); c = getchar(); printf (Caractere lido foi o ); putchar(c); getchar(); getchar(); return 0; }

MSc. Flvio Barros

Entrada e Sada

17

Contedo
Unid.III - Entrada e Sada
Sada formatada: printf() Leitura formatada: scanf() Entrada de caractere individual: getchar() Sada de caractere individual: putchar() puts() e gets()

MSc. Flvio Barros

Entrada e Sada

18

Lendo e Imprimindo Cadeias de Caracteres


Fundamentos Uma cadeia de caracteres (string) em C um vetor de caracteres; Para usar cadeias preciso primeiro definir um espao para armazen-las; Para isto preciso declarar o nome, o tamanho e o tipo do vetor; Considere que precisamos armazenar uma cadeia de caracteres chamada nome com 40 caracteres. char nome [40];
MSc. Flvio Barros

Entrada e Sada

19

Lendo e Imprimindo cadeias com gets e puts


Fundamentos Funo printf substituda por puts; Funo scanf substituda por gets; OBS: a impresso sempre termina e passa para a prxima linha.

MSc. Flvio Barros

Entrada e Sada

20

Praticando... puts() e gets()


#include <stdio.h> int main (void) { char nome[50]; puts ( Digite Nome:); gets (nome); puts (\n Ola, ); puts (nome); puts (\n Sejam bem vindo...); getchar(); return 0; }

MSc. Flvio Barros

Entrada e Sada

21

Resumo
Funes de entrada de dados (entrada a partir do teclado ) scanf - scan formatted. (l um int, um char, um float, uma string,) gets - get string: l uma string do teclado getchar - get caracter: l um caracter do teclado Funes de sada de dados printf - print formatted. (escreve um int, um char, um float, uma string,) puts - put string: escreve uma string. putchar - put caracter: escreve um caracter

MSc. Flvio Barros

Entrada e Sada

22

Resumo

MSc. Flvio Barros

Entrada e Sada

23

Praticando...
1) Escreva Programa em C, onde o mesmo ler um Nome e SobreNome, e mostre os dois separados por espao, como resultado. 2) Escreva Programa em C, que leia 2 valores e, mostre a troca dos valores lidos. Exemplo: Entrada: A = 3 e B = 5 Sada: A = 5 e B = 3 3) Escreva Programa em C para calcular o estoque de uma pea, em uma oficina de moto. 4) Escreva Programa em C que calcule a idade de uma pessoa.

MSc. Flvio Barros

Entrada e Sada

24

Referncias

CRUZ, Adriano Joaquim de Oliveira. Curso de Linguagem C. Ncleo de Computao Eletrnica UFRJ. ago.2010. BERNARDO, Alessandro. Algoritmos e Linguagens de Programao I. FACITEC - FACULDADE DE CINCIAS SOCIAIS E TECNOLGICAS - Tecnologia em Redes de Computadores. SCHILDT, Herbert. C Completo e Total. So Paulo: Makron Books, 1996. CORMEN, Thomas H.; LEISERSON, Charles E.; RIVEST, Ronald L.; STEIN, Clifford. Algoritmos: teoria e prtica. 2.ed. Rio de Janeiro: Elsevier, 2002.

MSc. Flvio Barros

Entrada e Sada

25

Você também pode gostar