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!