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!」と表示してプログラムを終了します。
コメント