Exercícios de C/C++ para iniciantes

Converter temperatura de Celsius para Fahrenheit em C e C++

Nesta lição, você vai converter uma temperatura de Celsius para Fahrenheit e imprimir o resultado com uma casa decimal.

Introdução

Converter unidades é um bom exercício para praticar contas com números decimais e formatação de resultados. A fórmula de Celsius para Fahrenheit é F = C × 9 / 5 + 32, então 25 graus Celsius equivalem a 77 graus Fahrenheit.

Pontos importantes

  • Ative os avisos do compilador (compiler warnings) e corrija todos eles.
  • Entenda o tipo de dado e o tempo de vida (lifetime) de cada valor.
  • Sempre valide os dados de entrada e os limites dos índices de arrays.

Exemplos de código C e C++

C
Executar →
main.c
#include <stdio.h>
int main(void) {
    double celsius = 25.0;
    // Floating-point constants preserve fractional values.
    double fahrenheit = celsius * 9.0 / 5.0 + 32.0;
    printf("%.1f C = %.1f F\n", celsius, fahrenheit);
}
Resultado da execução
25.0 C = 77.0 F
C++
Executar →
main.cpp
#include <iomanip>
#include <iostream>
int main() {
    double celsius = 25.0;
    // Floating-point constants preserve fractional values.
    double fahrenheit = celsius * 9.0 / 5.0 + 32.0;
    std::cout << std::fixed << std::setprecision(1) << celsius << " C = " << fahrenheit << " F\n";
}
Resultado da execução
25.0 C = 77.0 F

Comparação entre C e C++

As constantes são escritas como 9.0, 5.0 e 32.0 para que a conta seja feita com números de ponto flutuante. Se você escrever 9 / 5 com dois inteiros, o resultado é arredondado para baixo, vira 1, e a resposta fica errada. O especificador %.1f imprime o resultado com uma casa decimal: 25.0 C = 77.0 F.

C

C usa funções procedurais pequenas e deixa à vista como os dados ficam na memória.

C++

C++ continua permitindo trabalhar em baixo nível, mas acrescenta tipos da biblioteca e abstrações mais seguras.

Exercícios práticos

Execute as duas versões e depois mude o código para observar a diferença de segurança que cada linguagem oferece.

  • Teste entradas inválidas e valores nos limites.
  • Compile com as flags -Wall -Wextra -Wpedantic para ativar mais avisos.
  • Separe as declarações compartilhadas em um arquivo de cabeçalho e a implementação em outro arquivo.

Pratique com um desafio

Use o conteúdo desta lição para resolver um problema real. Cada desafio roda no navegador, com testes instantâneos e uma revisão por IA.

Todos os desafios