- •Т.Э. Шульга программирование.
- •Глава 1. Основы программирования на языке высокого уровня 6
- •Глава 2. Динамические структуры данных 40
- •Глава 3. Основы объектно-ориентированного программирования 53
- •Введение
- •Глава 1. Основы программирования на языке высокого уровня
- •Void main()
- •Задания
- •1.2. Переменные. Основные типы данных
- •Ввод – вывод значений переменных
- •Форматирование данных при обменах с потоками ввода-вывода
- •Void main()
- •Void main()
- •Преобразование типов
- •Задание 1. Описание переменных и преобразование типов
- •Задание 2. Форматирование вывода
- •1.3. Основные операции
- •Void main ()
- •Задания
- •1.4. Конструкции выбора
- •Void main()
- •Void main()
- •Void main()
- •Задание 1. Обработка введенного символа
- •Задание 2. Вычисление значения функции
- •Задание 3. Применение разветвляющихся алгоритмов при решении простейших задач
- •Задание 4. Mультиветвление
- •1.5. Конструкции цикла и передачи управления
- •Void main()
- •Задание 1. Детерминированные циклы. Простейшие задачи
- •Void main()
- •Задание 2. Итерационные циклы. Простейшие задачи
- •Void main()
- •Int last;
- •Задание 3. Одномерные массивы
- •Void main ()
- •Int a[100],n,max,imax;
- •Задание 4. Вложенные циклы
- •Void main ()
- •Задание 5. Двумерные массивы
- •Void main ()
- •Задание 6. Посимвольная обработка строк
- •Void main()
- •Задание 7. Сортировка массива
- •Void main ()
- •1.6.Функции
- •Int oct (int a)// определение функции
- •Void main()
- •Void main()
- •Int strcmp(const char *str1, const char* str2);
- •Int fclose (file * stream);
- •Int feof(file *stream);
- •Int fseek ( file* stream, long offset, int origin);
- •Задание 1. Определение и вызов функций
- •Задание 2. Рекурсивные функции
- •Задание 3. Использование библиотечных функций string.H
- •Void main()
- •Задание 4. Использование библиотечных функций stdio.H
- •Void main ()
- •Глава 2. Динамические структуры данных
- •Int year;
- •Int children;
- •Задание 1. Структуры
- •Int year;
- •Int month;
- •Int visokos(int year)
- •Vivod (date d)
- •Int day_number(date d)
- •Vivod(mas[I]);
- •Vivod (min(mas,n));
- •Задание 2. Динамический список
- •Int mark;
- •Void vvod ()
- •Void vivod()
- •If (begin)
- •Void vivod_f()
- •If (begin)
- •Void add()
- •Void udol () //
- •If (begin)
- •Void del()
- •Void main ()
- •Задание 3. Использование стеков и очередей
- •Глава 3. Основы объектно-ориентированного программирования
- •Void empty();
- •If (len) delete []s;
- •Void cStr::empty()
- •Задание 1 . Описание простейшего класса
- •Задание 2 . Класс string
- •Void main()
- •Void main ()
- •Задание 3. Класс fstream
- •Задание 4. Наследование
- •Список литературы
1.3. Основные операции
Знаки операций в языках программирования обеспечивают формирование и последующие вычисление выражений. Все операции делят на унарные и бинарные. Следует учитывать, что один и тот же символ может обозначать как унарную, так и бинарную операцию в зависимости от контекста. Например, символ “-” может быть унарным или бинарным минусом. Кратко опишем основные операции:
+ |
плюс, унарный и бинарный (+x; x+y); |
|
|
- |
минус, унарный и бинарный (-x; x-y); |
|
|
++ |
увеличение на единицу (инкремент): (x++ - увеличение значения переменной x после ее использования, ++x – увеличение значения переменной x до ее использования); |
|
|
-- |
уменьшение на единицу (декремент): (x-- - уменьшение значения переменной x после ее использования, --x – уменьшение значения переменной x до ее использования); |
|
|
& |
унарная операция получения адреса операнда (&x) ,бинарная поразрядная конъюнкция (И) битовых представлений значений целочисленных операндов, например, 6&5 равно 4, действительно 1102&1012 равно 1002; |
|
|
~ |
унарная операция поразрядного инвертирования внутреннего двоичного кода целочисленного аргумента (~x);
|
|
|
| |
бинарная поразрядная дизъюнкция (ИЛИ) битовых представлений значений целочисленных операндов, например, 6|5 равно 7, действительно, 1102|1012 равно 1112; |
|
|
^ |
бинарная операция поразрядного исключающего ИЛИ (сложение по модулю 2) битовых представлений целочисленных операндов, например, 6^5 равно 3, действительно, 1102|1012 равно 0112; |
|
|
<< (>>) |
сдвиг влево (вправо) битового представления значения левого операнда на количество разрядов, равное значению правого операнда, например, 5>>1 равно 2, действительно, 1012 при сдвиге вправо на 1 разряд дает 0102; |
|
|
* |
унарная операция обращения по адресу (операция разыменования), бинарная операция умножения; |
|
|
/ |
бинарная операция деления; при целочисленных операндах абсолютное значение результата округляется до целого, например, 20/3 равно 6; |
|
|
% |
получение остатка от деления целочисленных операндов, например, 20%3 равно 2; |
|
|
<(<=) |
меньше (меньше или равно) Результат операций сравнений целочисленный: 0 (ложь) или 1(истина); |
|
|
>(>=) |
больше (больше или равно) |
||
== |
равно |
|
|
!= |
не равно |
|
|
&& |
конъюнкция (И) арифметических операндов или отношений; целочисленный результат: 0 (ложь) или 1(истина); |
|
|
|| |
дизъюнкция (ИЛИ) арифметических операндов или отношений; целочисленный результат: 0 (ложь) или 1(истина); |
|
|
= |
присвоение (присвоить значение выражения операнда из правой части операнду из левой части: x=20-2*y); |
|
|
= |
где - одни из знаков операций *, /, %, +, - ,&,|,^,<<,>>. Операция x=у эквивалентна x=xy, например, x*=2; эквивалентно x=x*2; |
|
|
, |
несколько выражений, разделенных запятой вычисляются слева направо, в качестве результата сохраняется тип и значение самого правого выражения, например, d=4,d*2 равно 8; |
|
Кроме того, в языке С++ определена условная операция, которая используется с тремя операндами и имеет формат:
выражение1 ? выражение2 : выражение3
Если выражение1 истинно, то есть не равно 0, то результатом становится значение выражения2, иначе результатом становится значение выражения3.
Несколько операций языка С++, не рассмотренные здесь, будут введены в соответствующих главах.
Теперь, когда введены основные типы данных и операции, можно перейти к решению простейших задач.
Пример. По двум заданным сторонам прямоугольника найти его площадь и длину диагонали.
#include <iostream.h>
#include <math.h>