Программа на языке C++ состоит из функций, описаний и директив препроцессора (с. 16 МОЖНО НАРИСОВАТЬ РИСУНОК). Одна из функций должна иметь имя main. Выполнение программы начинается с первого оператора этой функции. Простейшее определение функции имеет следующий формат:
тип_возвращаемого_значения имя ([ параметры ]){
операторы, составляющие тело функции
}
Как правило, функция используется для вычисления какого-либо значения, поэтому перед именем функции указывается его тип. Более подробно остановимся на функциях ниже, сейчас лишь приведем самые необходимые сведения:
· если функция не должна возвращать значение, указывается тип void:
· тело функции является блоком и, следовательно, заключается в фигурные скобки («{ }»);
· каждый оператор заканчивается точкой с запятой (кроме составного оператора).
Пример структуры программы, содержащей функции main, fl и f2:
директивы препроцессора
описания
int main()
{
операторы главной функции
}
int fl()
{
операторы функции fl
}
int f2()
{
операторы функции f2
}
Программа может состоять из нескольких модулей (исходных файлов).
Несколько предварительных замечаний о вводе/выводе. В языке C++ нет встроенных средств ввода/вывода - он осуществляется с помощью функций, типов и объектов, содержащихся в стандартных библиотеках. Используется два способа: функции, унаследованные из языка С, и объекты C++.
Основные функции ввода/вывода в стиле С:
int scanf (const char* format. ... ) // ввод
int printf (const char* format. ... ) // вывод
Они выполняют форматированный ввод и вывод произвольного количества величин в соответствии со строкой формата format. Строка формата содержит символы, которые при выводе копируются в поток (на экран) или запрашиваются из потока (с клавиатуры) при вводе, и спецификации преобразования, начинающиеся со знака %, которые при вводе и выводе заменяются конкретными величинами.
Пример программы, использующей функции ввода/вывода в стиле С:
#include <stdio.h> // Подключение библиотеки стандартных функций
int main() // Начало фукции main ()
{
int i; // Объявление переменной i целого типа
printf ("Введите целое число\n"); // Вывод на экран
scanf ("%d", &i); // считывание с клавиатуры символа для переменной i
printf(“Bы ввели число %d, спасибо!", i); // Вывод на экран
return 0; // Возврат в ОС
} // Конец функции main ()
Первая строка этой программы — директива препроцессора, по которой в текст программы вставляется заголовочный файл <stdio.h>, содержащий описание использованных в программе функций ввода/вывода (в данном случае угловые скобки являются элементом языка). Все директивы препроцессора начинаются со знака #.
Третья строка - описание переменной целого типа с именем i. Переменные рассматриваются ниже.
Функция printf в четвертой строке выводит приглашение «Введите целое число» и переходит на новую строку в соответствии с управляющей последовательностью \n, которая переводит курсор на новую строку. Функция scanf заносит введенное с клавиатуры целое число в переменную i (знак & означает операцию получения адреса), а следующий оператор выводит на экран указанную в нем строку, заменив спецификацию преобразования на значение этого числа.
А вот как выглядит та же программа с использованием библиотеки классов C++:
#include <iostream.h> // Подключение библиотеки стандартных функций
int main() // Начало фукции main ()
{
int i; // Объявление переменной i целого типа
cout<<"Введите целое число\n"); // Вывод на экран
cin>>i; // считывание с клавиатуры символа для переменной i
cout<<“Bы ввели число “<<i<<”,спасибо!”; // Вывод на экран
return 0; // Возврат в ОС
} // Конец фукции main ()
Заголовочный файл <iostream.h> содержит описание набора классов для управления вводом/выводом. В нем определены стандартные объекты-потоки cin для ввода с клавиатуры и cout для вывода на экран, а также операции помещения в поток « и чтения из потока ».
В дальнейшем изложении будут использоваться оба способа, но в одной программе смешивать их не рекомендуется.