
- •Основы алгоритмизации и программирования (лекции)
- •5.1 Процедуры и функции
- •6.1 Файлы
- •8.1 История создания языка
- •Модуль 1. Основы алгоритмизации
- •1.1 Этапы решения задач на эвм.
- •1.2. Алгоритм. Свойства алгоритмов.
- •1.3. Алгоритмическая конструкция ветвления.
- •1.4. Алгоритмическая конструкция цикла.
- •1.5. Использование циклов с параметром для обработки массивов.
- •Модуль 2. Основные конструкции языка Паскаль
- •2.1. История создания языка.
- •2.2. Интегрированная инструментальная оболочка (иио) Turbo Pascal (tp).
- •2.3. Алфавит и программа на tp 7.0.
- •2.4. Простые типы данных.
- •2.5. Константы, переменные и оператор присваивания.
- •2.6. Операторы ввода/вывода.
- •Модуль 3. Управляющие конструкции языка тп
- •3.1. Безусловные конструкции.
- •3.2. Условные конструкции.
- •3.3. Конструкция выбор.
- •3.4. Циклические конструкции.
- •1. Цикл с предусловием.
- •2. Цикл с постусловием.
- •3. Цикл с параметром.
- •Модуль 4. Структурированные типы данных
- •4.1. Массивы.
- •4.2. Сортировка массивов.
- •4.3. Строковый тип данных.
- •4.4. Множества.
- •4.5. Записи.
- •Модуль 5. Процедуры и функции
- •5.1. Процедуры и функции.
- •5.2. Функции пользователя.
- •5.3. Процедуры пользователя.
- •5.4. Использование функций в приближенных вычислениях.
- •5.5. Использование процедур в приближенных вычислениях.
- •5.6. Использование библиотек стандартных процедур в программах. Модуль Crt. Текстовые режимы использования экрана.
- •Модуль 6. Файлы
- •6.1. Файлы.
- •6.2. Сортировка файлов.
- •Модуль 7. Объектно - ориентированное программирование
- •7.1. Тип объект.
- •7.2. Инкапсуляция.
- •7.3. Наследование.
- •7.4. Полиморфизм.
- •Модуль 8. Язык программирования Си
- •8.1. История создания языка.
- •8.2. Структура простой программы на языке Си.
- •8.3. Представление данных в языке Си.
- •8.4. Форматированный ввод/вывод.
- •8.5. Операции, выражения и операторы.
- •8.6. Директивы препроцессора.
- •8.7. Реализация циклов в языке Си.
- •8.8. Условные и безусловные переходы в языке Си.
- •8.9. Использование массивов при реализации циклов.
8.5. Операции, выражения и операторы.
Основными операциями языка Си считаются +, *, -, /, а также оператор присваивания =. Как и в языке Паскаль, в Си нет возведения в степень. Основные операции выполняются в Си также как и в Паскаль, но имеют несколько дополнений. Так, знак "-" может использоваться как унарная операция, изменяющая знак переменной на противоположный. Особое использование отличает операцию деления. Она может применяться как к целым, так и к вещественным числам. Если результат операции деления должен быть присвоен целочисленной переменной, то дробная часть просто отбрасывается. Это действие называется усечением. Если деление применяется к операндам разного типа, то целочисленное значение преобразуется к виду с плавающей точкой.
Среди наиболее распространенных операций Си можно выделить:
1) sizeof - она возвращает размер операнда, выраженный в байтах. Операндом может быть конкретная данная или тип данных. При использовании последнего, оно записывается в скобках.
2) деление по модулю (%). Используется в целочисленной арифметике. Ее аналогом в Паскаль является функция mod.
3) инкремент (++). Выполняет простое действие: увеличивает значение операнд на 1. Эта операция может быть записана в префиксной форме, когда символ "++" предшествует переменной, и в постфиксной форме, когда "++" следует за переменной. Эти формы различаются последовательностью приращения значения операнда.
Пример:
a++;
++a;
b=a++;
b=++a;
Первые два оператора не имеют различий. В третьем примере сначала значение переменной a будет присвоено переменной b, а затем увеличено на 1. В четвертом примере сначала значение переменной a увеличится, а затем присвоится.
4) декремент (--). Существует в префиксной и постфиксной формах. Результат его действия - уменьшение значения оператора на 1.
Операции "++" и "--" имеют очень высокий приоритет исполнения. Выше только исполнение действий в скобках.
В языке Си существует несколько форм оператора присваивания:
Записи
Действия
+=
к переменной левой части прибавляется величина правой части
-=
вычитается величина правой части из значения переменной левой части
*=
умножается значение переменной левой части на величину правой части
/=
делится значение переменной левой части на величину правой части
%=
присваивается переменной левой части остаток от деления левой части на правую
Под выражением в языке Си понимают некоторую комбинацию операций и операндов. Важным свойством выражений является обязательное наличие у него значения. Из операторов языка Си можно составлять блоки. Операторы в блоке объединяются посредством фигурных скобок. Обычно в операторах и выражениях должны использоваться переменные и константы только одного типа. В Си употребление разных типов не прекратит исполнение программы. В этом случае будет активизирован набор правил для автоматического преобразования типов:
1) когда в выражении встречаются типы char и short, они автоматически преобразуются в int. Тип float преобразуется в double. Поскольку такие действия преобразуют к типу, обеспечивающему больший размер данных, то они называются повышением типа.
2) если операция выполняется над данными разных типов, то обе величины преобразуются к высшему из этих типов.
3) последовательность типов, упорядоченных по принципу от высшего к низшему выглядит так: long double, double, float, unsigned long, long, unsigned int, int.
4) в операторе присваивания окончательный результат вычислений преобразуется к типу переменной, которой присваивается вычисленный результат.
По мере возможности требуется избегать автоматического преобразования типов. При составлении выражения вы можете потребовать выполнение того вида преобразования, которое необходимо вам. Этот способ называется привидением типов и определяется следующим образом. Перед заданной величиной в круглых скобках записывается имя требуемого типа данных.
Пример:
b=(int)3.3+4;