Você está na página 1de 11

Entrada e Saída

de Dados (E/S)
printf() e scanf()
Sumário
• Introdução
• Função printf()
• Função scanf()
• Demonstrações

Aula de Introdução à Programação 2


Introdução
• Os mecanismos que as linguagens oferecem para interação com o utilizador
estão presentes em suas bibliotecas de entrada e saída (E/S);
• Em C, as funções responsáveis pelas operações básicas de entrada e saída se
encontram na biblioteca stdio, que é utilizada por meio da diretiva:
#include <stdio.h>

Aula de Introdução à Programação 3


Função printf()
• A função de saída printf() permite que dados sejam escritos na saída padrão, que
normalmente é o ecrão do computador;
• Uma chamada da função printf() tem o seguinte formato:
int printf(string_de_formato, arg1, arg2, ..., argn);

• A função printf() irá escrever na saída padrão os argumentos arg1, arg2, ...,
argn de acordo com o que está especificado no parâmetro string_de_formato;
• O tipo int indica que a função retorna um número inteiro, que neste caso
corresponde ao número de caracteres impressos;
• Demostração 01.

Aula de Introdução à Programação 4


Função printf() (cont.)
• Os caracteres %d e %.2f são denominados de especificadores de formato;
 Têm o objetivo de definir o formato das variáveis que serão escritas na saída padrão;

• No exemplo acima, no lugar do %d será colocada a primeira variável passada por


parâmetro (idade) e no lugar do %.2f a segunda variável (altura);
 Além disso, elas deverão ser dos tipos int e float, respectivamente;
 O ponto seguido de um número antes do código de formato indica a quantidade de casas
decimais a serem exibidas (quando aplicados a variáveis do tipo ponto-flutuante) e são
denominados de especificadores de precisão;

• Na demonstração 01, eles foram os responsáveis pela exibição da variável altura


com duas casas decimais.

Aula de Introdução à Programação 5


Função printf() (cont.)
• Especificadores de formatos mais utilizados na função printf()

Aula de Introdução à Programação 6


Função scanf()
• A função de entrada scanf() possibilita a leitura de dados da entrada padrão, ou
seja, do teclado;
• O que ela faz é interromper a execução do programa até que o usuário digite
algo e depois pressione a tecla Enter;
• Depois que o programa retoma sua execução, o conteúdo digitado é
armazenado em uma ou mais variáveis;
• Uma chamada da função scanf() tem o seguinte formato:
int scanf(string_de_formato, arg1, arg2, ..., argn);

Aula de Introdução à Programação 7


Função scanf() (cont.)
• O parâmetro string_de_formato especifica os tipos de dados que serão lidos;
• Os parâmetros arg1, arg2, ..., argn correspondem aos endereços das variáveis
nas quais serão armazenados os valores digitados pelo utilizador;
• A função scanf() retorna um valor inteiro que indica o número de variáveis que
tiveram valores atribuídos, sendo utilizado para verificar algum problema na
entrada de dados;
• Demonstração 02.

Aula de Introdução à Programação 8


Função scanf() (cont.)
• Na demonstração 02, depois que a sequência de caracteres "Informe sua idade:
" é exibida, a execução do programa é interrompida até que o utilizador digite
um valor;
• Quando isso ocorre, ele é armazenado no endereço da variável idade, obtido
quando ela é precedida pelo caractere &;
• Por conseguinte, a função printf() ao final do código irá exibir os dados
informados pelo utilizador e não os dados pré-determinados pelo programador.

Importante
A tecla Enter também possui um caractére que a representa, a saber, o caractere especial ‘\n’.
Quando o ’\n’ é escrito na saída padrão, o efeito gerado é o mesmo da digitação da tecla Enter.

Aula de Introdução à Programação 9


Função scanf() (cont.)
• A função scanf() também pode ler numa mesma linha diversos dados,
armazenando-os em diferentes variáveis;
• As leituras do código anterior, por exemplo, podem ser reescritas da seguinte
forma:

• Para que esse código funcione, devemos digitar um número inteiro seguido de
um espaço e depois um número de ponto-flutuante;
• O espaço é requerido porque ele é utilizado na especificação do formato (entre
o %d e o %.2f há um espaço).

Aula de Introdução à Programação 10


Função scanf() (cont.)
• Assim como printf(), a função scanf() também possui uma lista de
especificadores de formato. Os mais utilizados são:

Aula de Introdução à Programação 11

Você também pode gostar