Первый программный пример строка за строкой

Программа Sample.cpp, несмотря на свою краткость, включает несколько ключевых средств, общих для всех С++-программ. Рассмотрим внимательно каждую часть этой программы. Программа начинается со строк

/*

Это простая С++-программа.

Назовите этот файл Sample.cpp.

*/

Эти строки представляют собой комментарий. Как и большинство языков программирования, С++ допускает включать в исходный код программы замечания программиста. Содержимое комментариев игнорируется компилятором. Цель комментариев - описать или объяснить выполняемые программой операции любому, кто будет читать ее текст. В нашем примере комментарий идентифицирует программу. В более сложных программах вы будете использовать комментарии для того, чтобы объяснить, для чего введена в программу каждая ее деталь, и каким образом она выполняет свои функции. Другими словами, с помощью комментариев вы даете описание того, что делает ваша программа, как бы "с места события".

В С++ используются комментарии двух видов. Один, который вы только что видели, называется многострочным комментарием. Этот вид комментария начинается со знаков /* (знак деления, за которым стоит звездочка). Такой комментарий заканчивается только когда в программе встретится комбинация */. Весь текст, располагаемый между этими двумя знаками комментария, полностью игнорируется компилятором. Многострочные комментарии могут содержать одну или несколько строк. Второй вид комментариев (однострочных) также демонстрируется в нашей программе; мы рассмотрим его чуть позже.

Следующая строка кода выглядит таким образом:

 

#include <iostream>

 

Язык С++ определяет несколько заголовков, которые содержат информацию либо необходимую, либо полезную для вашей программы. Рассматриваемая программа требует подключения заголовка <iostream>, который поддерживает систему ввода-вывода С++. Этот заголовок поставляется вместе с компилятором. Заголовки включаются в программу с помощью директивы #include.

Далее в программе стоит такая строка:

 

using namespace std;

 

Эта строка указывает компилятору, что он должен использовать пространство имен std. Пространства имен являются относительно новым добавлением к С++. Пространство имен создает декларативный район, в который помещаются различные элементы программы. Элементы, объявленные в одном пространстве имен, отделены от элементов, объявленных в другом пространстве. Пространства имен оказывают помощь в организации больших программ. Предложение using информирует компилятор о том, что вы хотите использовать пространство имен std. В этом пространстве имен объявлена вся библиотека стандартного С++. Используя пространство имен std, вы упрощаете доступ к стандартной библиотеке.

Следующая строка программы представляет собой комментарий:

 

//C++-программа начинает свое выполнение с функции main().

 

В этой строке демонстрируется второй вид комментариев, допустимых в С++: однострочный комментарий. Этот вид комментария начинается со знаков // и заканчивается в конце строки. Обычно программисты используют многострочные комментарии для включения в программу длинных детальных пояснений, а однострочные - когда требуется лишь краткое замечание. Разумеется, выбор вида комментария и стиля его использования — это вопрос вкуса программиста.

Следующая строка, как это поясняется в предшествующем комментарии, представляет собой начало программы:

 

int main ( )

 

Все С++-программы состоят из одной или нескольких функций. Как уже отмечалось ранее, функция - это подпрограмма. Любая функция С++ должна иметь имя. При этом единственная функция, которая должна включаться в каждую С++-программу, называется main(). Функция main() - это то место в программе, где начинается и где (чаще всего) заканчивается ее выполнение. Открывающая фигурная скобка, которая стоит в следующей строке, отмечает начало кода функции main( ). Слово int, предшествующее main( ), задает тип данного, возвращаемого функцией main(). Как вы узнаете позже, С++ поддерживает несколько встроенных типов данных, и int является одним из них. Это обозначение происходит от слова integer (целое).

Далее в программу включена строка:

 

сout << "С++ является мощным программным средством.";

 

