- •Подготовка программы к исполнению
- •Директива препроцессора #include
- •Математические функции из библиотеки cmath
- •Заголовок функции main
- •Объявление переменных.
- •Объявление переменных простого типа
- •Объявление констант простого типа
- •Перечисляемые переменные.
- •Логические операции
- •Операторы
- •Операторы сложные
- •Составной оператор
- •Структурированные операторы
- •Условный оператор.
- •Блок-схема оператора разветвления
- •Условная операция.
- •Операция «запятая» в операторе if.
- •Преобразование и привидение типов.
- •Оператор выбора варианта.
- •Блок-схема оператора варианта
- •Цикл по счётчику
- •Цикл c предусловием.
- •Цикл c постусловием.
- •Операторы передачи управления
- •1) Спецификации формата, которые определяются символом % - для выделения, контроля и преобразования соответствующих им введенных значений;
- •2) Любые символы, которые могут быть во входном потоке и которые надо игнорировать:
- •2) Первого символа, который не соответствует формату (например, буква или пробел после выделения числа); .
- •3) Заданной длины поля вводимого значения, если она определена в формате.
- •4.2.2. Форматы вывода данных
- •1) Спецификации формата, которые определяются символом % - для вывода .Значений, определенных списком аргументов, если они есть;
- •2) Любые символы, которые должны быть выведены в выходной поток;
- •2 Позиции отводятся для знака числа и точки.
- •Составные типы данных
- •Обработка двумерного массива
- •Указатели
- •Порядок выполнения операций над указателями
- •Арифметические операции над адресами
- •Операторы распределения памяти new и delete
- •Указатели и динамические массивы
- •Указатели и спецификатор const
- •Массивы указателей
- •Организация динамического двумерного массива
- •Функции работы со строками
- •Действия, производимые над строками и их правила Присвоение
- •Конкатенация строк
- •Копирование строк
- •Определяет длину строки
- •Указатели и строки
- •Введение в класс string
- •Структуры
- •Ссылочные переменные
- •Функции
- •Функции, имеющие возвращаемый параметр с помощью оператора return.
- •Объявление формальных параметров
- •Ввод - вывод записей
- •Дополнительные возможности работы с файлами
- •Работы с файлами и стандартный класс mfc cFileDialog.
- •Работа с файлами с помощью mfc( классы cFile, cStdioFile, ... ) и стандартный класс mfc cFileDialog.
- •Класс cFile
- •Класс cMemFile
- •Класс cStdioFile
- •Примеры записи и чтения из файла
Операторы
Оператор это действия связанные с действием алгоритма программы. Операторы бывают: - простые;
- сложные.
Простой оператор - Оператор присваивания.
Формат: <переменная> = <значение>;
Пример: А=В;
А- имя переменной;
В- выражение, переменная, вызов функции, константа.
Тип результата выражения в правой части может отличаться от типа переменной левой части оператора присвоения. Перед выполнением операции присвоения тип результата выражения автоматически приводится к типу переменной левой части оператора присвоения.
Пример:
1)а=в=с=е=0;
операция выполняется справа налево, т.е. 0 присваивается а,в,с,е.
2) а=(в=с)*d
В примере сначала переименованной в присваивается значение переменной с, а затем вычисляется выражение в*d и результат присваивается переменной а.
Сокращенные формы оператора присвоения.
а=а+а; → а+=а;
+= прибавляет величину правой части оператора к переменной левой части и запоминает результат в переменной левой части оператора.
Формат:
а on =b; или а=а on (в);
где on – одна из операций: +, -, *, /, %-остаток от деления,
<<, >>-сдвиг,
& -и,
^-сложение по модулю 2,
|-или.
Пример:
а*=в+1; → а=а*(в+1);
а /=в; → а=а/в;
*=, /=, +=, -=.
Префиксные операции: ++а, --а - вначале выполнятся операция, затем применяется переменная.
Постфиксные операции: а++, а-- - вначале применяется переменная, затем выполняется операция.
Пример:
а=в*++n; → n=n+1; а=в*n;
а=в*n++; → а=в*n; n=n+1;
Операторы сложные
Операторы сложные бывают составными и структурированными.
Составной оператор
Составной оператор используется там, где синтаксис языка требует использования 1-го оператора, а необходимо выполнить несколько операторов. Выполнение составного оператора приводит к выполнению заключенной в нем последовательности.
Формат составного оператора:
{ блок }
Составной оператор (блок) состоит из нескольких операторов любого типа, заключенные в фигурные скобки. После закрывающейся фигурной скобки не должно быть точки с запятой.
Структурированные операторы
К структурированным операторам относятся операторы условия, цикла, варианта.
Условный оператор.
Одним из ключей к проектированию интеллектуальных программ является предоставление им возможности от результата поставленного условия (истина или лож),выполнить одну группу операторов или другую.
Такой выбор реализуется оператором if.
Формат:
“ if ” (B) s1;
[“else” s2;] // конструкция необязательная
Где
В – условие принятия решения, выражения любого типа (круглые скобки вокруг В обязательны). Тип проверочного условия if приводится к bool, поэтому ноль трактуется как false, а все, что отличается от нуля – как true
s1,s2 – простой, составной, структурированный оператор.
Алгоритм выполнения:
1 вариант, когда отсутствует конструкция [“else” s2;]
Вычисляется выражение (В):
если результат - истина (true), то выполняется оператор s1 и действия переходят на оператор стоящий за оператором if;
если результат – лож (false), то оператор s1 пропускается и действия переходят на оператор стоящий за оператором if.
2 вариант, когда присутствует конструкция [“else” s2;]
Вычисляется выражение (В):
если результат - истина (true), то выполняется оператор s1 и действия переходят на оператор стоящий за оператором if;
если результат – лож (false), то оператор s1 пропускается, выполняется оператор s2 и действия переходят на оператор стоящий за оператором if.
Обязательные условия для выполнения:
при входе в оператор, переменные участвующие в проверочном условии, должны иметь конкретные значения:
оператор if в оператор if может быть вложен 9 раз.
Пример:
Из трёх переменных а, b, c найти наибольшее.
Вариант №1:
# include < iostream >
using namespace std;
void main()
{
int a,b,c, max;
cin>> a>> b>> c;
cout<<”Наибольшее значение = _”;
if (a>b) { if (a>c) cout<<a;
else cout <<c; }
else if (b>c) cout<<b;
else cout<<c;
}
//Вариант №2:
if ( (a>b) && (a>c) ) cout<<a;
else if (b>c) cout<<b;
else cout<<c;
//Вариант №3:
if ( (a>b) && (a>c) ) max = a;
else if (b>c) max = b;
else max = c;
cout<<max