Fácil C

Declarando e imprimindo tipos básicos

Enunciado

Escreva um programa que declare uma variável int chamada ano com valor 2025, um char chamado letra com 'A', um float chamado preco com 19.99 e um double chamado taxa com 0.075. Imprima cada valor usando o formato correto.

Requisitos

  • Declarar as quatro variáveis com os tipos pedidos.
  • Usar printf com os especificadores %d, %c, %f e %lf.
  • A saída deve mostrar os valores exatos.

Código inicial

#include <stdio.h>

int main(void) {
    // Declare as variáveis aqui

    // Imprima os valores

    return 0;
}

Saída esperada

Ano: 2025
Letra: A
Preço: 19.990000
Taxa: 0.075000
Ver dica

Use %d para int, %c para char, %f para float e %lf para double.

Mostrar solução
#include <stdio.h>

int main(void) {
    int ano = 2025;          // inteiro
    char letra = 'A';        // caractere
    float preco = 19.99f;    // float (f no final)
    double taxa = 0.075;     // double (precisão dupla)

    printf("Ano: %d\n", ano);
    printf("Letra: %c\n", letra);
    printf("Preço: %f\n", preco);
    printf("Taxa: %lf\n", taxa);

    return 0;
}

Passo a passo

  1. Incluímos stdio.h para usar printf.
  2. Declaramos int ano = 2025; — tipo inteiro, armazena números sem parte decimal.
  3. Declaramos char letra = 'A'; — armazena um único caractere entre aspas simples.
  4. Declaramos float preco = 19.99f; — o sufixo f indica que o literal é float (evita conversão de double).
  5. Declaramos double taxa = 0.075; — double tem maior precisão que float.
  6. Usamos printf com os especificadores corretos: %d para inteiro, %c para caractere, %f para float e %lf para double.
  7. Cada printf termina com \n para pular linha.

Por que funciona

Cada tipo tem um formato de impressão específico. Usar o especificador errado causa comportamento indefinido (lixo na saída). O float precisa do sufixo f no literal para não ser promovido a double na atribuição. O double usa %lf no printf, embora em scanf a diferença seja crucial.

Erros comuns

  • Esquecer o f no literal float: float preco = 19.99; — o compilador pode avisar sobre conversão de double para float com perda de precisão.
  • Usar %d para float: printf("%d", preco); — imprime um valor inteiro incorreto.
  • Usar %f para double no scanf: scanf("%f", &taxa); — deve ser %lf.

Outra forma de resolver

Poderia usar double para todos os reais, evitando o sufixo f. Mas o enunciado pede float e double.

Saída esperada

Ano: 2025
Letra: A
Preço: 19.990000
Taxa: 0.075000