quinta-feira, 28 de abril de 2011

Printf e Scanf

Hoje vou falar sobre os comandos printf e scanf que são os comandos de entrada e saída de dados. Primeiro vou falar um pouquinho sobre dados.Dados são informações organizadas e inteligíveis.Quando falamos de entrada de dados,falamos de informações que o computador vai entender.Um exemplo prático é quando colocamos um pendrive no computador,ele vai ler as informações e te mostrar na tela(que é o dispositivo de saída).Vai te mostrar fotos,musicas e etc. que são conjuntos de bits(dígitos binários) que formam dados que geram informações organizadas que podem ser interpretadas pelo Windows media player no caso de músicas ou o Word no caso de documentos.




Exemplos:




Dispositivos de entrada:




· Teclado




· Drive de cd/DVD




· Mouse




· Drive de disquete




Dispositivos de saída:




· Drive de cd-rom




· Monitor




· Caixas de Som




Concluindo, tudo que você entende são dados(no caso da música ou texto estiver em japonês fica difícil de entender,mas nada que um bom tradutor não resolva!)




O programa




Quando você se depara com um problema você deve ter um pensamento organizado, coeso (falei bonito ein!) e estruturado.




Como assim???




Imagine que sua mãe peça para você ir na padaria,você sem perceber traça logo a trajetória e vai,chegando la você pede por exemplo 5 pães,a atendente coloca os pães no saco,você paga e pronto,retorna com os pães pra casa.




Agora imagine onde esse problema de ir pegar pãezinhos pode dar erro.




· Ser assaltado no caminho (hahaha),esquece isso!




· Você esqueceu onde é a padaria.




· Você está sem dinheiro




· Você não sabe quantos pães comprar




· Você não sabe quanto é o preço do pão e quantos pães vai poder comprar




Bem antes de você ir na padaria você deveria ter pensado nisso tudo.




Imagine a situação, você chega na padaria,para de frente para o balcão e fica olhando pra cara da atendente.O que ela pensa?




· Você é mudo!




· Você é louco!




· Você é um psicopata!




No mundo das linguagens de computador tudo funciona perfeitamente como no caso da padaria,até no caso do assalto.O computador não é burro mas é lógico,ele funciona com informações passadas por você e faz o que você pede.




No caso da padaria você tem que dizer quantos pães você quer para que ela possa te entregar X pães.




No seu programa isso vai funcionar da mesma forma. O comando printf serve para você exprimir algo para alguém, no caso o usuário.




Exemplos: Digite 3 números,digite 3 palavras,de a resposta em float.




O printf está relacionado a você pedir informações e depois retornar a resposta ou advertência no caso do usuário ter digitado algo errado,ou o que você quiser dizer para o usuário.




Agora vamos nos colocar no lugar da balconista(eu não queria,espero que ninguém que esteja lendo isso trabalhe em padarias,sempre lembro da piadinha de queimar a rosca do padeiro hahaha),voltando,se você não disser para ela quantos pães você quer ela não poderá te entregar nada,pois ela não sabe quantos você quer.




A balconista está fazendo o papel do computador,você tem que dizer quantos pães você quer logo depois do printf(“Digite a quantidade de pães”); e ela vai fazer um scanf e ela saberá quantos pães poderá colocar na embalagem e te retornar os pães return pães.




Imagine que você é a função principal main(),chama a função balconista e ela te retorna a quantidade de pães.




Isso é um conceito de função externa,acho que andei um pouquinho mas tudo bem,vamos precisar desse conceito mais tarde.




Vamos falar um pouco de variáveis.




Variável como o próprio nome já diz ,ela pode variar o valor.Você pode colocar um pão na embalagem como 10,isso se couber.já percebeu que ela pega o saquinho menor quando você pede 3 pães e um maior quando você pede 10,então,isso é um tipo de variável pré definida pelo usuário pois você tem que saber com quantas unidades irá trabalhar.




Tipo de Variável




Algo muito importante é o tipo da variável,você não chega em uma padaria e pede uma correia de fusca,ou pede pra ela colocar na embalagem um tijolo.O tipo de dado tem que ser coerente e compatível.




= “significa recebe”




Embalagem = pães




Garrafa = cachaça




Sua prova = 0




Variável inteira = 10




E por ai vai.




Essa foi uma explicação básica dos comandos printf e scanf de uma forma mais vulgar,logo abaixo você vai encontrar informações de sites respeitáveis como a Wikipédia ou UFMG que trata de uma forma mais técnica a programação.Leia com atenção e preste atenção nos símbolos,ponto e virgula,e abre e fecha aspas e etc.




Leia tudo e no final vou colocar diversos exemplos para o treino dessas duas funções,lembrando que sem elas você não faz nada,nada mesmo em C.Lembrando de novo que para a leitura desse texto é altamente aconselhável que você leia o texto anterior chamado “tutorial do codeblocks”,que explica em detalhes a estrutura de programação além de explicar cada comando um a um com detalhes.




Boa leitura.







Introdução




Variáveis e constantes são os elementos básicos que um programa manipula. Uma variável é um espaço reservado na memória do computador para armazenar um tipo de dado determinado. Variáveis devem receber nomes para poderem ser referenciadas e modificadas quando necessário. Muitas linguagens de programação exigem que os programas contenham declarações que especifiquem de que tipo são as variáveis que ele utilizará e as vezes um valor inicial. Tipos podem ser, por exemplo: inteiros, reais, caracteres, etc. As expressões combinam variáveis e constantes para calcular novos valores.







