Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Аленский. лекции по проге.doc
Скачиваний:
18
Добавлен:
11.11.2018
Размер:
1.35 Mб
Скачать

АКАДЕМИЯ ПОСЛЕДИПЛОМНОГО ОБРАЗОВАНИЯ

Кафедра информатики

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

МЕХАНИКО-МАТЕМАТИЧЕСКИЙ ФАКУЛЬТЕТ

Кафедра численных методов и программирования

Н. А. Аленский основы программирования

НА ЯЗЫКЕ С++

Учебное пособие

Минск 2005

Р е ц е н з е н т ы:

зав. кафедрой прикладной математики и информатики БГПУ им. М. Танка канд. физ.мат. наук, проф. А. И. Павловский;

зав. каф. технологии инженерного образования Респ­­. Института инновационных технологий БНТУ канд. техн. наук доцент В. И. Клевзович.

АННОТАЦИЯ

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

Адресуется прежде всего тем, кто начинает программировать. Стиль и методика изложения материала таковы, что для его успешного изучения не требуется предварительной подготовки по программированию. Преподава­тели найдут в пособии много интересных и полезных задач, которые можно использовать также при изучении других систем. Пособие будет полезным также и опытным программистам, желающим освоить с самого начала язык С++ и ознакомиться с основами современного объектноориентированного метода программирования.

Г л а в а 1 БЫСТРОЕ ВВЕДЕНИЕ В ЯЗЫК С++

В этой главе будут рассмотрены ввод с экрана и вывод на экран, операторы, некоторые операции и работа с одномерными массивами без использования указателей.

§ 1. Структура простой программы. Ввод, вывод

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

Рассмотрим следующую простую программу, не содержащую циклов и функций пользователя:

#include <iostream.h>

#include <conio.h>

int main()

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

// Вводим два числа

cout<<"The first number "; cin>>a;

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

cout<<" Result of ";

/* В любом случае после ввода выводим “Result of ”.

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

if (a>0 && b>0)

{ r=a*b;

cout<<" multiplication: ";

}

else { r=a+b;

cout<<" sum: ";

}

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

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).