Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Антонюк и др.doc
Скачиваний:
48
Добавлен:
07.11.2018
Размер:
32.99 Mб
Скачать

Операции.

В языке С имеется большой набор операций, Стандартный набор включает операции сложения +, вычитания -, умножения *, деления /, остатка от деления %. Дополнительно имеются операции увеличения на 1 (автоинкремента)++, автодекремента --, поразрядного сдвига вправо >> и влево <<. Кроме этого, имеются поразрядные логические операции И &, ИЛИ | и НЕ !.

Присваивание в языке С выполняет операция, а не оператор. Результат присваивания – это число, которое тоже можно присваивать, например:

x=5+(y=2);

Дополнительно в язык включены составные операции присваивания вида (операция)= позволяющие сжато записывать выражения, например r*=5+x; означает r=r*(5+x) .

При написании арифметических выражений необходимо учитывать порядок операций. Круглые скобки изменяют порядок операций, поэтому целесообразно их использовать там, где возможны неоднозначности.

Особенности компьютерных вычислений налагают дополнительные требования к выражениям. Необходимо следить за переполнением чисел, а также за возможностью их обнуления. Например, выражение “x*2” может дать неожиданный отрицательный результат, если x - это целое число, большее, чем 32767/2, а “x/(x+1)” дает ноль.

Следует иметь ввиду, что в выражениях выполняется автоматическое преобразование типов данных, если это необходимо (в смешанных операциях). Преобразования выполняются в соответствии с иерархией типов (int -> long -> float ->double) и порядком вычислений. Пример: x=y+i/j; Вначале выполняется операция деления. Если i и j – целые, то выполняется их целочисленное деление, результат которого преобразуется в плавающий формат и складывается с y.

Ввод и вывод алфавитно-цифровой информации.

Для ввода и вывода используются стандартные функции printf и scanf из библиотеки stdio.h. Формат функций:

printf(«строка форматирования»,перем1,перем2,…);

scanf(«строка форматирования»,&перем1,&перем2,…);

Строка форматирования выводится в том виде, как написана за исключением управляющих слов. Слово начинающееся со знака % называется символом форматирования и означает, что в это место нужно вставить значение очередной переменной из списка параметров. Формат этого управляющего слова

% Размер Поля . Точность Длина Тип Переменной

Размер Поля – количество знаков, которое занимает поле,

Точность – количество знаков после десятичной точки,

Длина – символ l (эль) для переменной типа double или long int, L - для long double,

Тип Переменной – i,d - целые числа ,f,g,e - числа с плавающей запятой, c - символ, s - строка текста, заканчивающаяся нулем.

Пример: “%10.2lf” (число типа double занимает 10 символов, 2 символа после запятой).

Второй управляющий символ - это \. Он предназначен для вставки специальных символов: \n - символа перехода на новую строку, \0 - символа ноль, \\ - символа \ ,\’ - одинарной кавычки, \”- двойной кавычки, \% - символа %.

При вводе в строке форматирования все символы пропускаются за исключением символов форматирования.

Математические функции.

В арифметических выражениях можно использовать большой набор математических функций. Они определены в заголовочном файле <math.h>. Функция вызывается путем указания ее имени, за которым в круглых скобках следует список аргументов, например

y=2*M_PI/asin(-0.5);

// M_PI-константа, определенная в math.h,

// asin - функция arcsin.