【C言語】キーボードから文字や数字を入力する方法

この記事では、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のアドレスを渡しています。

getchar関数scanf関数の違いは、getchar関数は改行文字を含む1文字を読み込み、scanf関数は改行文字を読み込まずに読み込む点です。

数字の入力方法

プログラミングにおいて、キーボードから数字を入力する方法はさまざまあります。

ここでは、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言語での数字の入力方法についての解説です。

これらの方法を使って、キーボードから数字を入力し、プログラムで利用することができます。

1 2

この記事のページ一覧
  1. 現在のページ
目次から探す