0Pricing
C Academy · Урок

Степени и корни

Используйте pow, sqrt и другие функции.

«Степени и корни» — бесплатный урок C Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C Academy содержит 4 уроков всего.

Степени и корни

Два наиболее полезных инструмента в math.h — это pow для возведения числа в степень и sqrt для вычисления квадратного корня.

Обе функции работают со значениями double и возвращают результат типа double.

Функция pow

pow(base, exponent) вычисляет значение base, возведённое в степень exponent.

Например, pow(2, 3) означает 2 × 2 × 2, то есть 8.

#include <stdio.h>
#include <math.h>

int main(void) {
    double result = pow(2.0, 3.0);
    printf("2^3 = %.0f\n", result);
    return 0;
}

Возведение в квадрат с помощью pow

Чтобы возвести число в квадрат, возведите его в степень 2.

Здесь мы вычисляем площадь квадратной комнаты, возводя длину её стороны в квадрат.

#include <stdio.h>
#include <math.h>

int main(void) {
    double side = 5.0;
    double area = pow(side, 2.0);
    printf("area = %.0f\n", area);
    return 0;
}

Дробные показатели степени

pow также принимает дробные показатели степени. Возведение в степень 0.5 равносильно извлечению квадратного корня.

Поэтому pow(9.0, 0.5) равно 3.0.

#include <stdio.h>
#include <math.h>

int main(void) {
    double r = pow(9.0, 0.5);
    printf("9^0.5 = %.1f\n", r);
    return 0;
}

Функция sqrt

sqrt(x) возвращает квадратный корень из x: число, которое при умножении само на себя даёт x.

Если Вам нужен именно квадратный корень, это понятнее и быстрее, чем использовать pow(x, 0.5).

#include <stdio.h>
#include <math.h>

int main(void) {
    double r = sqrt(144.0);
    printf("sqrt(144) = %.0f\n", r);
    return 0;
}

Отрицательные входные значения для sqrt

Квадратный корень из отрицательного числа не является действительным числом.

Вызов sqrt(-1.0) возвращает специальное значение под названием NaN (не число). Всегда проверяйте, что входное значение равно нулю или положительно.

#include <stdio.h>
#include <math.h>

int main(void) {
    double r = sqrt(-4.0);
    printf("result = %f\n", r);
    return 0;
}

Кубические корни с помощью cbrt

Для извлечения кубического корня в math.h есть функция cbrt.

В отличие от sqrt, cbrt корректно работает с отрицательными числами, поскольку у каждого действительного числа есть действительный кубический корень.

#include <stdio.h>
#include <math.h>

int main(void) {
    printf("%.0f\n", cbrt(27.0));
    printf("%.0f\n", cbrt(-8.0));
    return 0;
}

Теорема Пифагора

Степени и корни отлично сочетаются в геометрии. Длина самой длинной стороны прямоугольного треугольника равна квадратному корню из суммы квадратов двух других сторон.

Здесь мы вычисляем гипотенузу треугольника со сторонами 3, 4 и 5.

#include <stdio.h>
#include <math.h>

int main(void) {
    double a = 3.0, b = 4.0;
    double c = sqrt(pow(a, 2.0) + pow(b, 2.0));
    printf("hypotenuse = %.1f\n", c);
    return 0;
}

Вспомогательная функция hypot

Последний шаблон встречается так часто, что в math.h есть hypot(a, b), непосредственно возвращающая длину гипотенузы.

Для очень больших или очень маленьких чисел она точнее, чем вычисление квадратов и корня вручную.

#include <stdio.h>
#include <math.h>

int main(void) {
    double c = hypot(3.0, 4.0);
    printf("hypot = %.1f\n", c);
    return 0;
}

Выбор подходящего инструмента

Краткое руководство:

  • Квадратный корень: используйте sqrt
  • Кубический корень: используйте cbrt
  • Любая степень: используйте pow
  • Гипотенуза: используйте hypot

Если существует специальная функция, выбирайте её. Так код понятнее и часто точнее.

Практическая программа

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

#include <stdio.h>
#include <math.h>

int main(void) {
    double p = pow(10.0, 4.0);
    double r = sqrt(p);
    printf("%.0f -> %.0f\n", p, r);
    return 0;
}

Быстрая проверка

Подумайте, что возвращает каждая функция.

Повторение

Вы научились возводить числа в степень с помощью pow, находить квадратные корни с помощью sqrt, кубические корни с помощью cbrt и гипотенузы с помощью hypot.

Помните, что sqrt для отрицательного числа возвращает NaN. Далее мы рассмотрим тригонометрию и логарифмы.

Часто задаваемые вопросы

Урок «Степени и корни» бесплатный?

Да — полный текст урока «Степени и корни» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс C Academy, подпишись на CoddyKit PRO. Курс C Academy содержит 4 уроков всего.

Чему я научусь в уроке «Степени и корни»?

Используйте pow, sqrt и другие функции. Ты практикуешь C Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать C Academy?

Предыдущий опыт не требуется. C Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Степени и корни»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке C Academy?

Да. Каждый урок C Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Подключение math.h
  2. Степени и корни
  3. Тригонометрия и логарифмы
  4. Округление и абсолютные значения
← Назад к C Academy