
- •3.2.4. Алфавит языка c, идентификаторы, ключевые слова, комментарии
- •3.2.5. Константы в c
- •3.2.6. Типы переменных в языке c и их объявление
- •3.2.7. Объявление простых переменных
- •3.2.8. Арифметические операторы и операторы присваивания
- •3.2.9. Преобразования типов
- •3.2.10. Операции отношения и логические операции
- •3.2.11. Условная операция
- •3.2.12. Стандартная библиотека языка c
- •3.2.13. Математические функции c
- •3.2.14. Форматированный вывод данных в c
- •3.2.15. Структура программы на языке c
3.2.11. Условная операция
Условная операция имеет следующий формат:
выражение-1 ? выражение-2 : выражение-3
Первым вычисляется выражение выражение-1. Если его значение «истина» (ненулевое значение), то вычисляется выражение-2 и его значение становится значением всего условного выражения. В противном случае вычисляется выражение-3 и его значение становится значением всего условного выражения.
Приоритет условной операции ниже, чем приоритет логических операций.
Пример условной операции:
z = (a>b) ? a : b /* z присваивается максимальное
из значений a и b */
3.2.12. Стандартная библиотека языка c
Как уже упоминалось, машинно-зависимые операторы языка C реализуются с помощью функций. Основные функции, необходимые для работы C сведены в библиотеку, утвержденную ANSI в качестве стандарта (поэтому данную библиотеку называют стандартной библиотекой языка С). Без использования функций стандартной библиотеки не может быть написана ни одна серьезная программа, в частности, потому, что в самом языке С нет никаких средств ввода и вывода данных.
Библиотека разбита по группам функций, например, математические функции, функции ввода-вывода и т.д. Вызов необходимой для использования в конкретной программе группы функций осуществляется по директиве препроцессора #include (препроцессор языка C будет рассмотрен далее) по следующему формату:
#include <головной-файл>
где головной-файл – имя головного файла для группы функций (например, math.h для математических функций).
Оператор #include для группы функций должен быть задан до их использования в программе (принято все операторы #include для вызова разделов библиотек размещать в самом начале программы).
3.2.13. Математические функции c
Математические функции библиотеки C выполняют некоторые арифметические действия, результат которых присваивается имени функции.
Математические функции имеют следующий формат вызова:
имя-функции (выражение)
где выражение – любое арифметическое выражение. Тип возвращаемого функцией значения – double.
Математические функции, также как и переменные, могут использоваться в арифметическом выражении, причем вычисление функции имеет более высокий приоритет, чем выполнение арифметических операций.
Математические функции языка C описываются в головном файле math.h. Основные математические функции языка C приведены в табл. 3.2.7.
Табл. 3.1.7. Основные математические функции языка C
Имя функции и аргументы |
Возвращаемое значение |
Примечания |
sin(double x) |
sin(x) – синус x. |
x задается в радианах. |
cos(double x) |
cos(x) – косинус x. |
x задается в радианах. |
tan(double x) |
tg(x) – тангенс x. |
x задается в радианах. |
asin(double x) |
arcsin(x) – арксинус x. |
xÎ[-1,1], arcsin(x)Î[-p/2,p/2]. |
acos(double x) |
arccos(x) – арккосинус x. |
xÎ[-1,1], arccos(x)Î[ 0,p]. |
atan(double x) |
arctg(x) – арктангенс x. |
arctg(x)Î[-p/2,p/2]. |
sinh(double x) |
sinh(x) – гиперболический синус x. |
|
cosh(double x) |
cosh(x) – гиперболический косинус x. |
|
tanh(double x) |
tgh(x) – гиперболический тангенс x. |
|
exp(double x) |
ex – экспоненциальная функция от x. |
|
log(double x) |
ln(x) – натуральный логарифм x. |
x>0. |
log10(double x) |
lg(x) – десятичный логарифм x. |
x>0. |
pow(double x, double y) |
xy – x в степени y. |
Ошибка области, если x=0 и y£0 или x<0 и y – не целое. |
sqrt(double x) |
|
x³0. |
ceil(double x) |
Наименьшее целое, большее или равное x. |
|
floor(double x) |
Наибольшее целое, меньшее или равное x. |
|
fabs(double x) |
|x| – абсолютное значение x. |
|