Tipos de Dados




Tipos Básicos:




Os dados podem assumir cinco tipos básicos em C que são:







  • char: Caracter: O valor armazenado é um caractere. Caracateres geralmente são armazenados em códigos (usualmente o código ASCII).



  • int: Número inteiro é o tipo padrão e o tamanho do conjunto que pode ser representado normalmente depende da máquina em que o programa está rodando.



  • float: Número em ponto flutuante de precisão simples. São conhecidos normalmente como números reais.



  • double: Número em ponto flutuante de precisão dupla



  • void: Este tipo serve para indicar que um resultado não tem um tipo definido. Uma das aplicações deste tipo em C é criar um tipo vazio que pode posteriormente ser modificado para um dos tipos anteriores.






printf




A função printf() tem a seguinte forma geral:




printf (string_de_controle,lista_de_argumentos);




Teremos, na string de controle, uma descrição de tudo que a função vai colocar na tela. A string de controle mostra não apenas os caracteres que devem ser colocados na tela, mas também quais as variáveis e suas respectivas posições. Isto é feito usando-se os códigos de controle, que usam a notação %. Na string de controle indicamos quais, de qual tipo e em que posição estão as variáveis a serem apresentadas. É muito importante que, para cada código de controle, tenhamos um argumento na lista de argumentos. Apresentamos agora alguns dos códigos %:






































































Código




Significado




%d




Inteiro




%f




Float




%c




Caractere




%s




String




%%




Coloca na tela um %







Resumo:Quando você der de cara com o símbolo de % você saberá que ele está puxando um valor de variável de algum lugar.




scanf




O formato geral da função scanf() é:




scanf (string-de-controle,lista-de-argumentos);




Usando a função scanf() podemos pedir dados ao usuário.







Bem se você sobrevivei a leitura até aqui significa que está mesmo com vontade de aprender ou PRECISANDO DE NOTA(eu vou ficar com esse segundo).




Vamos aos exemplos.




Todo programa vai começar com




#include ”stdio.h”




Obs:se você for um cara meio boiolado e perceber que eu estou usando aspas ao invés de símbolo de maior e menor na frente do nome da biblioteca saiba que não faz diferença alguma para o compilador.Todos os dois casos são validos mas o blog não está aceitando o símbolo de maior e menor então vai aspas mesmo pois funciona.




Já colocamos a biblioteca que os comandos de entrada e saída precisam agora vamos para a próxima parte.




O corpo principal.




Olhe para você (quando estiver no banho!),você está peladão ou peladona,você está sem nada então só a o corpo.A blusa,calsa,sapato são apenas acessórios,no programa funciona da mesma forma,temos o corpo principal com a função main e o resto são acessórios.




Você não começa dos pés e termina na cabeça,então a função começa e termina com chaves.




Int main()




{




}




Agora vamos declarar para que o usuário digite alguma coisa.




Obs:alguma coisa implica em qualquer coisa,então o valor não poderá ser inteiro ou ponto flutuante,pois se o Mané do usuário resolver digitar que comprou uma blusa nova o programa da pau na hora,é a mesma coisa que tentar colocar um elefante dentro de um fusca,é totalmente imcompativel.




Vou escolher char




Char x [50];




Isso significa que o usuário terá 50 espaços para digitar




Agora vamos pedir para o usuário digitar alguma coisa




Printf(“Digite alguma coisa”);




Scanf(“%c”,&x);




Pronto o usuário digitou alguma coisa e isso foi atribuído a X.




O símbolo & está puxando o valor que está em %c e atribuindo a ele o seu valor.




Printf(“o que voce digitou foi: %s ”,x);




A única coisa que não vai ser considerada como literal quando estiver entre aspas é o que tiver % na frente que vai puxar um valor de variável que estiver depois do fechamento da aspa e virgula em seguida.




O ponto e virgula você já deve ter percebido que ele é um terminador de comandos,se ele não estiver no final da linha o codeblocks irá considerar que o comando não acabou ainda e a conseqüência disso é???ERRO no programa.




%s significa que é uma cadeia de caracteres uma string por isso o %s.




A cadeia de caracteres aceita praticamente qualquer coisa,muito usado para senhas pois pega caracteres literais,numéricos e alphanumericos tipo.




Abcd1234!@#$




Teste você mesmo!




O resultado foi




#include




int main(int argc, char *argv[])




{




char x [50];




printf("Digite alguma coisa\n");




scanf("%s",&x);




printf("o que você digitou foi %s\n",x);




return 0;




}







Como eu disse que a função sempre retorna um valor a função principal main() retorna o valor zero para o int .




Int main()




{




Return 0




}




Quando o int recebe 0 sabe que o programa terminou.




Ahh esqueci




\n serve para quebra de linha.




Exercicios:




Vamos fazer uns programas bem básicos e sugiro que você tente fazer pois a prova é escrita e a IDE codeblocks irá te mostrar onde estão os seus erros de “”,; e etc.. que são muitos comuns.




1-Faça um programa que leia e imprima 3 numeros.




2-Faça um programa que leia seu nome e imprima ele.




3-Faça um programa que leia 2 nomes e junte eles.




Respostas no próximo post




No próximo texto irei abordar operações aritméticas.




Qualquer erro é só me avisar!

Nenhum comentário:

Postar um comentário