目次へ

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. 繰り返し処理に入る前に、式1を実行。
  2. 式2が真の間、処理1を実行。
  3. 繰り返しで処理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
}
  1. 式を評価し、その値がどれかのcase定数式と一致したら、そのcaseラベルにジャンプしてそこから処理を行う。
  2. その処理はbreak文に出会うか、switch文の終端に出会うと終了する。
  3. どのcase定数式とも一致しなければ、defaultラベルがあれば、そこにジャンプして処理を開始する。

switch文で評価される式は、必ず整数を返すものでなければなりません。

(実習課題)

以下のプログラムを作成しなさい。

  • コンソールから入力された数字を受け取る。入力される数字は、最大2桁とする。
  • 入力された数字が負の整数である場合には、エラーを表示してプログラムを終了させる。
  • 入力された数字が正の整数である場合には、1からその数までの数字をコンソールに表示する。
  • 最後に「表示された数字の合計」および「偶数だけの合計」「奇数だけの合計」を表示してプログラムを終了させる。
  • (ヒント)文字列を数字に変換するのは「atoi」関数を使用する。

解答例をダウンロード

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp