Рекурсивные функции


Функция, которая вызывает сама себя, называется рекурсивной функцией.

Рекурсия - вызов функции из самой функции.

Пример рекурсивной функции – функция вычисления факториала:

#include <stdio.h>

int fact(int num) {

if(num==1) return(1);

else return(num*fact(num-1)); // рекурсивный вызов

}

int main() {

int a, r;

printf("a= ");

scanf("%d",&a);

r = fact(a);

printf("%d! = %d",a,r);

getchar();getchar();

return(0);

}

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

Математические функции хранятся в стандартной библиотеке math.h. Аргументы большинства математических функций имеют тип double. Возвращаемое значение также имеет тип double. Углы в тригонометрических функциях задаются в радианах.

Основные математические функции стандартной библиотеки представлены в таблице 17.8.


Таблица 17.8 Основные математические функции стандартной библиотеки C

Функция Описание
int abs(int x) Модуль целого числа x
double acos(double x) Арккосинус x
double asin(double x) Арксинус x
double atan(double x) Арктангенс x
double cos(double x) Косинус x
double cosh(double x) Косинус гиперболический x
double exp(double x) Экспонента x
double fabs(double x) Модуль вещественного числа
double fmod(double x, double y) Остаток от деления x/y
double log(double x) Натуральный логарифм x
double log10(double x) Десятичный логарифм x
double pow(double x, double y) x в степени y
double sin(double x) Cинус x
double sinh(double x) Cинус гиперболический x
double sqrt(double x) Квадратный корень x
double tan(double x) Тангенс x
double tanh(double x) Тангенс гиперболический x

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

Над объектами в языке Си могут выполняться различные операции:

§ операции присваивания;

§ операции отношения;

§ арифметические;

§ логические;

§ cдвиговые операции.

Результатом выполнения операции является число.

Операции могут быть бинарными или унарными. Бинарные операции выполняются над двумя объектами, унарные — над одним.

Операция присваивания

Операция присваивания обозначается символом = и выполняется в два этапа:

- вычисляется выражение в правой части;

- результат присваивается операнду, стоящему в левой части:

объект = выражение;

Пример:

int a = 4; // переменной a присваивается значение 4

int b;

b = a + 2; // переменной b присваивается значение 6,

// вычисленное в правой части

 

В случае если объекты в левой и правой части операции присваивания имеют разные типы используется операция явного приведения типа.

объект = (тип)выражение;

float a = 241.5;

// Перед вычислением остатка от деления

// a приводится к целому типу

int b = (int)a % 2; // b = 1

Операции отношения

Основные операции отношения:

== эквивалентно — проверка на равенство;

!= не равно — проверка на неравенство;

< меньше;

> больше;

<=меньше или равно;

>= больше или равно.

Операции отношения используются при организации условий и ветвлений. Результатом этих операций является 1 бит, значение которого равно 1, если результат выполнения операции – истина, и равно 0, если результат выполнения операции –ложь.



Дата добавления: 2021-03-18; просмотров: 288;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.009 сек.