breakとcontinue,C言語breakとcontinueの使い方と違い
1752 ワード
break文はとても重要で、とてもたくさん使って、初心者は必ずマスターしなければなりません.continue文はbreak文ほど使われていませんが、よく使われています.また、欠けてはいけません.continueを使う必要がある場合、他の文はかけがえのないものです.前にbreak文について説明しましたが、「ループ体」だけでなく、switchも飛び出します.しかし、実際にはbreakもこの2つの状況にしか使用できません.break文は、ループ文およびswitch文以外の文では使用できません.forサイクルでもwhileサイクルでもdo...whileサイクルでもbreakで飛び出すことができますが、breakは1つのサイクルしか飛び出せません.多層ループがネストされている場合、breakは「ラップ」の一番奥のループから飛び出すしかなく、一度にすべてのループから飛び出すことはできません.同様に、多層switchネストされたプログラムでは、breakも最も近いswitchから飛び出すしかありません.しかし、多層switchネストは珍しい.continueの使い方は非常に簡単で、今回のループを終了する役割を果たします.すなわち、ループ体の下にまだ実行されていない文をスキップし、次にループを実行するか否かの判定を行います.
continueとbreakの違い
continue文とbreak文の違いは、continue文がループ全体を終了するのではなく、今回のループのみを終了することです.break文はループプロセス全体を終了し,ループを実行する条件が成立するか否かを判断しない.また、continueはループ文でのみ使用できます.すなわち、for、while、do...whileでのみ使用できます.それ以外はcontinueはどの文でも使用できません.したがって、continueは、switchが循環体にない限り、switchでは使用できないことを改めて強調する.このときcontinueが示すのもループを終了する今回のループであり,switchとは関係ない.たとえば、switchを使用してエレベーターの動作をシミュレートするコードを次に示します.
出力結果は:行きたい階を入力してください:4この階は存在しません.3 3階が開いています.このときdefaultでcontinueを使用しないと、最後の「このレイヤは存在しません.再入力してください:」はまだ機能しません.出力できますが、出力後はそのまま後続のbreakを実行し、ユーザーは再入力する機会がありません.continueを加えると、このwhileループが終了します.つまり、後ろのbreak文は今回は実行されず、直接whileループに入り、ユーザーが「再入力」する機会があります.
continueとbreakの違い
continue文とbreak文の違いは、continue文がループ全体を終了するのではなく、今回のループのみを終了することです.break文はループプロセス全体を終了し,ループを実行する条件が成立するか否かを判断しない.また、continueはループ文でのみ使用できます.すなわち、for、while、do...whileでのみ使用できます.それ以外はcontinueはどの文でも使用できません.したがって、continueは、switchが循環体にない限り、switchでは使用できないことを改めて強調する.このときcontinueが示すのもループを終了する今回のループであり,switchとは関係ない.たとえば、switchを使用してエレベーターの動作をシミュレートするコードを次に示します.
# include
int main(void)
{
int val; //variable , “ ”
printf(" :");
while (1)
{
scanf("%d", &val);
switch (val)
{
case 1:
printf("1 !
");
break; // switch
case 2:
printf("2 !
");
break; // switch
case 3:
printf("3 !
");
break; // switch
default:
printf(" , :");
continue; // while
}
break; // while
}
return 0;
}
出力結果は:行きたい階を入力してください:4この階は存在しません.3 3階が開いています.このときdefaultでcontinueを使用しないと、最後の「このレイヤは存在しません.再入力してください:」はまだ機能しません.出力できますが、出力後はそのまま後続のbreakを実行し、ユーザーは再入力する機会がありません.continueを加えると、このwhileループが終了します.つまり、後ろのbreak文は今回は実行されず、直接whileループに入り、ユーザーが「再入力」する機会があります.