- •Подготовка программы к исполнению
- •Директива препроцессора #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, … ,идентификаторN;
Тип идентификатор = значение;
Тип идентификатор1 = значение1, … ,идентификаторN = значениеN;
Согласно указанным форматам можно объявить одну переменную в строке программы или несколько однотипных переменны.
Пример объявления переменных разного типа
float sum = 0.0 ;
double average ;
unsigned char a ;
bool flag ;
short birthYear = 1703, calendarYear = 2006 ;
int m_capacity, j = 0 ;
long x, y, z ;
Int а1, а2 = 123, а3;
float в, с = а2 + sin(3);
Объявление констант простого типа
Формат объявления констант:
const тип идентификатор = значение;
(объявление одной константы)
const тип идентификатор1 = значение1, … , идентификаторN = значениеN ;
(объявление нескольких констант одного типа)
Пример объявления констант разного типа
const float F = 1.25 ;
const double D = 9.42478 ;
const long double LD = 1.7E+300 ;
const unsigned short X = 123 ;
const char A = 'a' ;
const char COPYA = A ;
const bool T = true ;
const char TRUE [ ] = "true" ;
const char* SAYING = "Slow and steady wins the race." ;
const float A = 1,2345;
D= А/3,14;
char S1= | S |;
Перечисляемые переменные.
Средство С++ enum представляет собой альтернативный const способ создания символьных констант, также позволяет определять новые типы.
Формат:
Enum {список_значений};
Или
enum имя_перечислимого типа{список_значений_типа};
или
Enum имя_перечислимого_типа имя_переменной;
enum spectrum{red, orange, yellow, green, blue }; // объявляет имя нового типа
Этот оператор делает две вещи:
объявляет имя нового типа – spectrum;
устанавливает red, orange, yellow, green, blue как символические константы для целочисленных значений 0 – 4. это константы называются перечислителями. По умолчанию перечилителям присваиваются целые значения от 0 до 4 соответственно
можно использовать имя перечисления для объявления переменной типа этого перечисления: spectrum band;
Единственные допустимые значения, которые можно присваивать переменной типа перечисления без необходимости приведения типа – это те значения, которые использованы в определении этого перечисления.
band=blue; переменная ограничена только пятью допустимыми значениями.
enum {red, orange, yellow, green, blue }; // объявляет только константы
enum typsvet{ kr,gel,zal }; //объявление типа
enum typsvet svetofor; //объявление переменной
enum typsvet { kr=5,gel=2,zal=7 };объявление константы перечисл.
Логические операции
Над данными любого типа могут выполняться логические операции в порядке убывания приоритета от высшего к низшему.
! (не), &&(и), //(или),
<, <=, >, >=, = =, !=
операндами этих логических операций могут быть результаты выражений любого типа. Перед выполнением логических операций значение результатов выражений – операндов преобразуются в логические значения – истина 1 или ложь Ø. Все значения отличные от Ø, интерпретируются как истинные, а если равно Ø, то ложно.
Первичные операции
() – Выражение в скобках (Слева направо)
[] – Ограничитель индексов массивов (Слева направо)
-> – Указатель поля структуры (Слева направо)
. – Ограничитель имени поля структуры (Слева направо)
2.- Унарные операции – это операции, которые выполняются с одним операндом.
! – Логическое НЕ (Слева направо)
~ – Побитовое отрицание (Слева направо)
+,- – Унарный плюс, унарный минус (Слева направо)
++ – Инкремент (увеличение на единицу) (Слева направо)
-- – Декремент (уменьшение на единицу) (Слева направо)
& – Определение адреса (Слева направо)
* – Обращение по адресу (Слева направо)
3 - Бинарные операции (мультипликативные)
*, /,% – Умножение, деление, остаток от деления (Слева направо)
+, - – Сложение, вычитание (Слева направо)
<<, >> – Сдвиги (Слева направо)
<, <=, >, >= – Отношения (Слева направо)
==, != – Равенство, неравенство (Слева направо)
4 – Бинарные логические операции
& – Побитовая операция И (Слева направо)
^ – Побитовая операция исключающая ИЛИ (Слева направо)
| – Побитовая операция ИЛИ (Слева направо)
&& – Логическое И (умножение) (Слева направо)
|| – Логическое ИЛИ (сложение) (Слева направо)
?: – Условие в условных выражениях (Справа налево)
5.- Арифметические операции
= – Присваивания (Справа налево)
on= – Изменить и заменить«on» (Справа налево)
Результат логических операций.
Опер.1 опер.2 ! && //
Ø Ø 1 Ø Ø
Ø 1 1 Ø 1
1 Ø Ø Ø 1
1 1 Ø 1 1
Пример:
Целые числа: ί = 12 ĵ = 34 ĸ = 0
Вещественные числа: а=12,34 в = 0,0 с = 1,0
Логические операции
!а=0 !в=0 !с=0 логическое отрицание
ί&& ĵ=1 ί&& ĸ = Ø логическое
а&&в=0 в&&c=1 умножение
ί //ĵ=1 ί// ĸ =1 логическое
а//в=1 а//с=1 сложение
Объявление нового типа.
В С++ можно создавать новые имена типов данных. Для этого можно использовать директиву define или спецификатор typedef.
Typedef не создает нового типа данных, а заменяет имя определенного типа
данных (стандартного или пользовательского) на новое имя. Это
удобно для переноса программ из одной системы в другую.
Формат
typedef <старое_имя_типа_> <новое_имя_типа>;
Пример:
typedef float real;
(теперь будем использовать real вместо float )
typedef struct stud. STUD;
(определение имени типа стрктуры)
STUD {….}
(используем STUD вместо struct stud)
Формат директивы определения макроса.
#define имя_макро (список параметров) тело_макро
Имя макро задает имя макро определения, вместо которого в ходе препроцессорной обработки программы подставляется макро расширение. В простейшем варианте (при отсутствии необязательных параметров) вместо имени подставляется тело_ макро. Если в элементе имя_макро параметр присутствует (в обязательно круглых скобках), то вместо имени макроопределения подставляется тело_макро, в котором вместо параметра всюду подставляется аргумент обращения к макросу с указанным именем.
Пример: #define GM “good morning”
#define M 100
#define power 2 (a) a*a
char S[M]; // char s [100];
puts (GM); // puts (“good morning”);
y= power 2 (x); // y= (x)*(x);
Директива отмены отрицания макроса.
Формат: #undef имя_макро
Пример:
#undef GM