この記事では、C言語プログラミングにおいてキーボードから文字や数字を入力する方法について解説します。
具体的には、getchar関数
とscanf関数
を使った文字の入力方法、scanf関数
を使った整数と浮動小数点数の入力方法、さらにはatoi関数
を使った文字列から整数への変換方法について説明します。
また、入力のエラーハンドリングについても見ていきましょう。
文字の入力方法
プログラムでキーボードから文字を入力する方法には、主にgetchar関数
とscanf関数
の2つがあります。
それぞれの使い方について説明します。
getchar関数を使った文字の入力
getchar関数
は、1文字ずつキーボードから文字を読み込むための関数です。
以下のように使います。
#include <stdio.h>
int main() {
char c;
printf("文字を入力してください: ");
c = getchar();
printf("入力された文字は %c です。\n", c);
return 0;
}
上記のプログラムでは、getchar関数
を使ってキーボードから1文字を読み込み、変数c
に格納しています。
その後、入力された文字を表示するためにprintf関数
を使っています。
scanf関数を使った文字の入力
scanf関数
は、フォーマット指定子を使ってキーボードから文字を読み込むための関数です。
以下のように使います。
#include <stdio.h>
int main() {
char c;
printf("文字を入力してください: ");
scanf("%c", &c);
printf("入力された文字は %c です。\n", c);
return 0;
}
上記のプログラムでは、scanf関数
を使ってキーボードから1文字を読み込み、変数c
に格納しています。
%c
はフォーマット指定子で、1文字を読み込むことを示しています。
また、&
演算子を使って変数c
のアドレスを渡しています。
数字の入力方法
プログラミングにおいて、キーボードから数字を入力する方法はさまざまあります。
ここでは、C言語での数字の入力方法について解説します。
scanf関数を使った整数の入力
scanf関数
は、標準入力から指定した書式に従ってデータを読み込むために使用されます。
整数を入力する場合は、%d
という書式指定子を使用します。
以下は、scanf関数
を使って整数を入力するサンプルコードです。
#include <stdio.h>
int main() {
int num;
printf("整数を入力してください: ");
scanf("%d", &num);
printf("入力された整数は %d です。\n", num);
return 0;
}
このコードでは、まず変数num
を宣言し、printf関数
を使ってユーザーに整数の入力を促します。
その後、scanf関数
を使って入力された整数を変数num
に格納します。
最後に、入力された整数を表示します。
scanf関数を使った浮動小数点数の入力
浮動小数点数を入力する場合も、scanf関数
を使用します。
浮動小数点数を入力するための書式指定子は、%f
です。
以下は、scanf関数
を使って浮動小数点数を入力するサンプルコードです。
#include <stdio.h>
int main() {
float num;
printf("浮動小数点数を入力してください: ");
scanf("%f", &num);
printf("入力された浮動小数点数は %f です。\n", num);
return 0;
}
このコードでは、変数num
を宣言し、printf関数
を使ってユーザーに浮動小数点数の入力を促します。
その後、scanf関数
を使って入力された浮動小数点数を変数num
に格納します。
最後に、入力された浮動小数点数を表示します。
atoi関数を使った文字列から整数への変換
C言語では、文字列を整数に変換するためにatoi関数
を使用することができます。
atoi関数
は、stdlib.hヘッダファイルに定義されています。
以下は、atoi関数
を使って文字列から整数への変換を行うサンプルコードです。
#include <stdio.h>
#include <stdlib.h>
int main() {
char str[10];
int num;
printf("文字列を入力してください: ");
scanf("%s", str);
num = atoi(str);
printf("文字列から変換された整数は %d です。\n", num);
return 0;
}
このコードでは、文字列を格納するための配列str
と整数を格納するための変数num
を宣言します。
printf関数
を使ってユーザーに文字列の入力を促します。
その後、scanf関数
を使って入力された文字列を配列str
に格納します。
そして、atoi関数
を使って文字列を整数に変換し、変数num
に代入します。
最後に、変換された整数を表示します。
以上が、C言語での数字の入力方法についての解説です。
これらの方法を使って、キーボードから数字を入力し、プログラムで利用することができます。