1. Введение в C++ и Python: установка среды, переменные и типы данных
Введение в C++ и Python: установка среды, переменные и типы данных
Добро пожаловать в мир разработки программного обеспечения. Вы выбрали уникальный путь: изучение двух языков одновременно. Почему именно C++ и Python? Это два полюса программирования. C++ дает вам полный контроль над «железом», высокую производительность и понимание того, как компьютер работает на низком уровне. Python предлагает скорость разработки, лаконичность и огромную экосистему библиотек для анализа данных и искусственного интеллекта.
Владение обоими инструментами делает вас универсальным инженером, способным решать задачи любой сложности: от написания драйверов до создания нейронных сетей.
Подготовка рабочего места
Прежде чем писать код, нам нужно подготовить инструменты. Программисту требуются две вещи: редактор кода (где мы пишем текст) и транслятор (который переводит этот текст в понятные компьютеру команды).
Установка Python
Python — это интерпретируемый язык. Это значит, что для его работы нужна программа-интерпретатор, которая читает ваш код строка за строкой и выполняет его.
Установка C++
C++ — это компилируемый язык. Ваш код сначала полностью переводится (компилируется) в машинный код — отдельный файл (например, .exe на Windows), который затем запускается.
* Windows: Самый простой способ — установить Visual Studio Community (выбрав компонент «Разработка классических приложений на C++») или установить компилятор MinGW.
* macOS: Установите Xcode Command Line Tools с помощью команды xcode-select --install в терминале.
* Linux: Обычно компилятор GCC уже установлен. Если нет, используйте sudo apt install g++.
Среда разработки (IDE)
Чтобы не переключаться между разными программами, мы будем использовать Visual Studio Code (VS Code). Это легкий и мощный редактор, поддерживающий оба языка.
Первая программа: Hello, World!
Традиционно изучение любого языка начинается с вывода приветствия на экран. Давайте посмотрим на разницу в подходах.
Python
Создайте файл hello.py и напишите:
Всё просто. Одна строка. Python берет на себя всю сложную работу по инициализации ввода-вывода.
C++
Создайте файл hello.cpp и напишите:
Здесь кода значительно больше. Разберем его построчно:
#include <iostream>: Мы подключаем библиотеку ввода-вывода (Input/Output Stream). Без неё C++ не знает, как работать с консолью.int main() { ... }: Это главная функция. Любая программа на C++ начинает выполнение именно отсюда.std::cout: Это поток вывода (console out). Мы «направляем» в него текст с помощью оператора <<.return 0;: Сообщаем операционной системе, что программа завершилась успешно (код 0).!Различие между компиляцией в C++ и интерпретацией в Python
Переменные и хранение данных
Программа полезна тогда, когда она может запоминать и обрабатывать данные. Для этого используются переменные. Представьте переменную как коробку, на которой написано имя, и в которую можно положить какое-то значение.
Статическая и динамическая типизация
Это одно из фундаментальных различий между нашими языками.
C++ (Статическая типизация): Вы обязаны заранее сказать, какого типа данные будут лежать в коробке. Если коробка предназначена для целых чисел, вы не сможете положить туда текст.
Python (Динамическая типизация): Вы просто создаете метку. Сегодня она может указывать на число, а завтра — на строку. Тип определяется автоматически в момент присваивания.
Основные типы данных
Рассмотрим базовые типы, которые есть в обоих языках.
| Тип данных | Описание | C++ | Python |
| :--- | :--- | :--- | :--- |
| Целые числа | Числа без дробной части (1, -5, 42) | int | int |
| Вещественные числа | Числа с плавающей точкой (3.14, -0.01) | float, double | float |
| Логический тип | Истина или Ложь | bool (true/false) | bool (True/False) |
| Строки | Текст | std::string | str |
Целые числа (Integers)
В Python целые числа имеют неограниченную длину (ограничены только памятью компьютера). В C++ размер int обычно фиксирован (чаще всего 4 байта), что позволяет хранить числа от -2,147,483,648 до 2,147,483,647.
Если в C++ вам нужно хранить число больше, чем вмещает int, происходит переполнение — число «обнуляется» или становится отрицательным, что приводит к критическим ошибкам. В Python это обрабатывается автоматически.
Вещественные числа (Floating Point)
Здесь важно понимать, как компьютер хранит дроби. Он использует научную нотацию. Например, число может быть представлено как .
В общем виде формула представления числа с плавающей точкой выглядит так:
где — итоговое значение числа, — знак (0 для положительного, 1 для отрицательного), — мантисса (значащие цифры числа), а — экспонента (степень двойки, определяющая порядок числа).
В C++ для высокой точности используют тип double (двойная точность), а для экономии памяти — float. В Python тип float соответствует double из C++.
Строки (Strings)
В C++ строки требуют подключения библиотеки <string>.
C++:
Python:
Обратите внимание: в C++ одинарные кавычки 'A' используются для одного символа (тип char), а двойные "Alice" — для строк. В Python одинарные и двойные кавычки равнозначны.
Ввод и вывод данных
Чтобы программа была интерактивной, она должна уметь общаться с пользователем.
Ввод данных
Python: Функция input() всегда возвращает строку. Если нужно число, мы должны явно его преобразовать.
C++: Мы используем поток std::cin (console in). C++ умный: он смотрит на тип переменной и пытается считать именно его.
Обратите внимание на направление «стрелочек». В cout << мы отправляем данные из программы в консоль. В cin >> мы направляем данные из консоли в переменную.
Арифметические операции
Большинство операций идентичны: + (сложение), - (вычитание), * (умножение).
Однако есть критически важное различие в делении.
Деление
В Python оператор / всегда выполняет обычное деление, возвращая дробное число, даже если делятся целые числа.
В C++ результат деления зависит от типа операндов. Если вы делите целое на целое, дробная часть просто отбрасывается.
Чтобы получить дробный результат в C++, хотя бы одно из чисел должно быть вещественным:
!Разница в операциях деления между языками
Итоги
Мы сделали первый шаг в освоении двух мощнейших языков программирования. Вот ключевые моменты, которые нужно запомнить:
{} и точек с запятой ; в конце команд.