Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга_2013_1_часть+.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
813.57 Кб
Скачать

§ 1. Основные понятия программы

    1. Пример первой программы

      Ввести два числа. Если оба положительны, то вычислить их произведение и вывести слово “multiplication:”. Если только одно из них (любое) положительное, а второе неположительное или если оба неположительные, вычислить сумму и вывести слово “sum:”.

В текстовом редакторе набираем

#include <iostream.h>

#include <conio.h>

int main()

{ int a, b, r ; /* Объявление трёх переменных */

/* Вводим два числа с подсказкой. Выводим текст … */

cout<<"The first number ";

cin>>a; /* … и вводим значение переменной а */

cout<<"The second number "; cin>>b;

/* После ввода выводим текст “Result of ”. */

cout<<" Result of ";

if (a>0 && b>0) { r=a*b; cout<<" multiplication: "; }

else { r=a+b; cout<<" sum: "; }

/*После текста “Result of multiplication:” или “Result of sum:” выводим произведение или сумму.*/

cout<<r ; getch(); return 0;

}

1.2. Директива препроцессора #include

В первых двух строках программы записана одна из директив препроцессора (команд препроцессора, директив компиляции или инструкций компилятору). Директива #include предлагает компилятору включить другой исходный файл с указанным именем. В нашем примере подключаются заголовочные файлы стандартной библиотеки ввода, вывода. Другими словами, если мы используем стандартную функцию (или объект стандартного класса), то необходимо узнать (например, из Help или другого источника), в каком файле находится так называемый прототип (заголовок) функции и записать соответствующую директиву. Например, если бы в программе использовали стандартную математическую функцию (например, cos, abs и т. п.), то необходимо было бы записать #include <math.h>.

Некоторые правила использования директивы include:

  • имя файла заключается в угловые скобки (символы ‘<’ и ‘>’);

  • в одной директиве можно указать только один файл. Если подключаем несколько файлов, то записываем соответствующее количество директив;

  • в одной строке можно записать только одну директиву;

  • каждая из них должна начинаться с символа #;

  • в конце директивы в отличие от операторов символ “точка с запятой” не пишется;

  • расширение файла .h можно не указывать. Но для совместимости с системой C++Builder желательно имя файла записывать с расширением.

Другие возможности include и директивы компиляции будут рассмотрены во второй части книги.

Директива include частично похожа на ключевое слово uses языка Turbo Pascal, с помощью которого определяются используемые в программе модули (например, uses crt).

    1. Структура программы

Любая программа на языке C++ состоит из функций, одна из которых — основная (главная) с именем main — является обязательной. С неё всегда начинается выполнение программы. В простейшем случае, как показано в нашем примере, в программе может быть только одна эта функция. На начальном этапе будем всегда использовать приведенный в третьей строке примера вид заголовка основной функции. Текст любой функции, в том числе и main, заключается в фигурные скобки.

Для обеспечения наглядности программы в строке, в которой записана одна из фигурных скобок, не рекомендуется чтолибо писать. Нежелательно размещать операторы так, как это сделано в первой программе, то есть по несколько операторов в одной строке. Для сокращения объёма текста лекций эти рекомендации в данном пособии будут нарушаться.

Прямое назначение функции getch() — ввод символа. В конце программы с её помощью можно выполнить задержку экрана, чтобы можно было проанализировать выведенный на экран результат, пока не нажмём любую клавишу. Эта функция использует заголовочный файл conio.h, указанный в директиве #include.

Если, как в нашем примере, в заголовке основной функции записано ключевое слово int, то программа должна заканчиваться обязательным оператором return 0, который сообщает системе об успешном выполнении программы. Подробно об этом операторе смотри в главе, посвящённой функциям.