- •3.8. Упражнения 49
- •Введение
- •1. Базовые элементы
- •1.1. Комментарии
- •1.2. Функция «main»
- •1.3. Идентификаторы и пространства имен
- •1.4. Типы
- •1.5. Переменные
- •1.7. Константы
- •1.6. Преобразование типов
- •1.8. Потоковый ввод – вывод
- •1.9. Операции
- •1.9.1. Арифметические операции
- •1.9.2. Поразрядные операции
- •1.9.3. Условный оператор
- •1.9.4. Операции отношения
- •1.9.5. Логические операции
- •1.10. Стандартные математические функции
- •1.11. Упражнения
- •2. Базовые конструкции
- •2.1 Ветвление
- •2.1.1. Конструкция «if – else»
- •2.1.2. Конструкция «switch»
- •2.2. Циклы
- •2.2.1. Цикл «for»
- •2.2.2. Цикл «while»
- •2.2.3. Цикл «do – while»
- •2.2.4. Операторы циклов
- •2.2.5. Вложенность
- •2.3. Упражнения
- •2.3.1. Ветвления
- •2.3.2. Циклы
- •2.3.3. Вложенность
- •3. Указатели. Массивы. Структуры
- •3.1. Указатели
- •3.2. Массивы
- •3.2.1. Статические массивы
- •3.2.2. Динамические массивы
- •3.4. Ссылки
- •3.5. Структуры
- •3.6. Объединение
- •3.7. Переопределение типов
- •3.8. Упражнения
- •3.8.1. Статические и динамические массивы
- •3.8.2. Многомерные массивы
- •3.8.3. Строки
- •4. Функции
- •4.1. Простые функции
- •4.2. Рекурсия
- •4.3. Указатели и ссылки
- •4.3.1. Передаваемые параметры
- •4.3.2. Возвращаемые значения
- •4.3.3. Ссылки и структуры в функциях
- •4.3.4. Указатели и массивы в функциях
- •4.3.5. Указатели и ссылки на функцию
- •4.4. Шаблоны функций
- •4.5. Упражнения
- •4.5.1. Простые функции
- •4.5.2. Параметры – ссылки и параметры — указатели
- •5. Стандартные классы
- •5.1. Класс «pair»
- •5.2. Класс «complex»
- •5.3. Класс «string»
- •5.4. Контейнеры. Алгоритмы. Итераторы
- •5.5. Класс «vector»
- •5.6. Упражнения
- •5.6.1. Класс «string»
- •5.6.2. Класс «vector»
- •6. Файловый ввод – вывод
- •6.1. Операции
- •6.2. Методы
- •6.3. Флаги
- •6.4. Двоичный режим
- •6.5. Упражнения
- •Ллитература
1. Базовые элементы
1.1. Комментарии
В качестве первого примера приведена простейшая программа. Ее код не демонстрирует особенных возможностей языка, однако является важным в плане понимания структуры кода программы на языке С++.
Листинг 1.1. Helloword.
/* Данная программа выводит на экран строку «Hello, World!» ,
* после чего ожидает нажатия любого символа на клавиатуре
* для своего завершения.
*/
#include <iostream>
using std::cout;
int main (void)
{
cout << "Hello, World!";
system("pause");
return 0;
}
Первая строка кода программы является комментарием – тем текстом, который предназначен только для программиста, и который не будет рассматриваться компилятором как исполняемый код. Комментарий может оформляться двумя способами. В первом случае комментарием считается любой текст, следующий после пары символов «//» и до символа конца строки. Во втором случае, унаследованном от языка С, комментарий представляет собой текст, расположенный между символами «/*» и «*/». Он может быть много строчным.
Использование комментариев является более чем просто полезным, так как на них возлагают функции описания тех или иных частей программы. Это важно потому, что со временем функциональность отдельных участков кода забывается, а если код был написан кем-то еще, то его разбор может оказаться весьма трудоемким процессом. Также, комментарии могут передавать некоторую мета информацию, как например имя автора, версию или дату создания. Таким образом, сопровождение кода, содержащего комментарии, осуществляется гораздо легче, а его читабельность заметно повышается. Однако, пространные комментарии малоприятны и утомительны. Если есть ощущение того, что необходимо закомментировать каждую строчку кода, возможно стоить переписать сам код более удобочитаемым образом, ведь не стоит забывать, что компилятору безразлична семантика, которая может быть направлена на повышение читабельности кода.
1.2. Функция «main»
Обязательным для каждой программы является наличие функции «main», потому что именно с ее вызова начинается выполнение программы. Функция с именем «main» должна быть в точности одна, иначе неизвестно с какой именно функции должно начаться исполнение, что вызовет ошибку при компиляции.
Имя любой функции стоит перед скобками «()», в которых могут определяться параметры функции, а слово перед именем функции, в примере это «int», определяет тип возвращаемого значения. Следом за круглыми скобками должны находиться фигурные «{}», они определяют те границы, в пределах которых расположены выполняемые функцией действия. Этот блок операций называется телом функции. Так выглядят объявления функций. Для выполнения производимых функцией действий необходимо вызвать эту функцию, где ей должны в к круглых скобках передаться значения параметров, если таковые есть. Так в примере вызывается функция «system()» с параметром «"pause"». Данная функция выполняет указанную в качестве параметра команду оболочки, после чего выполнение кода программы продолжится. Подробно функции и их параметры будут рассмотрены позже.
