Читайте также:
|
|
Операторы языка описывают алгоритмические действия, которые необходимо выполнить для решения задачи. Тело программы – последовательность операторов, разделенных точкой с запятой. Классификация операторов представлена на рис. 3.10
Рис. 3.10 Операторы управления последовательностью выполнения программы
Таблица 3.30 Структурированные операторы
Оператор | Наимено-вание | Назначение | Синтаксис описания |
Составной | BEGIN-END | Объединяет последовательность операторов в логический блок (логические скобки) | BEGIN <оператор 1>; <оператор 2>; <оператор N> END; |
Условный | IF | Реализует алгоритмическую конструкцию РАЗВИЛКА и изменяет порядок выполнения операторов в зависимости от истинности или ложности некоторого условия | IF s THEN a ELSE b; {полная развилка} IF s THEN a; {укороченная развилка} |
Условный | CASE | Реализует выбор варианта из любого количества вариантов | CASE s OF C1: Instruction 1; C2: Instruction 2; CN: Instruction N; ELSE Instruction END; |
Оператор цикла | REPEAT | Выполнение цикла, состоящего из любого числа операторов, с неизвестным заранее числом повторений. Тело цикла выполняется хотя бы один раз. Выход – при истинности логического выражения | REPEAT Instruction 1; Instruction 2; … Instruction N UNTIL s; |
Оператор цикла | WHILE | Организует выполнение одного оператора неизвестное заранее число раз. Выход – ложность логического выражения, которое проверяется в начале каждой итерации. Тело цикла может не выполняться ни разу. | WHILE s DO Instruction; |
Оператор цикла | FOR | Организует выполнение одного оператора заранее известное число раз. | FOR Param:=Start TO Finish DO Instruction;{если Start<Finish} FOR Param:=Start DOWNTO Finish DO Instruction; {если Start>Finish} |
Таблица 3.31 Операторы ввода-вывода
Оператор | Наимено-вание | Назначение | Синтаксис описания |
Ввод с клавиатуры | READ | Ввод числа с клавиатуры и сохранение его в x | Var x: Integer; Read(x); |
Вывод на экран | WRITE | Вывод содержимого переменной x на экран | Var x: Integer; x:= 25; Write (‘Значение переменной x=’, x) |
Ввод (чтение) данных из файла в память | READ | Из файла “File.txt” вводятся три первые числа и запоминаются в переменных a, b, c | Var f:Text; a, b, c: integer; ASSIGN (f, “file.txt”); RESET(f); READ (f, a, b, c); CLOSE (f); |
Вывод (добавление) данных из памяти в файл | WRITE | В существующий файл “File.txt” добавляется “текст” | Var f:Text; a, b, c: integer; Assign (f, “File.txt”); Append(f); WriteLn (f, “текст”); CLOSE (f); |
Вывод (перезапись) данных из памяти в файл | WRITE | Создается файл “File.txt” и в него записывается “текст”. Если файл существовал, его содержимое заменяется на “текст” | Var f:Text; a, b, c: integer; Assign (f, “File.txt”); Rewrite (f); WriteLn (f, “текст”); CLOSE (f); |
Основы программирования на языке С++
Структура программы на языке С++ представлена на рис. 3.22
Рис. 3.22 Структура программы на языке С++
Классификация данных языка С++
Таблица 3.34 Базовые типы данных
Тип | Диапазон | Формат | Размер в байтах |
Числовые типы данных | |||
void | Пустой | ||
unsigned | 0…65535 | Беззнаковый | |
int | -32768... 32767 | Знаковый | |
long | -2147483648 … 2147483647 | Знаковый длинный | |
float | -3,4E-38…3,4E+38 | Знаковый с плавающей точкой | |
double | -1,7E-308…1,7E+308 | Знаковый с плавающей точкой двойной длины | |
Синтаксис описания числовых переменных | int i; float x,y,z; | ||
Символьный тип данных | |||
char | -128…127 | Коды символов | |
Синтаксис описания символьных переменных | char c; //символ char s[64]; // строка символов |
Классификация данных в языке С++ представлена на рис. 3.23
Рис. 3.23 Классификация типов данных в языке С++
Таблица 3.35 Структурированные типы данных
Тип | Наимено-вание | Назначение | Синтаксис описания |
Массив | Содержит фиксированное количество упорядоченных однотипных элементов, снабженных индексами. Бывает одномерным и многомерным. | int a[100] /*одномерный массив /*целых чисел float d[40][5] /*двумерный массив /*вещественных чисел | |
Структу-ра | struct | Содержит фиксированное число элементов разного типа | struct имя_структуры { тип1 имя_элемента1; ... TипN имя_элементаN; }имя_переменной_типа_структуры; ПРИМЕР struct date { int day; char month[9]; int year; }d; |
Объединение | union | Подобно структуре, но в каждый момент времени хранит значение только одного элемента | union имя_объединения { тип1 имя_элемента1; ... TипN имя_элементаN; }имя_переменной_типа_объединения; ПРИМЕР union time { int hour; long second; }t; |
Файл | out_file in_file | Последовательность элементов одного типа, расположенных на внешнем устройстве. Число элементов в файле не объявляется. | #include<fstream.h> ofstream out_file ("имя_файла.расширение"); //открытие файла в режиме создания и вывода данных в него ifstream in_file ("имя_файла.расширение"); // открытие файла в режиме ввода данных из него |
Класс | class | Структура, содержащая описание данных и функций | class имя_класса { тип1 имя_элемента1; типN имя_элементаN; описание_функции1; описание_функцииN; } ПРИМЕР class date { public: char name[64]; int day; char month[9]; int year; void show_birthday(void); //прототип функции }; |
Таблица 3.36 Процедурные типы данных
Тип | Наимено-вание | Назначение | Синтаксис описания |
Функция | Предназначена для выполнения действий и /или вычисления параметра. | void main(void) /*начало главной /*функции float name (float x, float y) /*описание функции с параметрами |
Операторы языка С++ представлены на рис. 3.24
Рис. 3.24 Операторы управления последовательностью выполнения программы
Таблица 3.37 Арифметические операции
Знак | Операция | Знак | Операция |
+ | Сложение | . | Оператор выбора элемента |
- | Вычитание | :: | Разрешение области видимости |
* | Умножение | ++ | Приращение |
/ | Деление | -- | Уменьшение |
= | Присваивание | * | Указатель на элемент |
Таблица 3.38 Операции отношения
Знак | Операция отношения |
= = | Равно |
!= | Не равно |
>= | Больше или равно |
< | Меньше |
<= | Меньше или равно |
|| | Логическое ИЛИ |
&& | Логическое И |
?: | Условный оператор сравнения. |
Таблица 3.39 Простые операторы
Оператор | Наимено-вание | Назначение | Синтаксис описания |
Присваивания | Записывает значение вычисленного выражения в именованную ячейку памяти | имя_переменной=выражение; ПРИМЕР F=3*c+2*sin(x); | |
Переход | goto | Программа переходит на выполнение операторов, следующих за помеченным меткой | goto метка; ПРИМЕР include <iostream.h> void main(void) { float a,b; b=5; goto ml; ... ml: a=b*3; ... } |
Ввод данных из входного потока в память | сin>> | Операция извлекает данные из входного потока, присваивая значение указанным переменным | #include <iostream.h> cin>>xl>>...>>xN; |
Вывод данных из памяти в выходной поток | cout<< | Операция вставляет данные в выходной поток | #include <iostream.h> cout<<xl<<...<<xN; |
Таблица 3.40 Специальные символы, используемые с оператором cout
Символ | Назначение |
\а | Звуковой сигнал динамика |
\b | Символ возврата |
\f | Символ перевода страницы |
\n | Символ новой строки |
\r | Возврат каретки |
\t | Символ горизонтальной табуляции |
\v | Символ вертикальной табуляции |
\\ | Символ обратный слеш |
\? | Знак вопроса |
\' | Одинарные кавычки |
\" | Двойные кавычки |
\0 | Нулевой символ |
Таблица 3.41 Структурированные операторы
Оператор | Наимено-вание | Назначение | Синтаксис описания |
Условный | if | Реализует алгоритмическую конструкцию РАЗВИЛКА и изменяет порядок выполнения операторов в зависимости от истинности или ложности некоторого условия | if (условие) оператор1; else оператор2; ПРИМЕР #include <iostream.h> void main(void) { float a,b,rl,r2; cin>>a>>b; cout<<"a="<<a<<" b="<<b<<endl; if (a>b) {rl=a;r2=b;} else {rl=b;r2=a} cout<<"большее число="<<r1<<"меньшее число="<<r2; } |
Вариант | switch | Реализует выбор варианта из любого количества вариантов | switch (выражение) { case i:оператор1; break; case j:oпepaтop2; breaks- case k:oпepaтopK; break; default:oпepaтopN; break; } |
Оператор цикл-ПОКА | while | Организует выполнение одного оператора неизвестное заранее число раз. Выход – ложность логического выражения, которое проверяется в начале каждой итерации. Тело цикла может не выполняться ни разу. | while(условие) оператор; |
Оператор цикл-ДО | do while | Выполнение цикла, состоящего из любого числа операторов, с неизвестным заранее числом повторений. Тело цикла выполняется хотя бы один раз. Выход – при истинности логического выражения | do {операторы;} while(условие); |
Оператор цикла c парамет-ром | for | Организует выполнение одного оператора (простого или составного) заранее известное число раз. | for (i=iн;i<=iк; i=i+Δi) оператор; |
Объектно-ориентированная терминология языка С++
Понятие класса
Класс (class) – это структура, содержащая описания данных функций. Функции класса называют методами класса.
class имя_класса
{
тип1 имя_элемента1;
типN имя_элементаN;
описание_функции1;
описание_функцииN;
}
Объект является представителем класса и объявляется после определения класса следующим образом:
имя_класса имя_объекта1,..., имя_объектаN;
Пример:
class date
{
public: char name[64];
int day;
char month[9];
int year;
void show_birthday(void) //прототип функции
};
void main(void)
{
date father, mother, daughter; //объявление объектов класса date
...
}
Понятие инкапсуляции
Инкапсуляция – это сокрытие некоторых данных, входящих в класс, путем объявления их частными (private). В отличие от общих (public) элементов класса, к которым можно обратиться из любого места программы, используя оператор-точку, к частным элементам можно обратиться только через функции (методы) класса.
Пример. Работа с классом
class zp // описание класса
{
private: //объявление частных элементов
char name[64];
float sal;
public: //объявление общих элементов
void in_dat(char *,float); //прототипы функций
void show_sal(void);
float change_sal(float);
}
void zp::in_dat(char *new_name,float old_sal) //описание функций
{
…
}
zp father; //объявление объекта father класса zp
Конструкторы и деструкторы объектов класса
Конструктор предназначен для присваивания исходных данных конкретному объекту данного класса. Конструктор носит имя класса и описывается как обычная функция (метод) класса. После описания конструктора в программе в операторе объявления объекта допускается присваивание начальных значений.
Деструктор – это специальная функция без параметров, обеспечивающая уничтожение объекта в процессе выполнения программы. Деструктор носит имя класса, начинающееся с символа тильда (~), и описывается в программе как обычная функция (метод) класса. Применение деструкторов целесообразно при создании динамических списков, которые увеличиваются или уменьшаются в процессе выполнения программы.
Дата добавления: 2015-09-11; просмотров: 20 | Поможем написать вашу работу | Нарушение авторских прав |