Entrada e Saída de Dados

A capacidade de interagir com o usuário, recebendo dados (entrada) e mostrando resultados (saída), é fundamental em programação.
Em C, isso é comumente feito usando funções da biblioteca padrão <stdio.h>.

Uso da Função printf para Saída de Dados

A função printf (print formatted) é usada para enviar dados formatados para a saída padrão, que geralmente é a tela do console.

Sintaxe Básica:

printf("texto simples");
printf("texto com valor: %especificador", variavel);

Uso da Função scanf para Entrada de Dados

A função scanf (scan formatted) é usada para ler dados formatados da entrada padrão, geralmente o teclado, e armazená-los em variáveis.

Sintaxe Básica:

scanf("%especificador", &variavel);

Formatação de Saída com Especificadores

Especificadores de formato em printf e scanf controlam como os dados são interpretados e exibidos.

Principais Especificadores:

  • %d ou %i : Inteiro decimal com sinal (int)
  • %u : Inteiro decimal sem sinal (unsigned int)
  • %f : Ponto flutuante decimal (float, double). Para scanf, use %f para float e %lf (L minúsculo) para double
  • %e ou %E : Notação científica (ex: 1.23e+02)
  • %c : Caractere único (char)
  • %s : String (sequência de caracteres, terminada por \\0)
  • %p : Ponteiro (endereço de memória, exibido em hexadecimal)
  • %x ou %X : Inteiro hexadecimal sem sinal (letras minúsculas ou maiúsculas)
  • %o : Inteiro octal sem sinal
  • %% : Para imprimir o próprio caractere %

Exemplos

Exemplo 01: Usando printf para mostrar mensagens

#include <stdio.h>

int main() {
    printf("Olá, mundo!\\n");
    printf("Bem-vindo ao curso de C.\\n");
    return 0;
}
            


Exemplo 02: Usando scanf para ler um número inteiro do usuário

#include <stdio.h>

int main() {
    int idade;
    printf("Digite sua idade: ");
    scanf("%d", &idade);
    printf("Você tem %d anos.\\n", idade);
    return 0;
}
            

Exercícios

Exercício 1: Peça nome, idade e cidade. Exiba uma mensagem com esses dados.


#include 

int main() {
    char nome[30];
    int idade;
    char cidade[50];

    printf("Nome: ");
    scanf("%s", nome);
    printf("Idade: ");
    scanf("%d", &idade);
    getchar();
    printf("Cidade: ");
    fgets(cidade, sizeof(cidade), stdin);

    int i = 0;
    while (cidade[i] != '\0') {
        if (cidade[i] == '\n') cidade[i] = '\0';
        i++;
    }

    printf("\n%s, %d anos, mora em %s.\n", nome, idade, cidade);
    return 0;
}
                                    

Exercício 2: Peça 3 notas e calcule a média.


#include 

int main() {
    float n1, n2, n3;
    printf("Digite as 3 notas: ");
    scanf("%f %f %f", &n1, &n2, &n3);
    printf("Media: %.2f\n", (n1+n2+n3)/3);
    return 0;
}
                                    
Próximo