Чтение онлайн

ЖАНРЫ

Освой самостоятельно С++ за 21 день.

Либерти Джесс

Шрифт:

• Из каких частей состоят программы на языке C++

• Как эти части взаимодействуют друг с другом

• Что такое функция и каково ее назначение

Простая программа на языке C++

Даже простенькая программа HELLO.CPP, приведенная на занятии 1, состоит из нескольких элементов, которые представляют для нас интерес. В этом разделе упомянутая программа рассматривается более подробно. В листинге 2.1 ради удобства обсуждения приведена оригинальная версия файла HELLO.CPP.

Листинг 2.1. Демонстрация частей программы C++ на примере программы HELLO. CPP

1: #include <iostream.h>

2:

3: int main

4: {

5: cout << "Hello World!\n";

6: return 0;

7: }

Результат: Hello World!

АНАЛИЗ:

В строке 1 выполняется включение файла iostream.h в текущий файл. Первым в программе стоит символ #, который служит сигналом для препроцессора. При каждом запуске компилятора запускается и препроцессор. Он читает исходный текст программы, находит строки, которые начинаются с символа фунта (#), и работает с этими строками до того, как начнется компиляция программы. Подробнее работа препроцессора рассматривается на занятии 21.

Include — это команда препроцессору, которую можно расшифровать следующим образом: "За именем команды следует имя файла. Нужно найти этот файл и вставить его содержимое прямо в это место программы". Угловые скобки, в которые заключено имя файла, означают, что этот файл нужно искать во всех папках, отведенных для хранения подобных файлов. Если ваш компилятор настроен корректно, то угловые скобки укажут препроцессору на то, что файл iostream.h следует искать в папке, содержащей все файлы с расширением .h, предназначенные для вашего компилятора. Файл iostream.h (input-output-stream — поток ввода-вывода) используется объектом cout, который обслуживает процесс вывода данных на экран. После выполнения строки 1 файл iostream.h будет включен в эту программу, таким образом, как если бы вы собственноручно ввели сюда его содержимое, Препроцессор запускается перед компилятором и выполняет все строки, начинающиеся с символа (#), подготавливая код программы к компиляции.

Основной код программы начинается в строке 3 с вызова функции main. Каждая программа на языке C++ содержит функцию main. Функция — это блок программы, который выполняет одно или несколько действий. Обычно функции вызываются другими функциями, но main — особая функция: она вызывается автоматически при запуске программы.

Функция main, подобно всем другим функциям, должна объявить тип возвращаемого значения. В программе HELLO.CPP функция main возвращает значение типа int (от слова integer — целый), а это значит, что по окончании работы эта функция возвратит операционной системе целочисленное значение. В данном случае будет возвращено целое значение 0, как показано в строке 6. Возвращение значения в операционную систему не столь важно, и в общем-то это значение самой системой никак не используется, но стандарт языка C++ требует, чтобы функция main была объявлена по всем правилам (как показано в этом листинге).

Примечание: Некоторые компиляторы позволяют объявить функцию main таким образом, чтобы она возвращала значение типа void. Этого больше нельзя делать в C++, поэтому вам следует избавляться от старых привычек. Позвольте функции main возвращать значения типа int и ради этого поместите в последней строке этой функции выражение return 0;.

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

Все функции начинаются открывающей фигурной скобкой ({) и оканчиваются закрывающей

фигурной скобкой (}). Фигурные скобки функции main помешены в строках 4 и 7. Все, что находится между открывающей и закрывающей фигурными скобками, считается телом функции.

Вся функциональность нашей простейшей программы заключена в строке 5. Объект cout используется для вывода сообщений на экран. Об объектах пойдет речь на занятии 6, а объект cout и близкий ему объект cin будут подробно рассмотрены на занятии 16. Эти два объекта, cin и cout, используются в языке C++ для организации соответственно ввода данных (например, с клавиатуры) и их вывода (например, на экран).

Вот как используется объект cout: вводим слово cout, за которым ставим оператор перенаправления выходного потока << (далее будем называть его оператором вывода). Все, что следует за этим оператором, будет выводиться на экран. Если вы хотите вывести на экран строку текста, не забудьте заключить ее в двойные кавычки ("), как показано в строке 5.

Строка текста — это набор печатаемых символов.

Два заключительных символа текстовой строки (\n) означают, что после слов Hello world! нужно выполнить переход на новую строку. Этот специальный код подробно объясняется при рассмотрении объекта cout на занятии 17. Функция main оканчивается в строке 7.

Кратко об объекте cout

На занятии 16 вы узнаете, как использовать объект cout для вывода данных на экран. А пока, не вдаваясь в детали использования объекта cout, скажем, что для вывода значения на экран нужно ввести слово cout, а за ним оператор вывода (<<), который состоит из двух символов "меньше" (<). Несмотря на то что вы вводите два символа, компилятор C++ воспринимает их как один оператор.

Листинг 2.2. Использование обьекта cout

1: // Листинг 2.2. Использование объекта cout

2: #include <iostream.h>

3: int main

4: {

5: cout << "Hello there.\n";

6: cout << "Here is 5: " << 5 << "\n";

7: cout << "The manipulator endl writes а new line to the screen.";

8: cout <<

9: endl;

10: cout << "Here is a very big number:\t" << 70000 << endl;

11: cout << "Here is the sum of 8 and 5:\t" << 8+5 << endl;

12: cout <<'"Here's a fraction:\t\t" << (float) 5/8 << endl;

13: cout << "And a very very big number:\t";

14: cout << (double) 7000 * 7000 <<

15: endl;

16: cout << "Don't forget to replace Jesse Liberty with your name...\n";

17: cout << "Jesse Liberty is a C++ programmer!\n";

18: return 0;

19: }

За символом вывода укажите выводимые данные. Использование объекта cout показано в листинге 2.2. Введите текст этой программы в точности так, как написано, за исключением одного: вместо имени Jesse Liberty подставьте свои имя и фамилию, лучше латинскими буквами.

Результат:

Hello there.

Here is 5: 5

The manipulator endl writes а new line to the screen.

Here is a very big number: 70000

Here is the sum of 8 and 5: 13

Here's a fraction: 0.625

And a very very big number: 4.9e+07

Don't forget to replace Jesse Liberty with your name...

Jesse Liberty is a C++ programmer!

Примечание:Некоторые компиляторы требуют, чтобы математические операции в случае использования после объекта cout заключались в круглые скобки. В этом случае строку 11 пришлось бы изменить следующим образом:

Поделиться с друзьями: