1. Введение в C++: структура программы, типы данных и операции ввода-вывода
Введение в C++: структура программы, типы данных и операции ввода-вывода
Добро пожаловать в курс «Основы программирования на языке C++». Если вы читаете эту статью, значит, вы решили освоить один из самых мощных, быстрых и востребованных языков программирования в мире. C++ используется везде: от создания операционных систем и драйверов до разработки высокобюджетных игр, банковских систем и искусственного интеллекта.
В этой первой статье мы разберем фундамент: как выглядит минимальная программа, как компьютер хранит данные и как научить программу общаться с пользователем.
Структура программы на C++
Любое путешествие начинается с первого шага, а в программировании — с программы «Hello, World!». Давайте посмотрим на классический пример кода, который просто выводит текст на экран, и разберем его по косточкам.
На первый взгляд это может показаться набором заклинаний. Давайте расшифруем каждую строку.
1. Директивы препроцессора
Строка#include <iostream> — это инструкция для препроцессора. Она говорит компилятору: «Прежде чем собирать программу, подключи сюда содержимое файла iostream». * i (input) — ввод * o (output) — вывод * stream — поток
Без этой строки мы не смогли бы ничего вывести на экран или считать с клавиатуры.
2. Функция main
Строкаint main() { ... } — это сердце вашей программы. Любая программа на C++ начинает свое выполнение именно с функции main. * int означает, что функция должна вернуть целое число (integer) по завершении работы.
* Фигурные скобки { и } обозначают начало и конец тела функции — блока, где находятся инструкции.
!Анатомия базовой программы на C++
3. Вывод текста
Инструкцияstd::cout << "Hello, World!" << std::endl; делает всю видимую работу.* std — это пространство имен (стандартная библиотека). Это как фамилия для функций, чтобы не путать их с чужими.
* cout (character output) — объект, отвечающий за вывод на экран.
* << — оператор вставки. Представьте, что это стрелочки, которые направляют строку "Hello, World!" прямо в поток вывода cout.
* endl (end line) — переносит курсор на новую строку.
* Точка с запятой (;) — это, пожалуй, самый важный знак препинания. В C++ каждая команда должна заканчиваться точкой с запятой. Забытая ; — самая частая ошибка новичков.
4. Завершение программы
Строкаreturn 0; сообщает операционной системе, что программа завершилась успешно. Если бы мы вернули другое число (например, -1), это сигнализировало бы об ошибке.Переменные и типы данных
Программы редко просто выводят текст. Обычно они обрабатывают данные. Для хранения данных в памяти компьютера используются переменные.
Представьте, что переменная — это коробка. Чтобы пользоваться коробкой, вы должны:
В C++ строгая типизация. Это значит, что если вы создали коробку для обуви (целых чисел), вы не можете положить туда суп (дробное число или текст) без специальных преобразований.
Основные типы данных
Вот список самых часто используемых типов, которые вам понадобятся прямо сейчас:
| Тип данных | Описание | Пример значения | Размер в памяти (обычно) |
| :--- | :--- | :--- | :--- |
| int | Целые числа (Integer) | 42, -10, 0 | 4 байта |
| double | Дробные числа двойной точности | 3.14, -0.001 | 8 байт |
| char | Одиночный символ (Character) | 'A', 'z', '!' | 1 байт |
| bool | Логический тип (Boolean) | true, false | 1 байт |
| std::string | Строка текста (требует #include <string>) | "Привет" | Зависит от длины |
Объявление и инициализация
Создать переменную можно так:
> Важно: Имена переменных должны быть понятными. Лучше написать appleCount, чем просто a. Имя не может начинаться с цифры и не должно содержать пробелов.
Операции ввода и вывода
Мы уже знакомы с std::cout для вывода. Теперь научимся получать данные от пользователя с помощью std::cin.
Ввод данных (cin)
cin (character input) работает в паре с оператором извлечения >>. Обратите внимание: стрелочки направлены в другую сторону, показывая, что данные идут из клавиатуры в переменную.Пример программы, которая знакомится с пользователем:
!Потоки ввода и вывода данных в C++
Особенности ввода
Командаstd::cin считывает данные до первого пробела. Если вы введете имя «Иван Иванович», в переменную name попадет только «Иван». Для чтения целой строки с пробелами используется функция std::getline(std::cin, name), но об этом мы поговорим в следующих статьях.Арифметические операции
C++ отлично справляется с математикой. Основные операторы интуитивно понятны:
* + (сложение)
* - (вычитание)
(умножение)
* / (деление)
* % (остаток от деления — только для целых чисел)
Нюанс с делением
Будьте внимательны при делении целых чисел. В C++ деление целого на целое дает целое число (дробная часть отбрасывается).Чтобы получить дробный результат, хотя бы одно из чисел должно быть вещественным (double):
Математическая формула в программировании
Предположим, нам нужно вычислить площадь круга. В математике формула выглядит так:
где — площадь круга, — математическая константа (примерно 3.14159), а — радиус круга.
В коде C++ мы не можем писать верхние индексы, поэтому формула будет записана следующим образом:
Или, если мы хотим вычислить что-то более сложное, например, дискриминант квадратного уравнения:
где — дискриминант, — коэффициент при , — коэффициент при , — свободный член.
В C++ это будет выглядеть так:
Комментарии
Хороший код должен быть понятен не только компьютеру, но и человеку. Для этого используются комментарии — текст, который компилятор игнорирует.
// и действует до конца строки./ и заканчивается /.Заключение
Поздравляю! Вы сделали первый шаг в изучении C++. Сегодня мы узнали:
* Из чего состоит минимальная программа.
* Как создавать переменные (int, double, string).
* Как выводить данные (cout) и считывать их (cin).
* Как выполнять базовые математические операции.
В следующей статье мы разберем условные операторы if и else, чтобы наши программы могли принимать решения и вести себя по-разному в зависимости от ситуации.