C言語の基礎
前へ 目次へ 次へ 

(4) while文

WHILE
while(条件式または式)
  文

 "while"の条件式または式が真の間、文が繰り返し実行される。
 条件式または式は( )で囲む。
 まず、条件が判定されるので、文が1度も実行されないこともある。
 条件式には、if文と同様に等号、不等号による判定と、計算結果を利用した判定(計算結果が0なら偽、それ以外が真)ができる。さらに論理演算子(&&,||)による条件の組み合わせもできる。


1から100までの和を求めるプログラム

BASIC C言語
X=0
I=1
WHILE I<=100
    X=X+I
    I=I+1
WEND
PRINT USING "WA=#####";X
END
/* sample11.c */
#include <stdio.h>
int main(void)
{
    int x = 0, i = 1;
    while(i <= 100){
        x = x + i;
        ++i;
    }
    printf("wa=%d\n",x);
}
 条件は、変数iが100以下の時、と設定する。(変数iが100以下である間、繰り返し実行する)


1から100までの偶数と奇数の和を求めるプログラム

BASIC C言語
GU=0
KI=0
I=1
WHILE I<100
    KI=KI+I
    GU=GU+I+1
    I=I+2
WEND
PRINT USING "GUUSUU=####";GU 
PRINT USING "KISUU=####";KI
END
/* sample12.c */
#include <stdio.h>
int main(void)
{
    int gu = 0, ki = 0;
    int i = 1;
    while(i < 100){
        ki = ki + i;
        gu = gu + i + 1;
        i += 2;
    }
    printf("guusuu=%d\n",gu);
    printf("kisuu=%d\n",ki);
}


入力したデータの2倍を計算して表示することを繰り返し行うプログラム
 0を入力すると終了する。

BASIC C言語
DO
    INPUT "DATA=",A
    IF A=0 THEN
        EXIT DO
    END IF
    B=2*A
    PRINT USING "ANS=#####";B
LOOP
END
/* sample13.c */
#include <stdio.h>
int main(void)
{
    int a, b;
    while(1){
        printf("data=");
        scanf("%d",&a);
        if(a == 0)
            break;
        b = 2 * a;
        printf("ans=%d\n",b);
    }
}
 "while(1)"のように条件に0以外の定数を書くことで、永久ループができる。よく使われる手法であるから覚えておこう。


(5) do文

DO-WHILE
do
  文
while(条件式または式);

 "while"の条件式または式が真の間、文が繰り返し実行される。
 条件式または式は( )で囲む。
 文が実行された後に条件が判定されるので、文は必ず1度は実行される。
 Quick BASICのように、whileの直前にLOOPは不要である。また、UNTILはない。
 条件式には、if文と同様に等号、不等号による判定と、計算結果を利用した判定(計算結果が0なら偽、それ以外が真)ができる。さらに論理演算子(&&, ||)による条件の組み合わせもできる。


1から100までの和を求めるプログラム

BASIC C言語
X=0
I=1
DO
    X=X+I
    I=I+1
LOOP WHILE I<=100
PRINT USING "WA=#####";X
END
/* sample14.c */
#include <stdio.h>
int main(void)
{
    int x = 0, i = 1;
    do{
        x = x + i;
        ++i;
    }while(i <= 100);
    printf("wa=%d\n",x);
}
 条件は、変数iが100以下の時、と設定する。(変数iが100以下である間、繰り返し実行する)


1から100までの偶数と奇数の和を求めるプログラム

BASIC C言語
GU=0
KI=0
I=1
DO
    KI=KI+I
    GU=GU+I+1
    I=I+2
LOOP WHILE I<100
PRINT USING "GUUSUU=####";GU 
PRINT USING "KISUU=####";KI
END
/* sample15.c */
#include <stdio.h>
int main(void)
{
    int gu = 0, ki = 0;
    int i = 1;
    do{
        ki = ki + i;
        gu = gu + i + 1;
        i += 2;
    }while(i < 100);
    printf("guusuu=%d\n",gu);
    printf("kisuu=%d\n",ki);
}


(6) break文

 for文、while文やdo文のループ内からの脱出に使う。
 Quick BASICではそれぞれEXIT FOR, EXIT WHILE, EXIT DOを使ったが、C言語ではすべてbreakを使う。


(7) continue文

 for文、while文やdo文のループ内でcontinue文以降の処理を飛ばして、次の繰り返しを実行する。

 条件2が真でなければ(偽のあいだ)、文1と文2が繰り返し実行される。

 条件2が真になれば、文1だけが実行され文2は実行されない。



(8) return文

 呼ばれた関数から呼び出した関数に戻るときに使う。 return文には、次の2つの書式がある。 

FUNCTION 
@ return;
A return 式;

 void型の関数にAのreturn文があってはいけない。



(9) goto文

 goto文による飛び先は、ラベルで示す。何重かのループから脱出する場合などに使う。


GOTO


GOTOGOTO


前へ 目次へ 次へ 
Copyright © 2001-2003 Hiroshi Masuda 

 

 

inserted by FC2 system