1. Основы синтаксиса, типы данных и управляющие конструкции
Основы синтаксиса, типы данных и управляющие конструкции
Добро пожаловать в первую статью курса «Полный курс программирования на C++». C++ — это язык, на котором построена значительная часть современной цифровой инфраструктуры: от операционных систем и веб-браузеров до игровых движков и финансового софта. Его мощь заключается в сочетании высокой производительности и гибкости.
В этой статье мы разберем фундамент языка: как устроена программа, где хранить данные и как управлять ходом выполнения кода.
Структура минимальной программы
Любое путешествие в программирование начинается с классического примера. Давайте рассмотрим простейшую программу, которая выводит текст на экран, и разберем её построчно.
Разбор кода
#include <iostream>: Это директива препроцессора. Она сообщает компилятору, что нужно подключить библиотеку ввода-вывода (iostream — input/output stream). Без этой строки мы не смогли бы ничего вывести на экран.int main() { ... }: Это главная функция. Выполнение любой программы на C++ всегда начинается с функции main. Фигурные скобки {} обозначают начало и конец тела функции.std::cout << "Hello, World!";: std — это пространство имен (стандартная библиотека).
* cout — объект вывода (character output).
* << — оператор вставки, который направляет строку текста в поток вывода.
* ; — точка с запятой. Важно: каждая инструкция в C++ должна заканчиваться этим символом.
return 0;: Завершает выполнение функции main. Возврат числа 0 традиционно сообщает операционной системе, что программа завершилась успешно, без ошибок.Переменные и типы данных
Программы полезны тем, что они могут обрабатывать данные. Для хранения данных в памяти компьютера используются переменные. Представьте переменную как коробку, на которой написано имя и в которую можно положить определенное содержимое.
В C++ каждая переменная должна иметь строго определенный тип данных. Тип сообщает компилятору, сколько памяти нужно выделить и какие операции можно выполнять с этими данными.
Основные примитивные типы
* int (integer): Целые числа. Например: -5, 0, 42.
* double: Числа с плавающей точкой (дробные). Обеспечивают высокую точность. Например: 3.14, -0.01.
* char (character): Одиночный символ. Всегда заключается в одинарные кавычки. Например: 'A', 'z', '!'.
* bool (boolean): Логический тип. Может принимать только два значения: true (истина) или false (ложь).
Строки
Для работы с текстом используется тип std::string. В отличие от примитивных типов, это класс из стандартной библиотеки, поэтому для работы с ним часто требуется подключить #include <string>.
> Важно: C++ — язык со статической типизацией. Это значит, что вы не можете объявить переменную как int, а потом попытаться записать в неё текст. Компилятор выдаст ошибку еще до запуска программы.
Ввод и вывод данных
Мы уже видели std::cout для вывода. Для ввода данных с клавиатуры используется std::cin (character input) вместе с оператором извлечения >>.
Обратите внимание на направление «стрелочек»:
cout << (данные уходят из программы на* экран).
cin >> (данные приходят с клавиатуры в* переменную).
Операторы
Операторы позволяют нам манипулировать данными.
Арифметические операторы
* + (сложение)
* - (вычитание)
(умножение)
* / (деление)
* % (остаток от деления — работает только с целыми числами)
Пример деления:
Операторы сравнения
Используются для проверки условий. Результатом всегда является true или false.
* == (равно)
* != (не равно)
* > (больше), < (меньше)
* >= (больше или равно), <= (меньше или равно)
> Частая ошибка: Новички часто путают оператор присваивания = (положить значение в переменную) и оператор сравнения == (проверить, равны ли значения).
Управляющие конструкции
Код не всегда должен выполняться линейно сверху вниз. Иногда нам нужно принимать решения или повторять действия.
Условный оператор if-else
Позволяет выполнить блок кода только если условие истинно.
Конструкция switch
Удобна, когда нужно проверить одну переменную на равенство множеству конкретных значений.
Ключевое слово break необходимо, чтобы выйти из switch после выполнения нужного блока. Без него программа продолжит выполнять следующие case по инерции.
Циклы
Циклы позволяют повторять код многократно.
#### Цикл while
Проверяет условие перед каждой итерацией. Если условие ложно изначально, цикл не выполнится ни разу.
#### Цикл do-while
Проверяет условие после итерации. Гарантирует, что тело цикла выполнится хотя бы один раз.
#### Цикл for
Самый популярный цикл, когда известно точное количество повторений. Он собирает инициализацию, условие и обновление счетчика в одной строке.
Синтаксис for состоит из трех частей, разделенных точкой с запятой:
int i = 0): выполняется один раз перед началом.i < 5): проверяется перед каждым шагом.i++): выполняется после каждого шага.Заключение
Сегодня мы заложили фундамент вашего понимания C++. Вы узнали, как создать базовую программу, какие бывают типы данных и как управлять потоком выполнения с помощью условий и циклов. Эти концепции — кирпичики, из которых строятся самые сложные алгоритмы.
В следующей статье мы углубимся в тему функций и узнаем, как разбивать код на логические блоки для повторного использования.