C 言語にはルート演算子はなく、ルートを開くには組み込み関数 "sqrt()" が使用され、構文 "sqrt (値 x)" が使用されます。たとえば、次のようになります。 "sqrt(4)"、4 に対して平方根演算を実行するだけで、結果は 2 になります。 sqrt() は C 言語の組み込みルート演算関数であり、その演算結果は関数変数の算術平方根であり、この関数は負の値を演算したり、虚数の結果を出力したりすることはできません。
このチュートリアルの動作環境: Windows7 システム、C99 バージョン、Dell G3 コンピューター。
C言語にはルート演算子が存在せず、ルートを開くには組み込み関数「sqrt()」が使用されます。
C 言語の sqrt() 関数
C 言語では、sqrt は平方根関数を意味し、次の平方根を計算します。負でない実数。
sqrt()はC言語の組み込みルート演算関数であり、演算結果は関数変数の算術平方根となります。
sqrt() 関数は、負の値を操作したり、虚数の結果を出力したりすることはできません。
構文:
double sqrt(double x)
戻り値:
- ##この関数は、x の平方根を返します。
sqrt() 関数の使用法
ヘッダー ファイルに #include#include<math.h> #include<stdio.h> int main(void) { printf("%lf",sqrt(4)); return 0; }ルート番号 4 の結果は 2 であることがわかっており、出力結果も 2 になるはずです。実際の出力結果が理想的な出力結果と一致しているかどうかを確認してみましょう。 出力結果:
2.000000
質問:
Q1: "sqrt関数の引数の型が倍精度浮動小数点型ではないでしょうか?なぜ上に記載されているのでしょうか? この例では、sqrt 関数のパラメーターは整数ですが、浮動小数点数ではありませんか? このようにパラメーターを渡すと問題はありますか? "R1: それこの質問を提起した読者のために、ここでこの質問に答える必要があります: 「sqrt 関数が浮動小数点数を渡すのは完全に正しいことであり、何も問題はありません。もちろん、整数を渡すことには問題はありません」 sqrt 関数内で整数変数を渡すと、自動的に倍精度浮動小数点型に変換されるため、パラメータを整数から倍精度浮動小数点に変換するプロセスを回避する方法はありますか? もちろんですが、上記のコードに小さな変更を加える必要があります:#include<math.h> #include<stdio.h> int main(void) { printf("%lf",sqrt(4.0)); return 0; }このような変更により、パラメータが整数になるのを回避でき、浮動小数点型への変換プロセスが実行され、コードがより正確になります。 Q2: 「printf 関数の最初のパラメータは奇妙な文字列 ("%lf") です。これはなぜおかしいのでしょうか? 文字列が出力されません?これは数字に置き換えられました。」R2: これはとても良い質問です。これが単なる奇妙な文字列であると考えるだけなら、それは正しいように思えます。なぜなら、それが最初の連絡先であれば、必然的に奇妙に感じますが、これはごく普通のことです。しかし、「%lf」は奇妙な文字列ではなく、プレースホルダです。私たちが毎日 C プログラムを書くときに、これなしではほとんどやっていけません。次のように理解できます。「printf は 'フォーマットされた出力です」 ' ' は、このプレースホルダーを「フォーマットされた出力」の「フォーマットされた」ものとして理解でき、プレースホルダーの内容に従って後続のパラメーターを出力できます。たとえば、同じ printf 関数の下で、最初のプレースホルダー文字の出力は次のようになります。 2 番目のパラメータの内容、2 番目のプレースホルダは 3 番目のパラメータの内容を出力、というようになります。プレースホルダであるかどうかを区別する方法も非常に簡単で、文字列の先頭を見て「%」(パーセント記号) かどうかを確認します。 ) が表示されていれば、これはプレースホルダであることを意味します。そうでない場合は、プレースホルダではないことを示します。C 言語では、プレースホルダは "%lf" だけでなく、多くのプレースホルダがあります。次の表は、 C言語でよく使われるプレースホルダー 各プレースホルダーに対応する入出力形式が異なります
#%f | |
#%lf | 倍精度浮動小数点形式での入出力 |
#%s | |
讨论: 为了使读者更好地理解,我们可以对上例的代码进行一个粗略的翻译(这里作者将上例的代码“搬运”到了下面当中,这样做的原因是为了避免读者回看上文)。 #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函数的数据类型) |
以上がC言語のルート演算子とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

メモ帳++7.3.1
使いやすく無料のコードエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版
便利なJavaScript開発ツール
