Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior | |||
c:entrada_e_saida_padrao [2023/08/03 16:46] – [A função printf] maziero | c:entrada_e_saida_padrao [2023/08/03 16:46] (atual) – [A função printf] maziero | ||
---|---|---|---|
Linha 1: | Linha 1: | ||
+ | ====== Entrada/ | ||
+ | |||
+ | Este módulo apresenta as funções básicas para entrada e saída de dados em programas C usando os arquivos de [[unix: | ||
+ | |||
+ | ===== A função printf ===== | ||
+ | |||
+ | A função '' | ||
+ | |||
+ | Sua sintaxe básica é: | ||
+ | |||
+ | int printf (formato, argumento, argumento, ...) ; | ||
+ | |||
+ | O valor de retorno (que pode ser ignorado) indica o número de bytes que foram escritos na chamada. | ||
+ | |||
+ | O parâmetro '' | ||
+ | |||
+ | printf ("i vale %d e j vale %d\n", i, j) ; | ||
+ | | ||
+ | A saída será: | ||
+ | |||
+ | i vale 10 e j vale -37 | ||
+ | |||
+ | O formato '' | ||
+ | |||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | |||
+ | Uma descrição detalhada do formato usado no comando '' | ||
+ | |||
+ | ===== A função scanf ===== | ||
+ | |||
+ | A função '' | ||
+ | |||
+ | Por exemplo, a operação abaixo permite ler um valor inteiro e depositá-lo na variável '' | ||
+ | |||
+ | scanf (" | ||
+ | |||
+ | <note important> | ||
+ | O segundo argumento da função não é a variável '' | ||
+ | </ | ||
+ | |||
+ | Eis um exemplo de uso: | ||
+ | |||
+ | <code c media.c> | ||
+ | // Cálculo da média simples de dois valores | ||
+ | #include < | ||
+ | |||
+ | int main () | ||
+ | { | ||
+ | int a, b; | ||
+ | float c; | ||
+ | |||
+ | printf(" | ||
+ | scanf(" | ||
+ | |||
+ | printf(" | ||
+ | scanf(" | ||
+ | |||
+ | // cálculo da média simples | ||
+ | c = (a + b) / 2.0 ; | ||
+ | |||
+ | printf(" | ||
+ | printf(" | ||
+ | |||
+ | return (0) ; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== Entrada/ | ||
+ | |||
+ | Algumas funções estão disponíveis para a leitura e escrita de caracteres isolados. A função '' | ||
+ | |||
+ | c = getchar () ; | ||
+ | |||
+ | Caso a entrada não tenha mais dados a serem lidos, essa função devolve um valor específico '' | ||
+ | |||
+ | A função '' | ||
+ | |||
+ | putchar (' | ||
+ | |||
+ | Exemplo de uso: | ||
+ | |||
+ | <code c chars.c> | ||
+ | #include < | ||
+ | |||
+ | int main () | ||
+ | { | ||
+ | char c ; | ||
+ | | ||
+ | c = getchar() ; // lê um caractere de STDIN | ||
+ | while (c != EOF) // enquanto a entrada não terminar | ||
+ | { | ||
+ | if (c == ' ' | ||
+ | c = ' | ||
+ | |||
+ | putchar (c) ; // escreve o caractere em STDOUT | ||
+ | |||
+ | c = getchar () ; // lê o próximo caractere | ||
+ | } | ||
+ | return (0) ; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== Entrada/ | ||
+ | |||
+ | Algumas funções estão disponíveis para a leitura e escrita de strings: | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | <note warning> | ||
+ | A função '' | ||
+ | </ | ||
+ | |||
+ | ===== Exercícios ===== | ||
+ | |||
+ | Escrever programas em C para: | ||
+ | |||
+ | - Ler um inteiro N e uma sequência de N inteiros, gerando na saída o valor de N, os valores máximo e mínimo observados (inteiros), a média (real) e o desvio padrão (real) dos N valores lidos. | ||
+ | - Imprimir a seguinte sequência de números, até N=10000:< | ||
+ | 1 | ||
+ | 00001 00002 00003 00004 00005 00006 00007 00008 | ||
+ | 9 10 11 12 13 14 15 16 | ||
+ | 00009 00010 00011 00012 00013 00014 00015 00016 | ||
+ | ... | ||
+ | </ | ||
+ | - Ler um texto da entrada padrão e produzir o mesmo texto na saída padrão, mas com as letras convertidas em maiúsculas. Sugestão: usar a função '' | ||
+ | - Escreva um programa que imprima as raízes quadradas e os logaritmos (base 10) de todos os números inteiros entre 1 e 1000. Os valores devem ser impressos com 4 casas decimais, da seguinte forma:< | ||
+ | | ||
+ | ... | ||
+ | | ||
+ | ... | ||
+ | | ||
+ | 1000 31.6227 | ||
+ | </ | ||