Литмир - Электронная Библиотека
A
A

• Тип возвращаемого значения, в этой функции — тип

int
(т.е. целое число), определяет, какой результат возвращает функция в точку вызова (если она возвращает какое-нибудь значение). Слово
int
является зарезервированным в языке С++ (ключевым словом), поэтому его нельзя использовать как имя чего-нибудь еще (см. раздел А.3.1).

• Имя, в данном случае

main
.

• Список параметров, заключенный в круглые скобки (см. разделы 8.2 и 8.6); в данном случае список параметров пуст.

• Тело функции, заключенное в фигурные скобки и перечисляющее действия (называемые инструкциями), которые функция должна выполнить.

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

int main() { }

Пользы от этой программы мало, так как она ничего не делает. Тело функции 

main
программы “Hello, World!” содержит две инструкции:

cout << "Hello, World!\n"; // вывод "Hello, World!"

return 0;

Во-первых, она выводит на экран строку

Hello, World!
, а затем возвращает значение
0
(нуль) в точку вызова. Поскольку функция
main()
вызывается системой, мы не будем использовать возвращаемое значение. Однако в некоторых системах (в частности, Unix/Linux) это значение можно использовать для проверки успешности выполнения программы. Нуль (
0
), возвращаемый функцией
main()
, означает, что программа выполнена успешно.

Часть программы на языке С++, определяющая действие и не являющаяся директивой 

#include
(или другой директивой препроцессора; см. разделы 4.4 и А.17), называется инструкцией.

2.3. Компиляция

С++ — компилируемый язык. Это значит, что для запуска программы сначала необходимо транслировать ее из текстовой формы, понятной для человека, в форму, понятную для машины. Эту задачу выполняет особая программа, которая называется компилятором. То, что вы пишете и читаете, называется исходным кодом, или текстом программы, а то, что выполняет компьютер, называется выполняемым, объектным, или машинным кодом. Обычно файлы с исходным кодом программы на языке С++ имеют расширение

.cpp
(например, 
hello_world.cpp
) или 
.h
(например,
std_lib_facilities.h
), а файлы с объектным кодом имеют расширение
.obj
(в системе Windows) или
.o
(в системе Unix). Следовательно, простое слово код является двусмысленным и может ввести в заблуждение; его следует употреблять с осторожностью и только в ситуациях, когда недоразумение возникнуть не может. Если не указано иное, под словом код подразумевается исходный код или даже исходный код, за исключением комментариев, поскольку комментарии предназначены для людей и компилятор не переводит их в объектный код.

Компилятор читает исходный код и пытается понять, что вы написали. Он проверяет, является ли программа грамматически корректной, определен ли смысл каждого слова. Обнаружив ошибку, компилятор сообщает о ней, не пытаясь выполнить программу. Компиляторы довольно придирчивы к синтаксису. Пропуск какой-нибудь детали, например директивы

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

// пропущен заголовочный файл

int main()

{

 cout << "Hello, World!\n";

 return 0;

}

Мы не сообщили компилятору о том, что представляет собой объект, поэтому он сообщает об ошибке. Для того чтобы исправить программу, следует добавить директиву 

#include
.

#include "std_facilities.h"

int main()

{

  cout << "Hello, World!\n";

  return 0;

}

Программирование. Принципы и практика использования C++ Исправленное издание - _014.png

К сожалению, компилятор снова сообщает об ошибке, так как мы сделали опечатку в строке 

std_lib_facilities.h
. Компилятор заметил это.

#include "std_lib_facilities.h

int main()

{

  cout << "Hello, World!\n;

  return 0;

}

В этом примере мы пропустили закрывающую двойную кавычку (

"
). Компилятор указывает нам на это.

#include "std_lib_facilities.h"

integer main()

{

  cout << "Hello, World!\n";

  return 0;

}

Теперь мы вместо ключевого слова 

<b>int</b>
использовали слово
<b>integer</b>
, которого в языке С++ нет. Компилятор таких ошибок не прощает.

#include &quot;std_lib_facilities.h&quot;

int main()

{

  cout &lt; &quot;Hello, World!\n&quot;;

  return 0;

}

Здесь вместо символов 

&lt;&lt;
 (оператор вывода) использован символ 
&lt;
(оператор “меньше”). Компилятор это заметил.

#include &quot;std_lib_facilities.h&quot;

28
{"b":"847443","o":1}