Это предложение консольного вывода. Оно приводит к выводу на экран сообщения С++ является мощным программным средством. Вывод на экран осуществляется с помощью оператора вывода <<. Оператор << действует так, что выражение (каким бы оно ни было), стоящее справа от него, выводится на устройство, указанное слева, cout представляет собой предопределенный идентификатор, обозначающий консольный вывод, который, как правило, закреплен за экраном. Таким образом, рассматриваемое предложение выводит на экран сообщение. Заметьте, что это предложение заканчивается знаком точки с запятой. Так заканчиваются все предложения С ++.

Сообщение "С++ является мощным программным средством." представляет собой строку. В С++ строкой называется последовательность символов, заключенная в двойные кавычки. Строки широко используется в программах на С++.

Следующая строка программы осуществляет выход из main():

 

return 0;

 

Эта строка завершает функцию main() и заставляет ее вернуть значение 0 в вызывающий процесс (которым обычно является операционная система). Для большинства операционных систем возвращаемое значение 0 указывает на то, что программа завершается правильно. Другие значения свидетельствуют о завершении программы в результате возникновения какой-либо ошибки, return является одним из ключевых слов С++ и используется для возврата значения из функции. Все ваши программы должны при нормальном (т. е. без ошибок) завершении возвращать 0.

Завершающая фигурная скобка в конце программы формально заканчивает программу.

 

Цель 1.5. Вторая простая программа

Возможно, в программировании нет более фундаментальной конструкции, чем переменная. Переменная представляет собой именованную ячейку памяти, которой может быть присвоено определенное значение. В дальнейшем, по ходу выполнения программы, значение переменной может быть изменено. Другими словами, содержимое переменной не фиксировано, а поддается изменениям.

Приводимая ниже программа создает переменную с именем length (длина), присваивает ей значение 7 и затем выводит на экран сообщение Длина равна 7.

 

// Использование переменной.

 

#include <iostream>

using namespace std;

 

int main()

{

int length; .// здесь объявляется переменная

length =7; // здесь length присваивается значение 7

cout << " Длина равна " ;

cout << length; // здесь выводится 7

 

return 0;

}

 

Как уже отмечалось ранее, имена в С++ можно выбирать произвольно. Так, вводя текст программы, вы можете присвоить файлу с программой любое удобное для вас имя. Например, файлу с этой программой можно дать имя VarDemo.cpp.

В этой программе вводятся две новых концепции. Во-первых, предложение

 

int length; // здесь объявляется переменная

 

объявляет переменную с именем lengthтипа int (целое число). В С++ все переменные, перед тем, как их использовать, должны быть объявлены, при этом в объявлении переменной должно быть указано, какого рода значения будут содержаться в этой переменной. Эта называется типом переменной. В нашем случае length может содержать только целочисленные значения, т. е. целые числа в диапазоне от -32768 до 32767.

Второе важное средство используется в следующей строке кода:

 

length = 7; // здесь length присваивается значение 7

 

Как следует из комментария, в этом предложении переменной length присваивается значение 7. В С++ в качестве оператора присваивания используется один знак равенства. Этот оператор копирует значение, находящееся справа от него, в переменную, имя которой указано слева от оператора. После выполнения этого предложения переменная length будет содержать число 7.

Следующее предложение выводит на экран значение переменной length:

 

cout << length; // здесь выводится 7

 

Если вы хотите вывести на экран значение переменной, просто укажите имя этой переменной справа от знака << в предложении cout. В нашем конкретном случае, поскольку length содержит число 7, именно это число будет выведено на экран.

 

Цель 1.6. Использование операторов

 

Как и большинство других компьютерных языков, С++ поддерживает весь диапазон арифметических операторов, которые позволяют вам манипулировать числовыми значениями, используемыми в программе. К арифметическим операторам относятся:

+ Сложение

— Вычитание

* Умножение

/ Деление

Эти операторы используются в С++ в точности так же, как и в обычной алгебре.

В приведенной ниже программе оператор * используется для вычисления площади прямоугольника по данным длине и ширине.

// Использование оператора.

 

# inс1udе <iоstrеam >

using namespace std;

 

int main()

