Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé

La librairie <complex.h> (<ccomplex> en C++)

Accès rapide :
Présentation de la librairie
Fonctions documentées
Macros et pragmas
Note POSIX

Présentation de la librairie

La librairie <complex.h>, ou <ccomplex> en C++, permet la manipulation des nombres complexes en C. Les fonctions sont proposées par familles de trois variantes : une version double complex, une version float complex et une version long double complex.

Pour utiliser cette librairie, il suffit d'inclure l'entête suivant.

#include <complex.h>  // <ccomplex> en C++

Le programme suivant additionne deux nombres complexes puis affiche les parties réelle et imaginaire du résultat.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
#include <complex.h>
#include <stdio.h>
#include <stdlib.h>

int main() {

    double complex x = 1.0 + 2.0 * I;
    double complex y = 2.0 - 3.0 * I;
    double complex z = x + y;

    printf( "z == %.1f%+.1fi\n", creal( z ), cimag( z ) );

    return EXIT_SUCCESS;
}
Manipulation de nombres complexes en C

Fonctions documentées

Fonctions Description
cabs, cabsf et cabsl Ces trois fonctions calculent le module d'un nombre complexe.
cacos, cacosf et cacosl Ces trois fonctions calculent l'arc-cosinus d'un nombre complexe.
cacosh, cacoshf et cacoshl Ces trois fonctions calculent l'arc-cosinus hyperbolique d'un nombre complexe.
carg, cargf et cargl Ces trois fonctions calculent l'argument, en radians, d'un nombre complexe.
casin, casinf et casinl Ces trois fonctions calculent l'arc-sinus d'un nombre complexe.
casinh, casinhf et casinhl Ces trois fonctions calculent l'arc-sinus hyperbolique d'un nombre complexe.
catan, catanf et catanl Ces trois fonctions calculent l'arc-tangente d'un nombre complexe.
catanh, catanhf et catanhl Ces trois fonctions calculent l'arc-tangente hyperbolique d'un nombre complexe.
ccos, ccosf et ccosl Ces trois fonctions calculent le cosinus d'un nombre complexe.
ccosh, ccoshf et ccoshl Ces trois fonctions calculent le cosinus hyperbolique d'un nombre complexe.
cexp, cexpf et cexpl Ces trois fonctions calculent l'exponentielle d'un nombre complexe.
cimag, cimagf et cimagl Ces trois fonctions extraient la partie imaginaire d'un nombre complexe.
clog, clogf et clogl Ces trois fonctions calculent le logarithme naturel d'un nombre complexe.
conj, conjf et conjl Ces trois fonctions calculent le conjugué d'un nombre complexe.
cpow, cpowf et cpowl Ces trois fonctions calculent une puissance complexe.
cproj, cprojf et cprojl Ces trois fonctions projettent un nombre complexe sur la sphère de Riemann.
creal, crealf et creall Ces trois fonctions extraient la partie réelle d'un nombre complexe.
csin, csinf et csinl Ces trois fonctions calculent le sinus d'un nombre complexe.
csinh, csinhf et csinhl Ces trois fonctions calculent le sinus hyperbolique d'un nombre complexe.
csqrt, csqrtf et csqrtl Ces trois fonctions calculent la racine carrée d'un nombre complexe.
ctan, ctanf et ctanl Ces trois fonctions calculent la tangente d'un nombre complexe.
ctanh, ctanhf et ctanhl Ces trois fonctions calculent la tangente hyperbolique d'un nombre complexe.

Macros et pragmas

Nom Description
complex, I, _Complex_I, imaginary, _Imaginary_I Macros de base pour déclarer et construire des valeurs complexes.
CMPLX, CMPLXF et CMPLXL Macros de construction ajoutées par C11.
CX_LIMITED_RANGE Pragma permettant de relâcher certaines contraintes sur les calculs complexes.
__STDC_NO_COMPLEX__ et __STDC_VERSION_COMPLEX_H__ Macros de disponibilité et de version de l'entête.

Note POSIX

POSIX reprend <complex.h> pour s'aligner sur ISO C. POSIX.1-2024 impose normalement cet entête, sauf dans certains sous-profils qui peuvent définir __STDC_NO_COMPLEX__. Les valeurs angulaires sont exprimées en radians.



Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé