ユーザー入力を待つ:C言語

Wait User Input C Language



Cプログラミング言語には、いくつかの入力関数があります。これらの機能を使用して、ユーザー入力を待つことができます。このチュートリアルでは、入力関数について詳しく説明します。

フォーマット文字列

フォーマット文字列は、入力されたデータのフォーマットです。この形式は%記号で始まり、その後に形式指定子が続きます。フォーマット指定子は、読み取られるデータのタイプに使用される特定の文字です。







arg1、arg2、arg3…は、入力されたデータが格納される変数のアドレスです。



scanf()関数

構文: int scanf(フォーマット文字列、arg1、arg2、arg3…)



頻繁に使用される指定子のいくつかは次のとおりです。





  • NS –整数値に使用されます。
  • NS –浮動小数点数に使用されます。
  • NS –単一文字値に使用されます。
  • NS –文字列に使用されます。

シングルを使用する scanf() 機能では、1つまたは複数の入力をユーザーから取得できます。

NS scanf() 関数は、標準入力(キーボード)から入力を受け取り、その値を変数に格納します。この関数は、ユーザーがEnterキーを押すまでユーザー入力を待ちます。入力した値はバッファに保存されています。エンターキーを押しているときは、 scanf() 関数が読み取りを開始します。



例1: 整数入力

//Example1.c
#含む

int主要(()。{{

int;
printf (('最初の整数値を入力してください:')。;
scanf (('%NS'、&)。;
printf (('入力しました:%dNS')。;

printf (('2番目の整数値を入力してください:')。;
scanf (('%NS'、&)。;
printf (('入力しました:%dNS')。;

戻る 0;
}

Example1.cでは、整数値を入力してEnterキーを押すとわかりました。 NS scanf() 関数は値を受け取り、それを変数に格納します。スペースで区切られた値を入力すると、スペースが検出されると関数は戻りますが、スペースの後の値は入力バッファーに残ります。だから2番目 scanf() 関数はユーザー入力を待機せず、代わりにバッファーから入力を受け取ります。

例2:単一文字入力

//Example2.c
#含む

int主要(()。{{

charNS;
printf (('文字を入力してください:')。;
scanf (('% NS'、&NS)。;
printf (('入力しました:%cNS'NS)。;

戻る 0;
}

Example2.cでは、 % NS 指定子、 scanf() 複数の文字を入力した場合でも、関数は1文字しか取りません。

例3:単一文字入力(複数回)

//Example3.c
#含む

int主要(()。{{

charNS;
printf (('最初の文字を入力してください:')。;
scanf (('% NS'、&NS)。;
printf (('入力しました:%cNS'NS)。;

printf (('2番目の文字を入力してください:')。;
scanf (('% NS'、&NS)。;
printf (('入力しました:%cNS'NS)。;

戻る 0;
}

例4

//Example4.c
#含む

int主要(()。{{

charNS;
printf (('最初の文字を入力してください:')。;
scanf (('% NS'、&NS)。;
printf (('入力しました:%cNS'NS)。;

printf (('2番目の文字を入力してください:')。;
scanf (('% NS'、&NS)。;
printf (('入力しました:%cNS'NS)。;

戻る 0;
}

例5:文字列入力

//Example5.c
#含む

int主要(()。{{

char名前[15];
printf (('あなたの名前を入力してください: ')。;
scanf (('%NS'名前)。;
printf (('入力しました:%sNS'名前)。;

戻る 0;
}

getc()関数

構文: int getc(FILE * stream)

getc() 関数は、FILEポインタ(ストリーム)から文字を読み取るために使用されます。キーボードから読み取るには、を使用する必要があります stdin 。この関数は、読み取り文字の整数値を返します。

例6:

//Example6.c
#含む

int主要(()。{{

charNS;
printf (('最初の文字を入力してください:')。;
その間((((NS= getc ((stdin)。)。=='NS')。;
printf (('入力しました:%cNS'NS)。;

その間(( getc ((stdin)。!='NS')。;

printf (('2番目の文字を入力してください:')。;
その間((((NS= getc ((stdin)。)。=='NS')。;
printf (('入力しました:%cNS'NS)。;

戻る 0;
}

getchar()関数

構文: int getchar(void)

getchar() 機能はと同じです getc() 。唯一の違いは getc() 関数は任意の入力ストリームから読み取ることができますが、 getchar() 関数は標準入力からのみ読み取ります。

例7:

//Example7.c
#含む

int主要(()。{{

charNS;
printf (('最初の文字を入力してください:')。;
その間((((NS= getchar (()。)。=='NS')。;
printf (('入力しました:%cNS'NS)。;

その間(( getchar (()。!='NS')。;

printf (('2番目の文字を入力してください:')。;
その間((((NS= getchar (()。)。=='NS')。;
printf (('入力しました:%cNS'NS)。;

戻る 0;
}

結論

この記事では、入力関数がC言語でどのように使用されるかを見てきました。これらの関数はすべて入力バッファーから入力され、これらの関数を複数回使用する場合は、バッファーをクリアする必要があります。それ以外の場合、関数はユーザー入力を待機せず、バッファーから入力を取得します。