C 基本講座

break文でループを脱出する

LinkedInラーニングの無料トライアルを今すぐ試そう

無料で視聴する すべての加入プランを見る
このレッスンでは、breakという制御文を使って、繰り返しを途中で終了する方法について説明します。また、goto文や無限ループについても説明します。
講師:
05:18

字幕

このレッスンでは、break という制御文を使って繰り返しを途中で終了する方法について説明します。また、goto 文や無限ループについても説明します。break は switch の case ラベルに記述された処理を終了するために使いますが繰り返しを特定の条件で中断してループから脱出する時にも使われます。break を使った例を見てみましょう。このプログラムは3回続けて2つの整数の四則演算を行うものです。なお、 Windows 版の Eclipse ではscanf の前に printf があるとコンソールビューからの入力がうまく実行できません。そのため、setvbuf 関数でバッファを使わないようにしています。では実行してみましょう。このように、3回続けて四則演算を行うことができます。もう一度実行してみます。0を入力すると終了します。0での割り算は行えないのでエラーメッセージを表示して途中でこのようにbreak するようにしています。ループを途中で終了するのにbreak 文を使用しています。break でループのブロックを脱出することができます。但し、必ずこのように if と併用しある特定の条件でループを抜け出すように記述します。 if が無いと、break 以下の文が一度も実行されません。なお、break を多重ループの中で使用する場合一気に多重ループを抜け出すことはできないので注意してください。この図のように、break の含まれるループから1つ外のループに抜け出すだけです。つまり二重、三重のループを抜け出すにはそのたびに break を使わなければなりませんから、注意してください。この場合、多重ループを一気に抜け出す方法に goto 文があります。構造化プログラミングでは用いないようにと言われている goto 文ですがループのたびに break 文で抜けるより処理が分かりやすくなりますのでこの場合に限り使用しても良いでしょう。しかし、あくまでも特別な例に限りgoto 文を使うようにし、多用は避けましょう。これが goto 文の構文です。goto 文ではコロンを付けたラベルへ一気に制御を移すことができます。先程の例は goto を使うと次のように書き換えることができます。これで OUT ラベルへ一気に多重ループを脱出して移ることができます。break は無限ループを途中で終了させるプログラムでもよく使われます。 無限ループはこのように記述します。C 言語では0を偽、0以外を真と評価しますね。1は真ですから、while (1) は常に真、つまり無限ループになります。0以外ならどんな数値を用いてもいいわけですが無限ループだということを明示するために慣例として while (1) と記述します。for の場合は慣例としてfor;; と記述します。初期設定なし、継続条件なし、再設定なしで無限ループになります。なお、do~while 文ではループの最後になるまで無限ループであることが分からないので通常は使われません。これらの無限ループでは、break を使って途中でループ処理を終わらせることができます。無限ループを使った処理を記述してみましょう。上の方はコメントで伏せておきます。実行するとこのように回数に制限なく四則演算を行うことができます。但し、0を入力するとこの break で抜けるようになっています。もう一度実行してみます。但し、整数値以外を入力するとこのようにすぐに終了します。scanf は返却値として入力した個数を返すので返却値が1以外の時には数字以外を入力していることが判定できるのでその場合には直ちに break で終了するようにしています。 このレッスンでは、break という制御文を使って繰り返しを途中で終了する方法について説明しました。また、goto 文や無限ループについても説明しました。

C 基本講座

C言語はUNIXというOSを記述するために開発されたプログラミング言語で、組み込みシステムの開発を中心に今も使われています。このコースでは簡単なプログラムを作成しながら、C言語の基本的な文法を学びます。データ型や制御文などの基礎的な文法からポインタや構造体といったC言語の特徴的な内容まで幅広く取り上げます。よく使われる標準ライブラリ関数も数多く紹介します。

5時間45分 (60 ビデオ)
現在、カスタマーレビューはありません…
ソフトウェア・トピック
プラン加入者限定
発売日:2017年11月05日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。