Dans le langage C, il n'y a pas d'opérateur pour ouvrir la racine. La fonction intégrée "sqrt()" est utilisée pour ouvrir la racine, et la syntaxe "sqrt(value x)" est utilisée par exemple ; sqrt(4)" consiste à effectuer 4 opérations de racine carrée, le résultat est 2. sqrt() est une fonction d'opération racine intégrée en langage C. Son résultat d'opération est la racine carrée arithmétique de la variable de fonction ; cette fonction ne peut ni opérer de valeurs négatives ni produire des résultats imaginaires.
L'environnement d'exploitation de ce tutoriel : système Windows 7, version c99, ordinateur Dell G3.
Dans le langage C, il n'y a pas d'opérateur racine. La fonction intégrée "sqrt()" est utilisée pour ouvrir la racine.
fonction sqrt() en langage c
En langage C, sqrt signifie la fonction racine carrée, qui calcule la racine carrée d'un nombre réel non négatif.
sqrt() est la fonction d'opération racine intégrée en langage C, et le résultat de son opération est la racine carrée arithmétique de la variable de fonction. La fonction
sqrt() ne peut ni opérer sur des valeurs négatives ni produire des résultats imaginaires.
Syntaxe :
double sqrt(double x)
Valeur de retour :
Cette fonction renvoie la racine carrée de x.
fonction sqrt()
Ajoutez #include
#include<math.h> #include<stdio.h> int main(void) { printf("%lf",sqrt(4)); return 0; }
Nous savons que le résultat de la racine numéro 4 est 2, sortie Le résultat devrait également être 2. Voyons si le résultat de sortie réel est cohérent avec notre résultat de sortie idéal.
Résultat de sortie :
2.000000
Question :
Q1 : "Le type du paramètre de la fonction sqrt n'est-il pas un type à virgule flottante double précision ? Pourquoi le paramètre de la fonction sqrt dans l'exemple ci-dessus est-il un entier, est-ce que n'est-ce pas un nombre à virgule flottante ? " Y aura-t-il des problèmes avec le passage de paramètres comme celui-ci ? "
R1 : Il est nécessaire de répondre à cette question pour les lecteurs : " Passer des nombres à virgule flottante à la fonction sqrt est tout à fait correct, et là Il n'y a rien de mal à le transmettre à la fonction sqrt. Il n'y a aucun problème avec un entier, car le passage d'une variable entière dans la fonction sqrt sera automatiquement converti en un type à virgule flottante double précision. Pouvons-nous donc éviter le processus de conversion du. paramètre d'un type entier à un type à virgule flottante double précision ? Bien sûr que nous pouvons apporter une petite modification au code ci-dessus :
#include<math.h> #include<stdio.h> int main(void) { printf("%lf",sqrt(4.0)); return 0; }
Ce changement peut éviter le processus de conversion du paramètre d'un entier à une virgule flottante, et le code devient plus précis
Q2 : "À l'intérieur de la fonction printf. Le premier paramètre est la chaîne étrange ("%lf"). Pourquoi la chaîne étrange n'est-elle pas affichée ? C'est remplacé par un numéro »
R2 : C'est une très bonne question ! Si vous pensez simplement qu'il s'agit simplement d'une corde étrange, cela semble juste, car si c'est la première fois que vous entrez en contact avec elle, vous le ferez forcément. cela semble étrange. C'est très normal. Mais "%lf" n'est pas une chaîne étrange, mais un espace réservé. Nous pouvons difficilement nous en passer lors de l'écriture de programmes C. Vous pouvez le comprendre de cette façon : "printf signifie 'sortie formatée'. peut comprendre cet espace réservé comme « formaté » dans « sortie formatée ». Il peut afficher les paramètres suivants en fonction du contenu de l'espace réservé. Par exemple, sous la même fonction printf, le premier espace réservé affiche : le contenu du deuxième paramètre, le deuxième. placeholder affiche le contenu du troisième paramètre, et ainsi de suite. La façon de distinguer s'il s'agit d'un espace réservé est également très simple, voyez si "%" apparaît devant une chaîne de segment " (signe de pourcentage), s'il y en a un. , cela signifie qu'il s'agit d'un espace réservé, sinon, cela signifie que ce n'est pas un espace réservé. En langage C, il n'y a pas seulement des espaces réservés "%lf", mais aussi de nombreux espaces réservés, le tableau suivant est les espaces réservés couramment utilisés en C. langage Les formats d'entrée et de sortie correspondant à chaque espace réservé sont différents
%d | Entrée et sortie sous forme d'entiers |
%f | Entrée et sortie sous forme de simple précision. virgule flottante |
%lf | Entrée et sortie sous forme de virgule flottante double précision |
%s | Entrée et sortie sous forme de chaîne |
讨论:
为了使读者更好地理解,我们可以对上例的代码进行一个粗略的翻译(这里作者将上例的代码“搬运”到了下面当中,这样做的原因是为了避免读者回看上文)。
#include<math.h> #include<stdio.h> int main(void) { printf("%lf",sqrt(4.0)); return 0; }
翻译:在程序中先包含两个头文件,它们分别是:math.h(数学头文件)与stdio.h(标准输入输出头文件)。随后我们需要编写main函数,”main“函数的数据类型是int,参数的数据类型是“void”。为什么要编写“main”这个函数呢?因为它是整个C程序的入口,在main函数的函数体内有两条语句,第一条是“printf("%lf",sqrt(4.0));”,它翻译过来的意思是:“以双精度浮点型的形式对sqrt函数的返回值进行输出(注意:当一个函数作为另一个函数的参数时,程序会先将一个函数的返回值计算出来随后再传递给另一个函数的参数)。”最后一条语句是“return 0;”,函数是必须需要一个返回值的,但void类型除外,我们的这个main函数的数据类型是int,并不是void,所以main函数需要一个返回值,虽然在多数编译器是省略main函数的返回值的,但即便如此,最好将返回值加上,这是个良好的习惯!。
(注意:不要将main函数的参数列表中的void看成是main函数的数据类型)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!