{

int length; // объявление переменной

int width; // объявление другой переменной

int area; /7 объявление третьей переменной

 

length = 7; // здесь length присваивается значение 7

width = 5; // здесь width присваивается значение 5

 

area = length * width; // вычисление площади

 

cout << "Площадь равна ";

cout << area; // здесь выводится 35

 

return 0;

}

 

В программе объявляются три переменные: length, width и area Переменной lengthприсваивается значение 7, а переменной width - значение 5. Далее программа вычисляет произведение и присваивает полученное значение переменной area. Вывод программы выглядит следующим образом:

 

Площадь равна 35

 

В нашей программе в действительности не было необходимости вводить переменную area.Программу можно было составить следующим образом:

 

// Упрощенный вариант программы для вычисления площади.

 

#include <iostream>

using namespace std;

 

int main()

{

int length; // объявление переменной

int width; // объявление другой переменной

 

length = 7; // здесь length присваивается значение 7

width = 5; // здесь width присваивается значение 5

 

cout << "Площадь равна ";

cout << lengtn*width; // здесь выводится 35

 

return 0 ;

}

 

В этом варианте программы площадь вычисляется в предложении cout путем умножения length на width. Полученный результат выводится на экран,

Еще одно замечание перед тем, как мы двинемся дальше: в одном предложении объявления можно объявить две или несколько переменных. Просто разделите их имена запятыми. Например, переменные length, width и area можно было объявить таким образом:

 

int length, width, area; // все переменные объявляются в

// одном предложении

 

Объявление нескольких переменных в одном предложении является весьма распространенной практикой в профессионально написанных С++-программах.

Цель 1.7. Ввод с клавиатуры

В предыдущих примерах данные, над которыми выполнялись действия, определялись в программах явным образом. Например, приведенная выше программа определения площади вычисляет площадь прямоугольника размером 7 на 5, причем эти размеры являются частью самой программы. Разумеется, алгоритм вычисления площади прямоугольника не зависит от его размеров, и наша программа была бы значительно полезнее, если бы она запрашивала у пользователя размеры прямоугольника, а пользователь вводил бы их с клавиатуры.

Для того, чтобы дать пользователю возможность ввода данных в программу с клавиатуры, вы будете использовать оператор >>. Это оператор С++ ввода. Чтобы прочитать данное с клавиатуры, используйте предложение такого вида:

 

сin >> переменная;

 

Здесь cin представляет собой еще один предопределенный идентификатор, автоматически предоставляемый С++, cin — это сокращение от console input (консольный ввод); по умолчанию cin связан с клавиатурой, хотя его можно перенаправить и на другие устройства. Вводимое данное поступает в указанную в предложении переменную.

Ниже приводится программа вычисления площади, которая позволяет пользователю вводить размеры прямоугольника:

 

/*

Интерактивная программа, вычисляющая

площадь прямоугольника.

*/

#include <iostream>

using namespace std;

 

int main ( )

{

int length; // объявление переменной

int width; // объявление другой переменной

 

cout << "Введите длину: ";

//Ввод с клавиатуры значения переменной length

cin » length; // ввод длины

 

cout << "Введите ширину: " ;

//Ввод с клавиатуры значения переменной width

cin >> width; / / ввод ширины

 

cout << "Площадь равна ";

cout « length * width; // вывод площади

 

return 0 ;

}

 

Ниже приведен пример работы программы:

 

Введите длину: 8

Введите ширину: 3

Площадь равна 24

 

Обратите особое внимание на эти строки:

 

cout << "Введите длину:

cin >> length; / / ввод длины

 

Предложение cout запрашивает у пользователя ввод данных. Предложение cin считывает ввод пользователя, сохраняя значение в length. Таким образом, значение, введенное пользователем (в данном случае оно должно быть целым числом) помещается в переменную (в данном случае length), указанную справа от оператора >>. В результате после выполнения предложения cin переменная length будет содержать длину прямоугольника. (Если пользователь вводит нечисловое данное, length будет присвоено значение 0.) Предложения, запрашивающие и читающие ширину, действуют в точности так же.