Основы C/C++

Типы данных и форматированный вывод

C и C++ имеют общие фундаментальные числовые типы, но разные привычные механизмы форматирования.

Что такое Типы данных и форматированный вывод?

C и C++ имеют общие фундаментальные числовые типы, но разные привычные механизмы форматирования.

Объявляйте числа и безопасно выводите их.

Важные моменты

  • Включайте предупреждения компилятора и исправляйте их.
  • Знайте тип и lifetime каждого значения.
  • Проверяйте ввод и границы массивов.

Примеры кода на C и C++

C
Запустить →
main.c
#include <stdio.h>

int main(void) {
    int items = 7;
    double price = 3.5;
    printf("items=%d total=%.2f\n", items, items * price);
    return 0;
}
Ожидаемый результат
items=7 total=24.50
C++
Запустить →
main.cpp
#include <iomanip>
#include <iostream>

int main() {
    int items = 7;
    double price = 3.5;
    std::cout << "items=" << items << " total="
              << std::fixed << std::setprecision(2) << items * price << '\n';
}
Ожидаемый результат
items=7 total=24.50

Сравнение C и C++

В printf спецификатор должен совпадать с аргументом; stream C++ выбирает overload по типу, а iomanip задаёт точность.

C

C явно показывает небольшие процедурные API и представление данных.

C++

C++ сохраняет низкоуровневую модель и добавляет безопасные типы.

Практические задания

Запустите обе версии и изменяйте их, сравнивая гарантии языков.

  • Добавьте неверные и граничные значения.
  • Компилируйте с -Wall -Wextra -Wpedantic.
  • Разделите объявления и реализацию.