第12講 for文以外の様々なループ文の学習

第5話 while文から強制的に抜ける=強制的に終了させる
while文から強制的に抜けるには
  while(条件文){
      ・
      ・
    if(条件文)breke;
  }
とします。
break;
は、while文を強制的に抜けるときだけでなく、
for文を抜けるとき、
関数を抜ける=社員の仕事を強制的にやめさせる、
等にも使えます。

breakを使うプログラム例
#include<stdio.h>
int main(){
  int w,i;
  w=0;
  i=1;
  while(i<100){
    w+=i;
    i++;
    if(i==11)break;
  }
  printf("1+2+3+4+5+6+7+8+9+10=%d\n",w);
  printf("プロジェクト終了\n");
  return(0);
}
breakを使いwhile文を強制的に抜けるプログラム

while文は次のような使い方もあります。
#include<stdio.h>
int main(){
  int w,i;
  w=0;
  i=1;
  while(1){
    w+=i;
    i++;
    if(i==11)break;
  }
  printf("1+2+3+4+5+6+7+8+9+10=%d\n",w);
  printf("プロジェクト終了\n");
  return(0);
}
while文の条件文を1にするプログラム

皆さん????ですよね。
while(条件文)の()の中は条件式のはずなのに、
今回は1となっています。
条件とは、10に等しいければ、や10未満なら、
と必ず比較があるはずです。
1では何とも比較していません。
ですが、結果は
1+2+3+4+5+6+7+8+9+10=55
プロジェクト終了

と正しくでています。
不思議ですよね。
でも、if文などについても、
  if(f(w)){
    printf("1から%dまでの合計は100未満です。\n",w);
  }
  else{
    printf("1から%dまでの合計は100以上です。\n",w);
  }
のような使い方もあります。
f(w)は、1からwまでの合計を調べ、
合計が100未満なら1を、
合計が100以上なら0を、
返してくる社員です。
ということは、
f(w)が1ならif文の肯定側が実行され、
1からwまでの合計は100未満です。
と表示され、
f(w)が0ならif文の否定側が実行され、
1からwまでの合計は100以上です。
と表示されるということです。

これはどういうことでしょうか。





第4話へ 第6話へ

a


初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門

数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座

初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