ホームページ  >  記事  >  バックエンド開発  >  C言語自体に入力文と出力文はありますか?

C言語自体に入力文と出力文はありますか?

青灯夜游
青灯夜游オリジナル
2022-11-24 14:29:0513420ブラウズ

######いいえ。 C 言語自体には入出力ステートメントは用意されておらず、入出力操作は関数によって実装されます。入力と出力を C 言語が提供するステートメントとして扱わない目的は、ステートメントをバイナリに変換する命令がコンパイル段階で完了するため、C 言語のコンパイル システムを簡素化することです。コンパイル段階でハードウェア関連の問題が発生するため、コンパイル システムを簡素化でき、高い汎用性と優れた移植性を備え、さまざまな種類のコンピュータに適用でき、さまざまなコンピュータへの実装が容易です。

#このチュートリアルの動作環境: Windows7 システム、C99 バージョン、Dell G3 コンピューター。 C言語自体に入力文と出力文はありますか?

C 言語自体には入力ステートメントと出力ステートメントがありません。

C 言語自体には入出力文が用意されておらず、入出力操作は関数によって実現され、ファイルの読み書きもライブラリ関数によって実現されます。

C 言語の標準関数ライブラリには、printf 関数や scanf 関数などのいくつかの入出力関数が用意されています。ただし、printf 関数と scanf 関数は C 言語のキーワードではなく、単なる関数の名前です。

C で提供される関数は、ライブラリの形式でシステムに格納されており、C 言語テキストの一部ではありません。

入力と出力を C 言語が提供するステートメントとして扱わない目的は、ステートメントをバイナリに変換する命令がコンパイル段階で完了するため、C 言語のコンパイル システムを簡素化することです。入力ステートメントと出力ステートメントの処理を回避することはできません。関連する問題によりコンパイル システムが簡素化され、汎用性と移植性が高く、さまざまなタイプのコンピュータに適用可能で、さまざまなコンピュータへの実装が容易です。

C 言語関数ライブラリのさまざまなバージョンは、さまざまなコンピュータ メーカーによって特定の種類のコンピュータ向けに作成され、オブジェクト ファイル (.obj ファイル) にコンパイルされています。リンク段階では、ソースプログラムからコンパイルされたオブジェクトファイルと結合され、実行可能なオブジェクトプログラムが生成されます。ソース プログラムに printf 関数がある場合、コンパイル中にターゲット命令に変換されませんが、実行フェーズ中に接続された関数ライブラリ内の printf 関数が呼び出されます。

知識を広げる:

他のコンピューター プログラミング言語とは異なり、C 言語のほとんどの関数は関数呼び出しによって実装されるため、ステートメントの数はC言語自体は小さいです。 C言語は言語機能の拡張が非常に便利な方式を採用しています。新しい関数を追加する必要がある場合は、対応する関数を関数ライブラリに追加するだけでよく、関数の機能を調整する必要がある場合は、関数自体のコードを変更するだけで済みます。関数を呼び出す他のプログラムを変更します。

C 言語の関数はシステム関数と呼ばれ、ユーザーはこれらの関数を直接呼び出すことで、対応する関数を完成させることができます。たとえば、printf、fabs などはすべてシステム関数です。システム関数は、「C 関数ライブラリ」と呼ばれるシステム ファイルに格納されます。関数を使用する必要がある場合、その関数が配置されている関数ライブラリをシステムに通知する必要があります。これは、ヘッダ ファイルをインクルードすることで実現されます。たとえば、C プログラムの基本フレームワークを次に示します。

#include "stdio.h"
#include "conio.h"
int main(void)
{
     /* 此处添加你自己的代码 */
     getch();
     return 0;
}


#include "stdio.h"

前処理ステートメントは、stdio.h をインクルードするようにシステムに通知します。ヘッダー ファイルをこのプログラム ファイルに追加すると、その中で定義されているシステム関数を使用できるようになります。

C 言語の基本的な入力機能は関数 scanf を使用して実現され、基本的な出力機能は関数 printf を使用して実現されます。これら 2 つの関数のヘッダー ファイルは stdio.h

ですが、これら 2 つは非常によく使用される関数であるため、C 言語では、これら 2 つの関数を使用する場合は対応する

#include# を省略できると規定されています。 ##注文。 #include
はファイル インクルード コマンドと呼ばれ、対応するヘッダー ファイル (.h ファイル) を導入するために使用されます。 #include も C 言語の前処理コマンドの一種です。

#include の処理プロセスは非常に単純です。ヘッダー ファイルの内容をコマンドの場所に挿入し、ヘッダー ファイルと現在のソース ファイルを接続します。 1 つのソース ファイル。コピーと同じです。貼り付けても同じ効果があります。

#include は次の 2 つの方法で使用できます: <pre class="brush:js;toolbar:false">#include &lt;stdHeader.h&gt; #include &quot;myHeader.h&quot;</pre>山括弧

6d267e5fab17ea8bc578f9e7e5e1570b

と二重引用符を使用します

" "

違いは、ヘッダー ファイルの検索パスが異なることです: 山括弧

6d267e5fab17ea8bc578f9e7e5e1570b
    を使用すると、コンパイラはシステム パスでヘッダー ファイルを検索します。
  • 二重引用符で囲んだ場合は、

    " "
  • 、コンパイラはまず現在のディレクトリでヘッダー ファイルを検索します。見つからない場合は、次にヘッダー ファイルを検索します。システムパス。
  • つまり、二重引用符を使用すると、山かっこを使用する場合よりも検索パスが 1 つ多くなり、その機能がより強力になります。

  • #include の使用に関する注意:

1 つの #include コマンドに含めることができるヘッダー ファイルは 1 つだけであり、複数のヘッダー ファイルには複数の #include コマンドが必要です。

  • 同じヘッダー ファイルは複数回導入できます。ヘッダー ファイルには、最初の時点で重複して導入されることを防ぐメカニズムがあるため、複数の導入の効果は 1 つの導入の効果と同じです。コード レベル。具体的な詳細については、「C 言語ヘッダー ファイルが繰り返しインクルードされるのを防ぐ」の記事で詳しく説明します。

  • ファイルをインクルードするとネストが可能になります。つまり、インクルードされたファイルに別のファイルをインクルードできることになります。

関連する推奨事項: 「C ビデオ チュートリアル

以上がC言語自体に入力文と出力文はありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。