- •1.1. Цель работы
- •1.2. Справочные сведения
- •1.2.1. Структура программы на языке с
- •Void main ()
- •1.2.2. Работа с консолью
- •Основные спецификации формата:
- •1.2.3. Управление выводом на экран
- •1.2.4. Работа с файлами
- •1.2.5. Арифметические операции и операция присваивания
- •1.3. Содержание работы
- •1.4. Индивидуальные задания
- •1.5. Пример программы
- •Программа
- •1.6. Типичные ошибки при выполнении работы
- •1.7. Требования к студентам
- •Контрольные вопросы
1.2.5. Арифметические операции и операция присваивания
В языке С имеются две унарных (работающих с одним операндом) арифметических операции: операция минус унарный, которая меняет знак своего единственного операнда, и операция яв-ного преобразования типа, которая преобразует тип операнда к заданному типу.
Например, если определено
float d = 1.23;
то результатом операции -d является отрицательное действительное число -1.23, а операция (int)d преобразует d к целому типу, т.е. дает целое число 1.
Существует пять бинарных (имеющих два операнда) арифметических операций в языке С: + сложение; – вычитание; * умножение; / деление; % остаток от деления (деление по модулю 2).
Операция остаток от деления является корректной только тогда, когда оба ее операнда являются целыми. Результат этой операции всегда есть целое число, знак которого совпадает со знаком первого из операндов. Остальные четыре операции могут применяться при операндах разных типов, при этом тип результата определяется в соответствии с таблицей преобразования типов, приведенной в Приложении 1.
Например, фрагмент программы
int i = 5, j = 3, k, k1, k2, k3;
float f1 = 2.5; f2 = 0.5, g, g1, g2;
k = i + j; k1 = i/j; k2 = -i%j; k3 = (int)f1/i;
g = f1/f2; g1 = f1/i; g2 = (int)f1/f2;
дает следующие результаты:
k = 8; k1 = 1; k2 = -2; k3 = 0; g = 5.0; g1 = 0.5; g2 = 4.0;
Следует обратить внимание на то, что результат деления целого числа на целое является целым числом. При этом результат формируется путем отбрасывания дробной части частного, т.е. никакого округления не выполняется.
В одном выражении может содержаться произвольная последовательность арифметических операций. Порядок их выполнения определяется в соответствии с таблицей приоритетов операций (см. Приложение 1). Этот порядок может быть при необходимости изменен с помощью круглых скобок, расставленных в соответствующих местах. Как следует из таблицы приоритетов, скобки имеют наивысший приоритет.
Операция присваивания имеет вид
A = b,
где А - имя простой переменной, которой следует присвоить значение b; b — число либо простая переменная или выражение. Операция присваивания выполняется следующим образом. Сначала вычисляется выражение b. Далее, если тип переменной А совпадает с типом полученного результата, этот результат присваивается переменной А, в противном случае сначала результат автоматически преобразуется к типу переменной А и только после этого выполняется присваивание. Вычисление выражения b всегда предшествует присвоению, поэтому, например, действительная величина/в результате выполнения операции присваивания /= 6/5 получит значение 1.0, а не 1.2, как это может показаться на первый взгляд.
1.3. Содержание работы
Для освоения практических приемов программирования на языке С и работы в среде ВС студентам предлагается задача, предусматривающая ввод данных, выполнение вычислений, предусмотренных индивидуальным заданием, и вывод полученных результатов на консоль и в файл. Все данные рекомендуется вы-водить с их именами. Файл с заданным в индивидуальном задании именем можно расположить на любом диске или директории, открытом для записи (в частности, можно использовать флоппи-диск А).
Программа, созданная в ходе выполнения работы, должна включать в себя:
комментарий, содержащий сведения о назначении программы, ее авторе и дате написания;
подключение необходимых библиотек стандартных функций (с помощью директивы #include);
заголовок главной функции main();
процедурный блок, содержащий описание переменных и констант, последовательность выполняемых операторов, а также комментарии, поясняющие работу отдельных частей программы.
Отчет по работе должен содержать:
перечисление всех подпунктов из пунктов 2...6 и 10, 11 основного меню среды ВС с подробным описанием функций, которые они выполняют;
формулировку задачи, предложенной в индивидуальном зада-нии;
программу решения задачи с комментариями к основным операторам;
пример работы программы (введенные данные и полученные результаты).