Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика (1 семестр).doc
Скачиваний:
144
Добавлен:
11.06.2015
Размер:
777.73 Кб
Скачать

5. Выражения и операции: арифметические, сравнения, логические, поразрядные. Особенности выполнения операций в выражениях. Библиотека математических функций компилятора Borland с.

Выражения и операции: арифметические, сравнение, логические, поразрядные. Особенности выполнения операций в выражениях. Библиотека математических функций в Borland C.

Операции языка СИ (C)

Любое выражение языка состоит из операндов (переменных, констант и др.), соединенных знаками операций. Знак операции - это символ или группа символов, которые сообщают компилятору о необходимости выполнения определенных арифметических, логических или других действий.

Операции выполняются в строгой последовательности. Величина, определяющая преимущественное право на выполнение той или иной операции, называется приоритетом. В табл. 2 перечислены различные операции языка СИ (C). Их приоритеты для каждой группы одинаковы (группы выделены цветом). Чем большим преимуществом пользуется соответствующая группа операций, тем выше она расположена в таблице. Порядок выполнения операций может регулироваться с помощью круглых скобок

Таблица 2 - операции

Знак операции

Назначение операции

( )

Вызов функции

[ ]

Выделение элемента массива

.

Выделение элемента записи

->

Выделение элемента записи

!

Логическое отрицание

~

Поразрядное отрицание

-

Изменение знака

++

Увеличение на единицу

--

Уменьшение на единицу

&

Взятие адреса

*

Обращение по адресу

(тип)

Преобразование типа (т.е. (float) a)

sizeof( )

Определение размера в байтах

*

Умножение

/

Деление

%

Определение остатка от деления

+

Сложение

-

Вычитание

<<  

Сдвиг влево

>>  

Сдвиг вправо

<  

Меньше, чем

<=

Меньше или равно

>  

Больше, чем

>=

Больше или равно

= =

Равно

!=

Не равно

&

Поразрядное логическое "И"

^

Поразрядное исключающее "ИЛИ"

|

Поразрядное логическое "ИЛИ"

&&

Логическое "И"

||

Логическое "ИЛИ"

?:

Условная (тернарная) операция

=

Присваивание

+=, - =, *=, /=, %=, <<=, >>=, &=, |=, ^=

Бинарные операции (например, а *= b  (т.е. a = a * b) и т.д.)

,

Операция запятая

Операцию "=" разрешается использовать многократно в одном выражении

Арифметические операции задаются следующими символами (табл. 2): +, -, *, /, % . Последнюю из них нельзя применять к переменным вещественного типа.

Логические операции отношения задаются следующими символами (см. табл. 2): && ("И"), || ("ИЛИ"), ! ("НЕ"), >, >=, <, <= , = = (равно), != (не равно). Традиционно эти операции должны давать одно из двух значений: истину или ложь. В языке СИ (C)принято следующее правило: истина - это любое ненулевое значение; ложь - это нулевое значение. Выражения, использующие логические операции и операции отношения, возвращают 0 для ложного значения и 1 для истинного.

Битовые операции можно применять к переменным, имеющим типы int, char, а также их вариантам (например, long int). Их нельзя применять к переменным типов float, double, void (или более сложных типов). Эти операции задаются следующими символами: ~ (поразрядное отрицание), << (сдвиг влево), >> (сдвиг вправо), & (поразрядное "И"), ^ (поразрядное исключающее "ИЛИ"), | (поразрядное "ИЛИ").

В языке предусмотрены две нетрадиционные операции инкремента (++) и декремента (--). Они предназначены для увеличения и уменьшения на единицу значения операнда. Операции ++ и -- можно записывать как перед операндом, так и после него. В первом случае (++n или --n) значение операнда (n) изменяется перед его использованием в соответствующем выражении, а во втором (n++ или n--) - после его использования. 

Широкое распространение находят также выражения с еще одной нетрадиционной тернарной или условной операцией ?: . В формуле

y = x ? a: b;

y = a, если x не равно нулю (т.е. истинно), и y = b, если х равно нулю (ложно).

Еще одним отличием языка является то, что выражение вида а = а + 5; можно записать в другой форме: a += 5;. Вместо знака + можно использовать и символы других бинарных операций.

Библиотека математических функций в Borland C.

math.h — заголовочный файл стандартной библиотеки языка программирования С, разработанный для выполнения простых математических операций. Большинство функций привлекают использование чисел с плавающей точкой. C++ также реализует данные функции для обеспечения совместимости, все они содержатся в заголовочном файле cmath.

Все эти функции принимают double, если не определено иначе. Для работы с типами float и long double используются функции с постфиксами f и l соответственно. Все функции, принимающие или возвращающие угол, работают с радианами.

Имя

Описание

abs

Возвращает абсолютную величину числа

acos

арккосинус

asin

арксинус

atan

арктангенс

atan2

арктангенс с двумя параметрами

ceil

округление до ближайшего большего целого числа

cos

косинус

cosh

гиперболический косинус

exp

вычисление экспоненты

fabs

абсолютная величина (числа с плавающей точкой)

floor

округление до ближайшего меньшего целого числа

fmod

вычисление остатка от деления нацело для чисел с плавающей точкой

frexp

разбивает число с плавающей точкой на мантиссу и показатель степени.

ldexp

умножение числа с плавающей точкой на целую степень двух

log

натуральный логарифм

log10

логарифм по основанию 10

modf(x,p)

извлекает целую и дробную части (с учетом знака) из числа с плавающей точкой

pow(x,y)

результат возведения x в степень yxy

sin

синус

sinh

гиперболический синус

sqrt

квадратный корень

tan

тангенс

tanh

гиперболический тангенс