C言語の奇数ループ(オッドループ)とは?意味と使い方を解説
C言語では、一連の処理を繰り返し実行するために制御文(ループ文)を使用します。主な繰り返し構造は以下の3種類です。
- forループ
- whileループ
- do-whileループ
forループやwhileループでは、条件式によって「ループを何回繰り返すか」が決まります。
forループの例
for (k = 1; k<=5; k++)
この場合、変数kが5以下である限りループは繰り返され、kが5より大きくなった時点で制御がループの外へ抜けます。つまり、このforループの条件式は「ループが5回実行される」ことを指定しています。
サンプルプログラム
以下はforループを使用したC言語プログラムです。
main( ){
int k;
for (k = 1; k<=5; k++){
printf ("%d",k);
}
}実行結果
上記のプログラムを実行すると、次の出力が得られます。
1 2 3 4 5
whileループの例
while (k<=5)
こちらも同様に、kが5以下である間はループが継続し、kが5を超えるとループから抜けます。つまり、whileループの条件式も「ループの実行回数」を指定する役割を持っています。
サンプルプログラム
以下はwhileループを使用したC言語プログラムです。
main( ){
int k;
k = 1;
while (k<=5){
printf ("%d",k);
k++;
}
}実行結果
上記のプログラムを実行すると、次の出力が得られます。
1 2 3 4 5
奇数ループ(オッドループ)とは
通常のループでは実行回数があらかじめ決まっていますが、実行回数が事前に分からない場合もあります。このようなときに活用されるのが奇数ループ(オッドループ)という考え方です。奇数ループを使えば、ユーザーの入力などの条件に応じて、必要な回数だけ柔軟に繰り返し処理を行えます。forループ・whileループ・do-whileループのいずれでも実装可能です。
サンプルプログラム
以下は奇数ループを使用したC言語プログラムの例です。ユーザーが入力した数値の偶奇を判定し、「1」を入力すると繰り返し、「0」を入力するとループを終了します。
#include<stdio.h>
int main(){
int number;
number=1;
while(number==1) // 実行回数が不明な奇数ループ
{
printf("enter a number:\n");
scanf("%d",&number);
if((number%2)==0)
printf("number is even\n");
else
printf("number is odd\n");
printf("do you want to test any number\n");
printf("if yes then press '1'\n"); // 1を押すと再度ループ実行
printf("else press '0'\n"); // 0を押すとループ終了
scanf("%d",&number);
}
return 0;
}実行結果
上記のプログラムを実行すると、次のように動作します。
enter a number: 3 number is odd do you want to test any number if yes then press '1' else press '0' 1 enter a number: 4 number is even do you want to test any number if yes then press '1' else press '0' 1 enter a number: 9 number is odd do you want to test any number if yes then press '1' else press '0' 0
このように奇数ループを利用することで、実行回数が不定の処理でも、ユーザーの判断に応じて柔軟に繰り返し制御を行うことができます。
-
ネットワークのインターフェースとサービスとは?基本概念と種類をわかりやすく解説
ネットワークサービスとは 一般的にネットワークサービスとは、アプリケーション層以上で動作し、コンピュータネットワーク上で利用されるアプリケーションのことを指します。 ネットワークサービスは、データの保存(ストレージ)、操作(処理)、提示(プレゼンテーション)、通信といった機能を提供します。実装方式としては、クライアント・サーバ型アーキテクチャ、またはピアツーピア(P2P)型アーキテクチャが採用されます。 サービスインターフェースとは サービスインターフェースは、SOA(Service-Oriented Architecture:サービス指向アーキテクチャ)を実現するための仕組みです。これによ
-
C言語における静的メモリ割り当てとは?仕組みとサンプルコードで徹底解説
C言語でプログラムが使用するメモリは、大きく分けて「静的メモリ割り当て」と「動的メモリ割り当て」の2つの方法で確保されます。 静的メモリ割り当て(Static Memory Allocation)とは 静的メモリ割り当てとは、変数のサイズがプログラムの実行前に決定され、固定サイズの領域として割り当てられる方式です。一度確保されたメモリは、明示的に解放することはできません。プログラム内で宣言された変数に対して、あらかじめメモリが割り当てられます。 静的メモリ割り当ての主な特徴 アドレス演算子「&」を使って変数のアドレスを取得し、ポインタに代入することができます。 メモリはコンパイル時