Aula 04 - Entrada e Saída de Dados




PRINTF, PUTS, PUTCHAR


Hoje falaremos sobre leitura e escrita de dados, para isso utilizaremos várias funções com diferentes características. Como já havíamos dito por aqui C é baseado em funções e a primeira função que iremos utilizar será para a escrita de dados. Bom digamos que você tenha uma variável que possui sua idade por exemplo e queira exibi-lá em seu programa, do que você precisa? De printf() que vem de "print formatted"(imprimir formatado) essa é uma das funções mais utilizadas quando se trata da escrita de dados. Mas porquê printf() é tão poderosa? Justamente por podermos imprimir variáveis junto com algum texto que quisermos, veja um exemplo:



Agora vamos entender  como funciona essa função, primeiramente você poderia escrever simplesmente uma string comum entre as aspas e funcionaria muito bem, porém a mágica do printf é que caso queira imprimir o valor de alguma variável, simplesmente só será preciso informar o tipo da variável, que no nosso caso é inteira por isso a formatação %d, e logo após como segundo parâmetro, passar o nome da variável que deseja imprimir naquela posição em que foi colocado o formatador %d. Nosso resultado seria esta frase impressa: 

Minha idade: 17

Há outras opções para impressões de valores como puts() de "put string"(colocar uma string) utilizado apenas para escrever strings. E temos também a função putchar() (colocar caractere), a diferença entre as duas é que putchar só imprimi um único caractere e puts imprimi palavras ou frases completas. Segue um exemplo de como são utilizadas:


puts("Eu estou aprendendo C.");

putchar('A');

Apesar da existência dessas duas funções a função printf(), se sobressaiu justamente pela habilidade de juntar strings literais  com nossas variáveis. Há vários outros formatos para impressão de outros tipos de dados como ponto flutuante strings e etc confira.



SCANF, FGETS


Trataremos agora da leitura de dados, as funções mais utilizadas são scanf() e fgets(). Como podemos ler dados numéricos? Simplesmente informamos a função scanf(), o tipo de dados que iremos ler do jeito que aprender a cima com "%tipododado" e em seguida informar onde aquela variável está localizada na memória. Esse conceito é chamado de ponteiro e para utiliza-los colocamos o '&' na frente do nome de nossa variável. Voltando ao exemplo da idade, veja como ficaria a leitura da idade:

int idade; 
printf("Digite sua idade: ");
scanf("%i", &idade);


Lembrando que é possível ler mais dados em um scanf(), sempre lembrando de informar o tipo do dado e um ponteiro para a variável sempre por ordem, veja um exemplo:

float altura;
int idade;
printf("Digite sua idade e depois sua altura: ");
scanf("%d %f", &idade, &altura);

Veja um exemplo de leitura de string's com scanf():

char filme_preferido[40]; printf("Digite o nome de seu filme preferido: ");
scanf("%39s", filme_preferido);//O número 39 indica o tamanho do vetor de caractere, //por padrão o último caractere e o \0 que indica ao c que a string termina ali.
printf("Seu filme preferido é: %s", filme_preferido);



Por maior segurança voce pode encontrar por ai a leitura de string's com o fgets(), justamente pela possibilidade de informar o tamanho máximo q terá a string sem se preocupar com o '\0', a sintaxe é bem simples, no primeiro momento informamos o nome da nossa variável string, após o tamanho total e em seguida de onde será lido esse valor, por exemplo, se vem do teclado(entrada padrão) ou de  um arquivo etc. 

Exemplo:  

fgets(filmes_preferido,40,stdin);
/*stdin quer dizer entrada padrão(standard input)*/


Finalizamos por aqui a parte inicial de entrada e saída de dados, recomendo que treinem muito essas novas funções que aprendemos hoje, pois basicamente todo programa que irá fazer com interação com o úsuario necessitará de entrada e saída. Até o próximo post.


0 comentários:

Postar um comentário