Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C・C++のループ処理を徹底解説!for文とwhile文の使い方

本記事では、C言語およびC++における「ループ(繰り返し処理)」の基本について、サンプルコードを交えながらわかりやすく解説します。

ループとは?

プログラミングにおけるループとは、特定のブロック内のコードを何度も繰り返し実行するための仕組みです。同じコード行を何回も書き並べる代わりに、ループを使えば短く効率的なコードが実現できます。

これは「DRY(Don't Repeat Yourself:同じことを繰り返すな)」と呼ばれるプログラミングの重要な原則にも沿った書き方であり、コードの可読性や保守性の向上にもつながります。

C・C++でよく使われる代表的なループには、for文while文があります。それぞれの特徴を見ていきましょう。

for文の例

for文は、「初期化」「条件式」「更新処理」を1行にまとめて記述できるのが特徴です。繰り返す回数があらかじめ決まっている場合に特に便利です。

#include <iostream>
using namespace std;
int main(){
    for (int i = 1; i <= 10; i++){
        cout << "Hello World\n";
    }
    return 0;
}

実行結果

Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World

この例では、変数 i を1から10まで増やしながら条件 i <= 10 を判定し、条件が満たされている間「Hello World」を出力しています。そのため、合計10回の繰り返しが行われます。

while文の例

while文は、条件式だけを先頭に記述するシンプルな構造です。繰り返し回数が事前に不明な場合や、条件によって柔軟に制御したい場合に適しています。

#include <iostream>
using namespace std;
int main(){
    int i = 1;
    while (i < 6){
        cout << "Hello World\n";
        i++;
    }
    return 0;
}

実行結果

Hello World
Hello World
Hello World
Hello World
Hello World

この例では、変数 i をループの外で初期化し、条件 i < 6 が真である間、出力とカウントアップ(i++)を繰り返します。i が6になると条件が偽となり、ループを抜けます。

まとめ

  • for文: 繰り返し回数が決まっている処理に最適。初期化・条件・更新を1行で管理できる。
  • while文: 繰り返し回数が不定の処理に向く。条件が真である限り処理を続ける。

どちらのループも、条件の設定を誤ると無限ループに陥る可能性があるため、更新処理や終了条件には十分注意しましょう。用途に応じてfor文とwhile文を使い分けることで、より読みやすく効率的なC・C++プログラムを書けるようになります。

  1. JavaScript入門:Hello Worldプログラムの作り方【ターミナル・エディタ両対応】

    Node.jsの環境が正しく動作しているかを確認するために、最初に書くことが多いのが「Hello World」プログラムです。作成方法は主に2つあります。ターミナル(コマンドライン)で直接実行する方法と、Visual Studio CodeやVimなどのコードエディタを使う方法です。始める前に、お使いのマシンにNode.jsがインストールされていることを確認してください。 方法1:ターミナルで実行する 1. ターミナルで node と入力して、Node.jsの対話モード(REPL)を起動します。 2. インタプリタに console.log(Hello World) と入力し、Ent

  2. C++とC#におけるforeachループの使い方を徹底解説

    コレクションや配列の各要素を順番に処理したい場合、foreachループは非常に便利な構文です。従来のforループではインデックスの管理が必要でしたが、foreachを使えば要素そのものを直接取り出して処理できるため、コードがシンプルになり、バグも減らせます。この記事では、C++とC#それぞれにおけるforeachの書き方と実行例をわかりやすく解説します。 C++におけるforeach(範囲ベースforループ) C++には厳密には「foreach」という名前のキーワードは存在しませんが、C++11で導入された範囲ベースforループ(range-based for loop)が同等の機能を提供し