C言語学習シリーズ:インプット&アウトプット

入力は、すなわちデータプログラムをパディング。

出力画面上で、表示データファイルやプリンタ。

標準のファイル

Cファイルとしてすべてのデバイスに、言語、そしてこれは、Linuxに似ています。

次の3つのファイルは、プログラムがアクセスするために、キーボードと画面を(ファイルポインタがファイルにアクセスする方法です)が実行されたときに自動的に開きます。

標準のファイル ファイルポインタ 設備
標準入力 STDIN キーボード
標準出力 STDOUT 画面
標準エラー 標準エラー出力 あなたの画面

scanf()&のprintf()関数

scanf()

int scanf(const char * restrict format,...);

関数のscanf()コンテンツを読み取り、フォーマット記述は、変数に格納された複数の文字、および標準入力ストリームSTDINから対応するアドレスを読み出します。 

最初のパラメータは、の関数である書式文字列入力のフォーマットを指定し、フォーマット指定解析入力と対応する可変パラメータリスト(最初のパラメータを除くすべてのパラメータ)に対応する位置に格納されていますポインタ位置。順次各非ヌル・ポインタを主張し、11文字列フォーマッタに対応します。

scanf関数は、項目正常に読み込ま数(返しますが、アスタリスク修飾子と未割り当て領域に読み込まがカウントされていないデータが読み込まれたときに「ファイルの終わり」またはエラーが発生したEOF(EOFが返され遭遇します)値は-1、ビット単位〜(-1補数1あたりである)を使用して)0です。

彼は加えました:

、番号を表す残りのビットのサイズ:元のコードは、最上位ビットは符号ビットは、ビット数であるNビットが負の数、ビット値の残りのビット、(+0と-0 0は2つの表現を有する)であり、0であります

補体は、そのバイナリ表現は、元のコードと同じ正の整数です。符号のビット反転と1以外のすべてのビットに元のコードである負の整数を補完。0点の補数表現があるユニークな、そしてそれぞれが0です。

フォーマットの説明:

1.  *

読み取りデータは破棄されます表します。* Formatコマンドは、パラメータリスト内のすべてのデータの変数に対応していません。

2.フィールド幅

これは、非ゼロの10進数の形式で表示されます。これは、読み取り命令フォーマットの文字の最大数を表します。

3.書式指定子

Cの文字列は、文字の広視野指定された数を読み込み、それが省略された場合、単一の文字の幅が読み込まれ、(以下、ヌルバイトを追加していません)。%Cは%1cにまたは単一の文字を読んで、%2cは、2つの文字を読み込み(後でバイトヌルを追加していない)、そしてそうで。

sが文字のシーケンスを読んで、後から追加されるヌル・バイトは、読み取りを完了するために、空白文字(\トン\ rを\ n個のスペースなど)を検出しました。

Dは、必要に応じて署名された読み取り進整数(必要に応じてシンボルで署名された符号は、負でないとみなされることなく、入力が、符号無しであってもよい表します)。

uがシンボル符号なし10進整数を読み込みます。

私は、任意の符号付き整数を読み出します。

、E、F、G、A、E、F、Gは、必要に応じて署名された浮動小数点数を読み出します。

Oオプションは、署名進整数を読み込みます。

X、Xは、任意の符号付き進整数を読み込みます。

リードポインタ値p。

nは任意の文字を読んで、しかしの位置にない文字の数読み取る *それに対応する位置尖ったINTに記憶されています。

%%シンボルが読み込まれます。

[]文字セットは文字の配列にスキャン読み出し一致します。()リード文字と文字割り当ての対応する配列を可能にするのscanf、文字の定義されたセットの組をスキャンしてもよいです。スキャンコレクションは、角括弧内の文字の文字列で定義されている、フロント左ブラケットは、パーセント記号で飾られている必要があります。例えば、%[ABC]のために、%[AZ]は、文字^補体によって記述することができます。セット、scanfの()をスキャンする場合、それはしないセット(文字は読み取り専用即ち、現在のスキャンのマッチ)で文字を見つけるまで継続的に、文字列に対応する文字のセットに食べて配置。戻り値は、配列に配置されたヌルの終わりに、文字の文字列を読み取ります。

4.長さ修飾子

HHおよびD、I、O、U、X、X、またはN signed char型を使用して対応するまたはunsigned charデータを示しています。

短いINTを用いてHおよびD、I、O、U、X、X、またはNは、対応するまたはunsigned short int型のデータを示します。

