今回は、C言語で1~100までの素数を表示するプログラムを作ります。
サンプルコードも載っているので、初心者の方でも簡単に理解することができます。
今回の記事では「変数」の知識があれば理解できるようになっています。
では、Let’s Go!
1.今回のコードに必要な知識
まず、全体のコードを表示していきます。
#include <stdio.h>
int main(void)
{
int i, j;
/* 判定用の変数 */
bool judge;
/* 素数かどうかを判定する */
for (i = 2;i <= 100;i++) {
judge = true;
for (j = 2;j < i;j++) {
if (i % j == 0) {
judge = false;
break;
}
}
/* 判定結果を出力 */
if (judge)
printf("%d ", i);
}
return 0;
}
では、コードについて詳しい解説をしていきます。
1-1. for文(繰り返し処理)
まずfor文の解説です。for文とは繰り返し処理で一回ごとに結果を変えて繰り返すことができます。
#include <stdio.h>
int main(void)
{
int i;
for(i=0;i<5;i++)
{
printf("%d",i);
}
}
for文の部分だけ拡大します。
#include <stdio.h>
int main(void)
{
int i;
for(i=0;i<5;i++)
{
printf("%d",i);
}
}
まず、for文内の「i=0;」でiを初期化しています。次に「i<5;」でiが5以下の場合という条件を追加します。最後の「i++」でiを増やしています。
iの数値が5以上になるまで、{}内の処理を繰り返します。
ちなみに実行結果はこちらです。
ちゃんと、0以上5未満の数が表示されています。以上でfor文の解説を終わります。
1-2. if文(制御文)
次に、if文の解説に移ります。if文では値が条件に合うのか真偽判定します。
int main(void)
{
int num = 3; //numの定義
if (num == 3) //判定
{
printf("%d",num);
}
}
if文の部分だけ拡大します。
int num = 3; //numの定義
if (num == 3) //判定
{
printf("OK");
}
if文では()内の条件が正しければ{}内の処理を実行し、間違っていれば飛ばして、次の処理に行きます。
上のテストコードの場合は、()内の「num == 3」の等式は正しいので{}内の処理が実行され、OKが出力されます。
実行するとこのようになります。
しっかり、OKが出力されています。以上でif文の解説を終わります。これで、今回のプログラムに使う処理の解説は終わりです。
全体のコードの処理を追って考えて見て下さい。
2.全体コード
最後にもう一度、全体コードを載せておきます。
#include <stdio.h>
int main(void)
{
int i, j;
/* 判定用の変数 */
bool judge;
/* 素数かどうかを判定する */
for (i = 2;i <= 100;i++) {
judge = true;
for (j = 2;j < i;j++) {
if (i % j == 0) {
judge = false;
break;
}
}
/* 判定結果を出力 */
if (judge) //変数judgeがtrueなら(素数なら)出力
printf("%d ", i);
}
return 0;
}
実行結果はこちらです。
3.まとめ
今回は、1~100までの素数を表示するプログラムを作りました。もし、ちょっと難しいなーと感じたら、自分で作ってみて下さい。作っているうちにコードの意味が分かってくるはずです。
最後まで読んで頂きありがとうございました。興味がある方は、他の記事も読んで見て下さい。
コメント