Dołączanie math.h
Połączy Pan/Pani bibliotekę matematyczną i użyje jej.
Dołączanie math.h to bezpłatna lekcja C Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej C Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs C Academy zawiera 4 lekcji w sumie.
Dlaczego istnieje math.h
Język C zachowuje swój rdzeń w niewielkim rozmiarze. Operacje takie jak pierwiastkowanie, potęgowanie i funkcje trygonometryczne nie są wbudowane bezpośrednio w język.
Zamiast tego znajdują się w standardowym pliku nagłówkowym biblioteki o nazwie math.h. Aby używać tych funkcji, należy dołączyć ten plik na początku programu.
Dołączanie pliku nagłówkowego
Należy dodać ten wiersz w pobliżu początku pliku, obok stdio.h:
#include <stdio.h>do obsługi wejścia i wyjścia#include <math.h>do obsługi funkcji matematycznych
Nawiasy ostre informują kompilator, aby szukał pliku w standardowych katalogach systemowych.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("math.h is ready\n");
return 0;
}Pierwsze wywołanie math.h
Po dołączeniu math.h można wywoływać funkcje takie jak sqrt (pierwiastek kwadratowy).
Większość funkcji matematycznych przyjmuje wartości typu double i je zwraca, dlatego wyniki wypisujemy za pomocą specyfikatora formatu %f.
#include <stdio.h>
#include <math.h>
int main(void) {
double r = sqrt(16.0);
printf("sqrt(16) = %f\n", r);
return 0;
}Konsolidowanie biblioteki matematycznej
W niektórych systemach, zwłaszcza w systemie Linux z gcc, funkcje matematyczne znajdują się w osobnym pliku biblioteki.
Jeśli pojawi się błąd undefined reference, należy dodać flagę -lm podczas kompilacji:
gcc program.c -lm
-lm oznacza „połącz z biblioteką matematyczną”.
Wszystko jest typu double
Domyślnie funkcje z math.h działają z typem double. Przyjmują argumenty typu double i zwracają wyniki tego typu.
Można przekazać także wartość typu int. C automatycznie przekształci ją na double przed wywołaniem funkcji.
#include <stdio.h>
#include <math.h>
int main(void) {
int n = 25;
double root = sqrt(n);
printf("root = %f\n", root);
return 0;
}Wypisywanie wyników obliczeń
Do wypisywania wartości typu double należy użyć %f. Liczbę miejsc po przecinku można kontrolować za pomocą %.2f (dwa miejsca).
Dzięki temu długie wartości dziesiętne pozostają uporządkowane i czytelne.
#include <stdio.h>
#include <math.h>
int main(void) {
double r = sqrt(2.0);
printf("%f\n", r);
printf("%.2f\n", r);
return 0;
}Przydatne stałe
Wiele systemów definiuje w math.h przydatne stałe, takie jak M_PI oznaczająca liczbę pi.
Nie są one częścią ścisłego standardu, ale są bardzo często dostępne. Jeśli brakuje M_PI, można zdefiniować własną stałą.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("pi is about %.5f\n", M_PI);
return 0;
}Przegląd zawartości
Plik nagłówkowy math.h udostępnia wiele narzędzi pogrupowanych według zastosowania:
- Potęgi i pierwiastki:
pow,sqrt - Trygonometria:
sin,cos,tan - Logarytmy:
log,log10 - Zaokrąglanie:
floor,ceil,round
Każdą grupę omówimy w następnych lekcjach.
Łączenie obliczeń z logiką
Wyniki funkcji z math.h są zwykłymi liczbami, które można porównywać i wykorzystywać w instrukcjach if.
W tym przykładzie sprawdzamy, czy liczba jest kwadratem liczby całkowitej, porównując jej pierwiastek z liczbą całkowitą.
#include <stdio.h>
#include <math.h>
int main(void) {
double root = sqrt(49.0);
if (root == 7.0) {
printf("49 is a perfect square\n");
}
return 0;
}Częste błędy
Należy uważać na następujące błędy początkujących:
- Brak
#include <math.h> - Brak
-lmpodczas konsolidowania w systemie Linux - Wypisywanie wartości typu
doubleza pomocą%dzamiast%f
Każdy z tych błędów powoduje mylący komunikat lub niepoprawny wynik.
Połączenie wszystkich elementów
Oto mały, kompletny program wykorzystujący jednocześnie dwie funkcje matematyczne.
Proszę zwrócić uwagę na pliki nagłówkowe na początku oraz zmienne typu double przechowujące wyniki.
#include <stdio.h>
#include <math.h>
int main(void) {
double a = sqrt(81.0);
double b = pow(2.0, 5.0);
printf("sqrt=%.1f pow=%.1f\n", a, b);
return 0;
}Szybkie sprawdzenie
Jaki plik nagłówkowy należy dołączyć, aby używać funkcji takich jak sqrt i pow?
Podsumowanie
Dowiedział się już Pan/Pani, że funkcje matematyczne znajdują się w math.h, który dołącza się za pomocą #include <math.h>.
Funkcje te korzystają z typu double, ich wyniki wypisuje się za pomocą %f, a w systemie Linux mogą wymagać flagi konsolidatora -lm. Następnie szczegółowo omówimy potęgi i pierwiastki.
Często zadawane pytania
Czy lekcja „Dołączanie math.h” jest bezpłatna?
Tak — pełny tekst „Dołączanie math.h” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu C Academy, przejdź na CoddyKit PRO. Kurs C Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Dołączanie math.h”?
Połączy Pan/Pani bibliotekę matematyczną i użyje jej. Ćwiczysz C Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć C Academy?
Nie wymagamy żadnego doświadczenia. C Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Dołączanie math.h”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji C Academy?
Tak. Każda lekcja C Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.