4.制御文
4.1.if
if文は条件式に基づく2方向分岐を実現します。基本構成は以下の通りです。「else if」「else」は省略できるので、if文には多数のバリエーションが考えられます。
if(条件1){ 処理1 }else if(条件2){ 処理2 }else{ 処理3 }
- 条件1が真なら処理1を実行
- 条件1が偽で、条件2が真なら処理2を実行
- それ以外なら処理3を実行
4.2.while
whileは不特定回数の繰り返しを実現します。
while(条件1){ 処理1 }
条件1が真である限り、処理1を繰り返します。永久に条件1が真でありつづける、無限ループに気をつける必要があります。
4.3.for
forは指定回数の繰り返しを実現するための文です。
for(式1; 式2; 式3){ 処理1 }
- 繰り返し処理に入る前に、式1を実行。
- 式2が真の間、処理1を実行。
- 繰り返しで処理1を実行するたびに、式3を実行。
例えば以下の場合は、処理1が10回繰り返されます。
for(i=0;i<10;i++){ 処理1 }
4.4.switch
switchは多方向分岐させるための文です。
switch(式){ case 定数式1: 処理1 break; case 定数式2: 処理2 break; default: 処理3 }
- 式を評価し、その値がどれかのcase定数式と一致したら、そのcaseラベルにジャンプしてそこから処理を行う。
- その処理はbreak文に出会うか、switch文の終端に出会うと終了する。
- どのcase定数式とも一致しなければ、defaultラベルがあれば、そこにジャンプして処理を開始する。
switch文で評価される式は、必ず整数を返すものでなければなりません。
(実習課題)
以下のプログラムを作成しなさい。
- コンソールから入力された数字を受け取る。入力される数字は、最大2桁とする。
- 入力された数字が負の整数である場合には、エラーを表示してプログラムを終了させる。
- 入力された数字が正の整数である場合には、1からその数までの数字をコンソールに表示する。
- 最後に「表示された数字の合計」および「偶数だけの合計」「奇数だけの合計」を表示してプログラムを終了させる。
- (ヒント)文字列を数字に変換するのは「atoi」関数を使用する。