「C言語/制御文」の版間の差分

削除された内容 追加された内容
M編集の要約なし
C言語は小学生などのプログラミング初学者が読むことを考えて、初出の「if」や「for」などに読みと、大まかな英語での意味を追記。
4 行
「もし明日が晴れだったら、出かけよう。晴れでなかったら、出かけないでいよう。」のように、何かの条件が満たされたどうかで結果が変わることを条件分岐という。
 
C言語では条件分岐には、if文(イフぶん)を用いる。ifは「イフ」と読みます。if(イフ)とは日本語の「もしも ~ ならば」の意味です
 
C言語たとえば、プログラムでは「もし変数aが4だったら、変数gには15を代入しなさいのように条件分岐は命令として扱われる。
 
なお、プログラムでは「もし変数aが4だったら、変数gには15を代入しなさい」は、
<syntaxhighlight lang="C">
if (a==4)
15 ⟶ 13行目:
のように記述される。
 
なお、プログラムC言語では「もし変数aが4だったら、変数gには15を代入しなさいのように条件分岐は命令として扱われる。
 
条件が満たされる場合のことを'''真'''(しん)という。条件が満たされない場合のことを'''偽'''(ぎ)という。
508 ⟶ 507行目:
=== for文 ===
<ref>『JISX3010:2003』p.102「6.8.5.3 for文」</ref>
for文(フォアぶん)とは、繰り返し文の内の1つであり、始めに初期化式を実行し、前実行式の論理値が真である間、「前実行式、文、後実行式」の順に繰り返す。
 
for文は、「;(セミコロン)」で区切られた、初期化式、前実行式(制御式、継続条件式とも呼ばれる)、後実行式、及びループ本体と呼ばれる文からなる。
英語における「for」は、英語の前置詞(ぜんちし)というものの一つです。中学校でまだ前置詞を習ってない人は、わからなくても気にしないでください。
 
さてプログラミングにおけるfor文は、「;(セミコロン)」で区切られた、初期化式、前実行式(制御式、継続条件式とも呼ばれる)、後実行式、及びループ本体と呼ばれる文からなる。
 
初期化式では宣言を行ってもよい。
 
3つの式はいずれとも省略してもよい。前実行式を省略した場合、0でない定数(真)によって置き換えられる。
for文は、初期化及び後実行を形式的に記述する点でwhile文と異なっている。
516 ⟶ 520行目:
 
for文の記述は次のようになっている。
* for文
<syntaxhighlight lang="C">
for(初期化式; 前実行式; 後実行式)
597 ⟶ 601行目:
=== continue文 ===
<ref>『JISX3010:2003』p.104「6.8.6.2 continue文」</ref>
continue文(コニュティニューぶん)とは、分岐文の内の1つであり、ループ本体の中で使われ、ループ本体の終わりへ制御を移す。
つまり、ただちに制御式が実行され、それからループが繰り返される。
ループ本体の終わりとはcontinue文を含む最も内側のループ本体の最後の文の直後である。
 
continue文の記述は次のようになっている。
* continue文
<syntaxhighlight lang="C">
continue;
624 ⟶ 628行目:
=== break文 ===
<ref>『JISX3010:2003』p.105「6.8.6.3 break文」</ref>
break文(ブレイクぶん)は、スイッチ本体またはループ本体の中で使われ、
スイッチ本体またはループ本体の直後へ制御を移す。
 
つまり、スイッチ本体またはループ本体から抜け出すことができる。
英語における「break」(ブレイク)とは、よく「壊す」(こわす)の意味でbreakが使われますが、「中断(ちゅうだん)する」という意味もbreakにはあります。
また、break文は、break文を含む最も内側のスイッチ本体またはループ本体に対応する。
 
つまりプログラミングにおけるbreak文はソレを使うことでスイッチ本体またはループ本体から抜け出すことができる動作をします
 
 
 
break文の記述は次のようになっている。
* break文
<syntaxhighlight lang="C">
break;
651 ⟶ 659行目:
}
</syntaxhighlight>
 
また、break文は、break文を含む最も内側のスイッチ本体またはループ本体に対応する。
 
 
=== return文 ===
<ref>『JISX3010:2003』p.103「6.8.6.4 return文」</ref>
return文(リターンぶん)とは、分岐文の内の1つであり、実行中の関数を終了し、その呼び出し元へ制御を返す。
式があるかどうかは関数の返却値のデータ型により異なり、
void型の場合は式がなく、それ以外のデータ型の場合は式がある。
 
 
return文の記述は次のようになっている。
* return文
<syntaxhighlight lang="C">
return 式;
680 ⟶ 692行目:
}
</syntaxhighlight>
 
 
returnの英語の日常での意味と、プログラミングにおけるreturnの意味は、大きく違うので、初心者は、あまり気にしないほうがイイです。
 
returnの意味は、英語では、よく「戻ってくる」「帰ってくる」の意味で使われたり、借りたものが返って来る、借りたものを返すなどの意味で使われこともありますが、他にも質問や意見などに「言い返す」などの意味があったり、投資などで利益を返すという意味もあります。(※ ジーニアス英和辞典にちゃんとそう書いてもある。)
 
 
== 論理型 ==
687 ⟶ 705行目:
<ref>『JISX3010:2003』p.32「6.3.1.2 論理型」</ref>
 
 
ヘッダファイルstdbool.hをインクルードすることで、
Bool(ブール)とは、数学の用語です。数学の分野のひとつでブール代数というのがあり、それにあやかって Bool ブールという宣言を使っていると思われます。
 
論理型において、ヘッダファイルstdbool.hをインクルードすることで、
_Boolの代わりにbool、0の代わりにfalse, 1の代わりにtrueを用いることができる。
<ref>『JISX3010:2003』p.182「7.16 論理型及び論理値<stdbool.h>」</ref>