L及びD、I、O、U、X、X、またはN long int型を用いて対応するまたはunsigned long int型データを示し;そして、A、E、E、F、F、G、またはGと二重の対応関係を表すデータと、C、S、[対応のwchar_tを表すデータを使用しました。

LLおよびD、I、O、U、X、X、またはN長いlong int型を用いて対応するまたはunsigned long longのintデータを示します。

jおよびD、I、O、U、X、X、またはN intmax_t型を使用して、対応するまたはuintmax_tデータを示します。

データを対応size_tの指名(又はデータ符号付き整数対応size_t型)を用いて、zおよびD、I、O、U、X、X、またはN。

及びt D、I、O、U、X、X、またはN ptrdiff_tのに指名の使用データを、対応する(または符号なし整数ptrdiff_tの対応する)を有します。

およびL A、A、E、E、F、F、G、またはGデータを対応する長い二指名を用いました。

printf()

int printf(const char *format, ...);

関数は、整数値を返します。成功した場合、それは文字出力の数を返し、出力誤差が負のリターンです。

コールフォーム:のprintf( "<フォーマット文字列>"、<引数リスト>);

「%」で、他方は所定の文字フォーマットであり、1つ以上の所定の文字が続く、コンテンツの出力フォーマットを決定するために使用され、通常の文字の一部として出力されます:フォーマット文字列は二つの部分を含み。パラメータテーブルは、番号、文字列をフォーマットしなければならないこと、出力パラメータの数だけ、一連のパラメータを出力することが要求される分離し、一対一のオーダー「」間の各パラメータを用いて、説明。

指定子

%D進符号付き整数

符号なし10進整数%U

%Fフロート

%Sの文字列

%C単一の文字

ポインタ(アドレス)の%のP値

浮動小数点指数の%e

%X%Xの符号なし整数進数で表現さ

%Oの符号なし整数で進表現

%F%Eに従って小さな長さの出力値、または出力モード型から%G出力

%P出力アドレス文字

%呂32ビット符号なし整数

%LLU 64ビット符号なし整数

1)最大のデジタル表現は、「%」の広視野と文字の間に挿入されてもよいです。長さフィールド、ビット整数または文字列の幅が超えた場合、その実際の長さの出力を記載浮動小数点、記載よりビットの整数のビット幅なら部整数、実際の出力ビットの整数である; 図のビット幅よりも小数の桁の小数部分場合、プレスの幅は、丸みを帯びた出力に示します。文字出力フォーマットを表す浮動小数点または整数の量は、場合小数点の後の数字は小数点数の前に、最大幅を表す最小幅を表します。

2)nは改行\ F画面とページをクリア\ rキャリッジリターン\ Tタブ文字

3)左の出力を制御または右整列、即ち、「%」と文字の間に追加することができる「 - 」記号は、出力が正当化、または右左寄せを示してもよいです。

4)「%」小文字Lと添加することができ、文字が出力の数が長い示します。

getchar関数()&のputchar()関数

getchar関数()

int getchar(void);

GETCHARマクロによって達成:の#define GETCHAR()GETC(STDIN) 関数がで宣言され  stdio.hに 使用されるヘッダファイルは、stdio.hのヘッダーファイルを含むようにします。

GETCHARはint型の戻り値を持っています。GETCHAR関数は、ファイルの終わりが返された場合(EOF)-1、ユーザによる文字入力のASC​​II値を返し、画面へのユーザバックによる文字入力。

プログラムはGETCHAR、ユーザーキーのためのプログラムの待機を呼び出すとき。ユーザによって入力された文字は、キーボードバッファに格納されています。ユーザーの入力し、Enterキーを押しますまで

Enterキーを押すと、GETCHARは、標準入力ストリームから文字ごとに読み始めました。ユーザーが複数の文字にEnterを押す前に入力した場合は、他の文字は読みフォローアップGETCHAR呼び出しを待って、キーボードバッファ領域に残っています。言い換えれば、バッファ文字まで読んだ後、キーだけを待って、GETCHARへの後続の呼び出しは、キーを待たず、直接バッファ文字が読み。

putchar()

int putchar(int char);

単一引用符の文字(英語の状態は)文字、文字を出力する原因とする場合(1)(注:文字もエスケープ文字をすることができます)。

charが介在(0と127を含む)を0〜127の間の10進数である(2)それは、文字のASCIIコードに対応するASCIIコードに対応する文字を出力するとみなされます。

(3)場合には、以前に定義された文字列変数、出力文字変数ポイントとチャー中チャー。

()関数を(取得)&プット

取得()

(標準入力デバイス(キーボード)から改行までの文字列を読み取るために()関数を取得します\ N-を(我々はキャリッジリターンを入力してください)両端)、改行文字は破棄され、その後、末尾に「\ 0」文字を追加します。

char *gets(char *str);

前記STR文字列変数(または文字列配列名文字列のポインタ)

戻り値:

正常、同じパラメータ・バッファ・ポインタを返す読み取ります。

読むにはEOFが発生したか、エラーが発生し、NULLポインタを返します。だから、場合にエラーがEOFを発生または発生したNULL、使用ferror関数やFEOF機能をチェックしている戻り値を満たしました。

(複数可)を取得し、関数のscanf(「%s」は、S、 ) scanf関数を使用することは、同一のではなく、同様の(「%s」は、S、 )という問題と、入力文字列関数は、存在し、スペースとなり、入力文字列場合、次のエントリとして処理後の空白文字を終了するが、それは停止動作の変更を検出するまで取得する()関数は、入力文字列全体を受け取ります。

プット()

標準出力装置に出力文字列、「\ 0」キャリッジリターンへ:プット()関数は、標準出力デバイス(画面)およびライン出力ストリング、特にために使用されます。

int puts(const char *str);

前記STR文字列変数(または名前の文字列のポインタ文字列配列)。

端末への出力文字列、puts関数は、出力文字列は、転送を含むことができます。

アクションプット(S)と文のprintf(「%s」は、秒の効果 ) 実質的に同じで、プット()機能することができるだけ出力ストリング、出力値か否かをフォーマット変換。プット()関数が出力文字列に自動的に出力Aキャリッジリターン

公開された161元の記事 ウォン称賛90 ビュー50000 +

おすすめ

転載: blog.csdn.net/qq_42415326/article/details/104027452