- •Подготовка программы к исполнению
- •Директива препроцессора #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
- •Примеры записи и чтения из файла
Блок-схема оператора разветвления
если x > 0 то y := sin(x) Все |
|
если a > b то a := 2*a; b := 1 иначе b := 2*b Все |
|
Условная операция.
Язык С++ включает операцию, которая может использоваться вместо оператора if else. Она называется условной операцией и записывается как ? :
Формат 1:
Выражение1 ? Выражение2 : Выражение3
Это единственная операция С++, которая требует трех операндов.
Описание алгоритма формата 1:
Если выражение1 истинно, то значением всего условного выражения буде значение выражения2. в противном случае значением всего выражения будет выражение3.
Пример 1:
5 > 3 ? 10 : 12 //т.к. 5 > 3 истинно, поэтому значение всего выражения – 10, а если было бы ложно то результат равен 12;
3 == 9 ? 25 :18 //т.к. 3 == 9 ложно, поэтому значение всего выражения – 18, а если бы было истина то результат равен 25;
Формат 2:
a = (B) ? s1:s2;
Где
a - идентификатор переменной левой части оператора присвоения.
B - условие принятия решения, выражение любого типа (круглые скобки вокруг условия не обязательны ).
s1:s2 - выражения с помощью которых вычисляется значение a.
Описание алгоритма формата 2:
Вычисляем значение В;
Если В! = 0 , т.е. true, то вычисление значения переменной a производится с помощью выражения s1.
Если В = 0 , т.е. false, то с помощью выражения s2.
Если типы, переменной левой части оператора присвоения и результата выражений s1 и s2 разные, то тип результата вычисления выражения преобразуется к типу переменной a в соответствии с правилами преобразования.
Пример 2:
#include <iostream>
Int main ()
{
using namespace std;
int a,b;
cout << “Введите два числа:”;
cin >>a >> b;
cout << “Большее из ” << a << “ и ” << b;
int c = a > b ? a : b; // с = а если а > b, иначе с =b
cout << “ – “ << c << endl;
return 0;
}
Иначе это выглядит с оператором if:
int c;
if ( a > b)
c = a;
else c = b;
Операция «запятая» в операторе if.
Операция «запятая» в операторе if принимается, если надо группу операторов рассматривать как один оператор, как в описании условия, так и в перечислении списка операторов.
I случай
Список операторов и выражений трактуется как единое выражение и вычисляется слева на право:
Условие
if ( с = a + b , c > d ) {список операторов}
Оператор
Вычисляем с = a + b.
Анализ c > d.
Если два условия: с равно сумме а и b - истина, а так же с больше d тоже истина, то выполняется список операторов.
II случай
if (a > b) q = 1, printf (……);
если а > b истина, то выполняются два оператора, разделенные запятой.
Список операторов рассматривается как один составной оператор.
Преобразование и привидение типов.
Автоматически преобразования производятся перед:
Выполнением арифметических операций.
Присвоением значения выражения правой части оператора присвоения, переменной левой части оператора присвоения.
Передачей фактических параметров функции.
Возвратом результата функции.
Система ввода/вывода определяет, соответствует ли код цифре или символу.
Схема иерархии типов.
Стрелки задают порядок автоматического приведения типов.
Преобразование при выполнение арифметических операций производятся в соответствии с иерархией типов. В остальных случаях может быть преобразование одного типа в любой требуемый тип. При этом может быть преобразование, изменяющее машинное преобразование значения и преобразование, которое не изменяет машинного представления.
Можно принудительно преобразовать типы явным образом через механизм приведения типов: имяТипа (значение); происходит преобразование значения в тип имяТипа.
Например:
#include <iostream>
int mane ()
{
using namespace std;
int auks, coots;
auks = 19.99 + 11.99;//результат усекается до целого - 31
//следующий оператор суммирует целочисленные значения
coots = int (19.99) + int (11.99);
cout << “auks = ” <<auks << “ , coots = ” << coots << endl;
char ch = ‘Z’;
cout << “The code for ” << ch << “ is ”; // вывод в формате char
cout << int(ch) << endl; // вывод в формате int
return 0;
}
Результат выполнения программы:
auks = 31, coots = 30
The code for Z is 90