A biblioteca math.h

Por: Eduardo Casavella
Fornece um conjunto de funções para operações matemáticas, tais como funções trigonométricas, hiperbólicas, logaritmos, potência e arredondamentos.

Todas as funções da biblioteca math.h retornam um valor do tipo double.

Na tabela abaixo apresentamos algumas funções presentes na biblioteca math.h

Função Descrição do comando
floor( ) arredonda para baixo
ceil( ) arredonda para cima
sqrt( ) Calcula raiz quadrada
pow(variável, expoente) potenciação
sin( ) seno
cos( ) cosseno
tan( ) Tangente
log( ) logaritmo natural
log10( ) logaritmo base 10

No programa abaixo, temos um resumo das funções mais utilizadas e os comentários.

Exemplo de utilização da biblioteca math.h

#include <stdio.h>
#include <conio.h>
#include <math.h>//necessária para usar as funções matemáticas

int main (void)
{
	double x = 9.75;
	
	double arredonda_pbaixo = 0.0;
	double arredonda_pcima = 0.0;
	double raiz_quadrada = 0.0;
	double potencia = 0;
	
	double seno = 0;
	double cosseno = 0;
	double tangente = 0;
	
	double logaritmo_natural = 0;
	double logaritmo_xbase10 = 0;
	
	printf("\n********* Utilizando a biblioteca math.h ***********\n\n");
	
	printf("\nFuncoes de arredondamento\n\n");
	printf("Valor original de x = %f\n",x);
	
	arredonda_pbaixo = floor(x);
	printf("Valor aproximado para baixo %f \n", arredonda_pbaixo );
	
	arredonda_pcima = ceil(x);
	printf("Valor aproximado para cima %f \n", arredonda_pcima);
	
	printf("\n----------------------------------------------------\n\n");
	
	printf("\nFuncoes de raiz e potenciacao \n\n");
	printf("Valor original de x = %lf\n",x);
	raiz_quadrada = sqrt(x);
	printf("Valor da raiz quadrada %f \n",raiz_quadrada);
	
	x = ceil(x); //arredondando o x para cima, x passa a valer 10
	
	potencia = pow(x,2); //elevando o valor de x ao quadrado
	printf("Valor de %.2lf ao quadrado %.2f \n",x,potencia);
	
	printf("\n----------------------------------------------------\n\n");
	
	printf("\nFuncoes trigonometricas\n\n");
	
	x = 0; //atribuindo zero em x para fazer os cálculos trigonométricos
	
	seno = sin(x);
	printf("Valor de seno de %.2f = %.2f \n",x,seno);
	
	cosseno = cos(x);
	printf("Valor de cosseno de %.2f = %.2f \n",x,cosseno);
	
	tangente = tan(x);
	printf("Valor de tangente de %.2f = %.2f \n\n",x,tangente);
	
	printf("\n----------------------------------------------------\n\n");
	
	printf("\nFuncoes logaritmicas\n\n");
	
	x = 2.718282;
	logaritmo_natural = log(x);
	printf("Logaritmo natural de x %.2f = %.2f \n",x,logaritmo_natural);
	
	x = 10;
	logaritmo_xbase10 = log10(x);
	printf("Logaritmo de x na base 10 %.2f = %.2f \n",x,logaritmo_xbase10);
	printf("\n----------------------------------------------------\n\n");
	
	getch();
	return(0);
}

 

 

Tela de execução

exemplo biblioteca math.h

Tela de execução da biblioteca math.h

Até a próxima!

4 respostas a A biblioteca math.h

  • Gabriel Souza disse:

    Muito boa a publicação… e essa biblioteca math.h também

  • Tiago Silva disse:

    Olá, primeiramente, obrigado por esse trabalho lindo. Eu estou com o seguinte problema. Quero fazer uma conta exata, desejo que mostre na tela o quociente, “13.5”. Pois, estou dividindo 27/2 = 13.5 porém não saí “13.5” aparece apenas a parte inteira que é, “13” já coloquei Double, Float e nada, estou usando a biblioteca math.h

  • Pedro Bonifacio disse:

    Olá, se você estiver dividindo dois inteiros o resultado será um número inteiro, por isso o valor 13. Você já tentou fazer casting?

    tente algo do tipo:

    float resultado = ((float)27)/2;

    ou

    float resultado = 27;

    resultado /= 2;

  • Tiago Silva, a linguem C arrendonda caso não use casa decimais, já tentou %.2f ou %.2lf ? talvez vc esteja fazendo uma operação entre números inteiros com números reais!