C言語を学ぶ

【Part10】時間の制御を使えるようになる

この記事は約2分で読めます。

C言語でプログラムを作成するとき、一定時間処理を停止したい場合があります。例えば、ユーザーからの入力を待つときや、ループ処理の間隔を調整するときなどです。この記事では、C言語で一定時間処理を停止する方法について、記述方法、プログラム例、演習課題の順に述べていきます。

記述方法

C言語で一定時間処理を停止するには、time.hというヘッダーファイルをインクルードして、sleep関数やusleep関数を使います。sleep関数は秒単位で、usleep関数はマイクロ秒単位で処理を停止します。以下のように記述します。

include // time.hをインクルードする
sleep(3); // 3秒間処理を停止する
usleep(500000); // 0.5秒間処理を停止する

プログラム例

以下は、C言語で一定時間処理を停止する方法を使ったプログラムの例です。このプログラムは、1から10までの数字を1秒ごとに表示します。

#include<stdio.h>
#include<time.h>
int main(void) {
  int i; // カウンタ変数
  for (i = 1; i <= 10; i++) { // 1から10まで繰り返す
    printf("%d\n", i); // 数字を表示する
    sleep(1); // 1秒間処理を停止する
  }
  return 0; // プログラムを終了する
}

演習課題

以下の演習課題に挑戦してみましょう。

  • C言語で一定時間処理を停止する方法を使って、モールス信号のように点滅するプログラムを作成してください。点は0.2秒間、線は0.6秒間、文字間は0.8秒間、単語間は1.6秒間の長さとします。例えば、「SOS」という単語は「… — …」と表されます。
  • C言語で一定時間処理を停止する方法を使って、カウントダウンタイマーのプログラムを作成してください。ユーザーから秒数を入力させて、その秒数から0まで1秒ごとに表示します。0になったら「Time’s up!」と表示してプログラムを終了します。

コメント

タイトルとURLをコピーしました