うぐぅ

BOSSの缶コーヒーって、他と比べて甘いよね。
まぁ、私は平気ですがな。
その代わり、ブラックは現時点で私には苦くて飲めませぬ。
砂糖なしでもクリーム入れなきゃ飲めない-p;
まぁ、いつかは飲めるようになるんでしょうけど。
そんで、昨日は疲れ果てて夜12時くらいにくたばりましたorz

スポンサードリンク

今日もそのぐらいにくたばりそうです。
帰りが遅かったし。
今日の授業でやったC言語プログラミングの一部。
※C言語のソースです
#include <stdio.h>
const int MAXNUM = 500 ;
void main()
{
  int Data[ MAXNUM ];
  int index ;
  int LastNum ;
  while(1)
  {
   printf("処理する配列の最大値は?");
   scanf("%d", &LastNum );
   if(LastNum == 0)   break ;
   if(LastNum > MAXNUM) break ;
   for( index = 0 ; index < LastNum ; index++ )
   {
    Data[ index ] = index * 2 ;
   }
   printf( "nn" );
   index = 0 ;
   while( index  < LastNum )
   {
    printf( "  配列の %2d番目の要素は %d ですn" , index  , Data[ index ] );
    index++ ;
   }
  }
  printf("n値が異常なので終了します。n") ;
}
これは配列を使ったプログラムです。
実行結果は
配列
こんな感じになります。
プログラミング勉強している同士の方とか、ソフトウェア開発者ならソースからどんなプログラムかを読み取ることができるはず。
何をしているのかといいますと、処理する配列の最大値をユーザーに入力させ、その最大値までの値を計算するもの。
図の例で言いますと、まず入力された最大値は7です。
すると、0から6までのかずに2を掛けて、その結果を表示しています。
つまり、こういうこと

7が入力された
   ↓
0×2、1×2、2×2、3×2・・・6×2と計算
   ↓
その結果を表示

ご理解していただけたでしょうか?
ただし、500以上の数を入れるとこのプログラムは終了します。
なぜなら、
if(LastNum > MAXNUM)   break ;
という記述があるから。
MAXNUMというのは、定数というもので、任意の英文字を決め、その中に数値を代入するというもの。
これを使うことにより、いちいち数値を入力するものが、この文字1つを入力することで手間を省くことができます。
ほら、あっちこっちにこれと同じ数値があってさ、その数値全部変えるとなると、いちいち数値の場所を探すのは非常に面倒だと思いません?
これ使えば、最初に定義した定数に代入した数字を変えるだけで済むのです。
一方、LastNumというのは変数というもので、最初の方にあるint LastNum ;の部分です。
変数というのは、いわゆる数値を格納するメモリです。
PC初心者向けに言えば数値を入れる箱。
これをプログラム内で使いまわすことになります。
詳しく話すと長くなるんで省略します。

if(LastNum > MAXNUM)というのは条件式。
ifというのは、もし~ならばというもの。
この場合は、もしLastNumがMAXNUMより大きいならばということになりますね。
そんで、最後にbreakというのがあります。
これは、ループを脱出しろという命令。
このプログラムは、入力された最大値に達するまで計算を続けます。
そんでもって、このプログラムにはwhile(1)という記述があります。
Whileというのは、繰り返し命令のことで、(1)というのは無限に繰り返せという意味なのです。
つまり、何の対策もしないでこのプログラムを書くと、このプログラムは永遠に計算し続けてしまいます

そのために、
while( index < LastNum )
{
 printf( " 配列の %2d番目の要素は %d ですn" , index , Data[ index ] );
 index++ ;
}
もうひとつ、このような繰り返し文があるのです。

これは、indexがLastNumより小さければ、値を出力して、indexに1を足せというものです。
indexがLastNumより大きくなればそこでストップというわけ。
本題のbreakについてですが、さっき記述した文だと、もしLastNumがMAXNUMを超えたらならプログラムを終了しろということになります。
MAXNUMで定義した数値は500。
500を超えた数値が入力されたら、そこで終了ってわけ。
つまり、このプログラムの最大値の上限は500ということになりますね。

if(LastNum == 0)   break ;
という記述がありますが、これはもしLastNumが0と等しければ終了しろという命令。
要するに、0は入力しちゃ駄目よというこですね。
そりゃそうだよね。0から始まるから0なんて入力する必要ないしね。
ちなみに、breakされたら何処に行くのかというと
  }
  printf("n値が異常なので終了します。n") ;
}
この部分に行き着く。
つまり、printf文で記述された文字が表示されて終了というわけ。
ちなみに、printfは画面に何かを出力する命令。
nというのは改行命令。
ちなみに、nのような命令をエスケープシーケンスと言います。
詳しい解説は省略します。

このプログラムでやってることは大体こんな感じ。
細かいとこまで説明すると長くなるんで、説明はしませんでした。
プログラムがよーわからん人にも理解できるように書いてみましたが、如何でしょうか。
まぁ、同士の方やもうマスターした人にとっては、あくびが出てしまうような話ですが(´・ω・)
あ、ちなみに、なんで7が0~6なのかと言いますと、実はC言語と言うのは1から数が始まるのではなく、0から始まるのです。
つまり、7だったら、0から数えて、0123456と7個数が並ぶので、6が7番目の数ということになります。
1から数えた数で計算させたいときは要注意です。
0から始まってるので、1を足せば済むことですがw

ちなみに、このプログラムは500より大きい数又は、0が入力されるか、×ボタンで閉じるかしないとプログラムは終了しませんw
0以上500以下の数が入力されると、その値の計算結果を表示して、またユーザーに数値を入力させるというのを繰り返しているので。
ふぅ、何だか長文になってしまった。
最後まで読んでくださった方はありがとうございますm(_ _)m
そんじゃ、今日はここまで~。

※¥が\(バックスラッシュ)になってますが、これは海外フォントゆえにこうなってしまいます。
意味は一緒なのでご了承ください。

スポンサードリンク
Pocket

Comments are closed.