【4】繰り返し文と繰り返し制御文
Quiz-summary
0 of 16 questions completed
Questions:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
Information
問題(全16問)を始めるには下のボタンを押してください!
You have already completed the quiz before. Hence you can not start it again.
Quiz is loading...
You must sign in or sign up to start the quiz.
You have to finish following quiz, to start this quiz:
Results
0 of 16 questions answered correctly
Your time:
Time has elapsed
You have reached 0 of 0 points, (0)
Categories
- Not categorized 0%
-
お疲れ様でした。
解答と解説は下のボタンを押してください!
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- Answered
- Review
-
Question 1 of 16
1. Question
次のコードがあります。
コンパイル、実行した結果として正しいものは次のどれですか。1つ選択してください。
Correct
正解です。
4行目では、デクリメント演算子が後置であるため、i<1の比較が行われてからデクリメントされます。したがって、結果はfalseとなり、何も出力されません。
Incorrect
不正解です。
4行目では、デクリメント演算子が後置であるため、i<1の比較が行われてからデクリメントされます。したがって、結果はfalseとなり、何も出力されません。
-
Question 2 of 16
2. Question
次のコードが指定されているとします。
6行目に挿入した際に次の出力を生成するコードは次のどれですか。1つ選択してください。
Correct
正解です。
選択肢A、Bはwhile文を使用していますが、count変数が初期化されてないため、コンパイルエラーとなります。
なお、選択肢Dの実行結果は次のとおりです。【実行結果】
num = 1 : count = 0
num = 1 : count = 1
num = 1 : count = 2
num = 2 : count = 0
num = 2 : count = 1
num = 2 : count = 2
num = 3 : count = 0
num = 3 : count = 1
num = 3 : count = 2選択肢Eの実行結果は次のとおりです。
【実行結果】
num = 1 : count = 1
num = 2 : count = 1
num = 3 : count = 1Incorrect
不正解です。
選択肢A、Bはwhile文を使用していますが、count変数が初期化されてないため、コンパイルエラーとなります。
なお、選択肢Dの実行結果は次のとおりです。【実行結果】
num = 1 : count = 0
num = 1 : count = 1
num = 1 : count = 2
num = 2 : count = 0
num = 2 : count = 1
num = 2 : count = 2
num = 3 : count = 0
num = 3 : count = 1
num = 3 : count = 2選択肢Eの実行結果は次のとおりです。
【実行結果】
num = 1 : count = 1
num = 2 : count = 1
num = 3 : count = 1 -
Question 3 of 16
3. Question
次のコードが指定されているとします。
実行した結果として正しいものは次のどれですか。1つ選択してください。
Correct
正解です。
問題文のdo-while文は、x変数が5に達するまで処理が行われます。つまりyは9,8,7,6,5となり、xは1,2,3,4,5となります。そして、xが5のときに、x<5でfalseとなるため、繰り返し処理が終了します。したがって、正解の実行結果は選択肢Bです。
Incorrect
不正解です。
問題文のdo-while文は、x変数が5に達するまで処理が行われます。つまりyは9,8,7,6,5となり、xは1,2,3,4,5となります。そして、xが5のときに、x<5でfalseとなるため、繰り返し処理が終了します。したがって、正解の実行結果は選択肢Bです。
-
Question 4 of 16
4. Question
次のコードがあります。
コンパイル、実行した結果として正しいものは次のどれですか。1つ選択してください。
Correct
正解です。
問題文のdo-while文は、x変数が5であれば処理が行われます。したがって、1回目のdoブロックが実行された後、x == 5 でtrueとなり、もう一度doブロックが実行されます。しかし、2回目のx == 5 はfalseとなるため、繰り返し処理が終了します。したがって、正解の実行結果は選択肢Fです。
Incorrect
不正解です。
問題文のdo-while文は、x変数が5であれば処理が行われます。したがって、1回目のdoブロックが実行された後、x == 5 でtrueとなり、もう一度doブロックが実行されます。しかし、2回目のx == 5 はfalseとなるため、繰り返し処理が終了します。したがって、正解の実行結果は選択肢Fです。
-
Question 5 of 16
5. Question
次のコードがあります。
コンパイル、実行した結果として正しいものは次のどれですか。1つ選択してください。
Correct
正解です。
問題文のfor文の条件は i < ++i であるため、常にtrueとなります。したがって、実行結果は5 7 9 11 13 15・・・・・・と出力が続き、無限ループとなります。なお、途中でループを終了するには、[Ctrl]キーを押しながら[C]キーを押してください。
Incorrect
不正解です。
問題文のfor文の条件は i < ++i であるため、常にtrueとなります。したがって、実行結果は5 7 9 11 13 15・・・・・・と出力が続き、無限ループとなります。なお、途中でループを終了するには、[Ctrl]キーを押しながら[C]キーを押してください。
-
Question 6 of 16
6. Question
次のコードがあります。
コンパイル、実行した結果として正しいものは次のどれですか。1つ選択してください。
Correct
正解です。
問題文のfor文では、次のように処理が進みます。
# 繰り返し1回目
カウンタ変数 num : 初期化 → 0
条件判定: num < 3 → true
5行目の実行結果 : num → 0# 繰り返し2回目
カウンタ変数 num : ++num → 1
条件判定: num < 3 → true
5行目の実行結果 : num 変数 → 2# 繰り返し3回目
カウンタ変数 num : ++num → 3
条件判定 : num < 3 → false
⇒for文が終了したがって、正解の実行結果は選択肢Cです。
Incorrect
不正解です。
問題文のfor文では、次のように処理が進みます。
# 繰り返し1回目
カウンタ変数 num : 初期化 → 0
条件判定: num < 3 → true
5行目の実行結果 : num → 0# 繰り返し2回目
カウンタ変数 num : ++num → 1
条件判定: num < 3 → true
5行目の実行結果 : num 変数 → 2# 繰り返し3回目
カウンタ変数 num : ++num → 3
条件判定 : num < 3 → false
⇒for文が終了したがって、正解の実行結果は選択肢Cです。
-
Question 7 of 16
7. Question
次のコードがあります。
コンパイル、実行した結果として正しいものは次のどれですか。1つ選択してください。
Correct
正解です。
外側のfor文の条件式から、繰り返し処理が2回行われることがわかります。その処理内容は内側のfor文であり、ここでは5から8まで出力します。したがって、正解の実行結果は選択肢Dです。
Incorrect
不正解です。
外側のfor文の条件式から、繰り返し処理が2回行われることがわかります。その処理内容は内側のfor文であり、ここでは5から8まで出力します。したがって、正解の実行結果は選択肢Dです。
-
Question 8 of 16
8. Question
次のコードがあります。
実行した結果として正しいものは次のどれですか。1つ選択してください。
Correct
正解です。
内側のfor文は{ }が省略されています。したがって、内側のfor文の処理文は「a」を出力する5行目のみです。「b」を出力する6行目は外側のfor文の処理文なので、注意しましょう。
実行時における各変数の変化と出力は表4-1のとおりです。したがって、正解は選択肢Eです。Incorrect
不正解です。
内側のfor文は{ }が省略されています。したがって、内側のfor文の処理文は「a」を出力する5行目のみです。「b」を出力する6行目は外側のfor文の処理文なので、注意しましょう。
実行時における各変数の変化と出力は表4-1のとおりです。したがって、正解は選択肢Eです。 -
Question 9 of 16
9. Question
次のコードがあります。
コンパイル、実行した結果として正しいものは次のどれですか。1つ選択してください。
Correct
正解です。
6行目にi変数を出力するコードがありますが、i変数は3行目のfor文内で宣言されているため、有効範囲は3行目から5行目までです。したがって、コンパイルエラーとなります。
Incorrect
不正解です。
6行目にi変数を出力するコードがありますが、i変数は3行目のfor文内で宣言されているため、有効範囲は3行目から5行目までです。したがって、コンパイルエラーとなります。
-
Question 10 of 16
10. Question
int型の配列 sa があります。拡張 for 文の構文として正しいものは次のどれですか。1つ選択してください。
Correct
正解です。
拡張for文の構文は、「for ( 変数宣言 : 参照変数名 ) { }」です。変数宣言と参照変数名の区切りには「:」(コロン)を使用します。したがって、選択肢Cが正しいです。
Incorrect
不正解です。
拡張for文の構文は、「for ( 変数宣言 : 参照変数名 ) { }」です。変数宣言と参照変数名の区切りには「:」(コロン)を使用します。したがって、選択肢Cが正しいです。
-
Question 11 of 16
11. Question
次のコードがあります。
コンパイル、実行した結果として正しいものは次のどれですか。1つ選択してください。
Correct
正解です。
拡張for文では、取り出した要素を代入する変数は( )内で宣言しなければなりません。したがって、問題文のように事前に宣言したs変数を、拡張for文で要素を代入する変数として使用することはできません。4行目の変数宣言をコメントアウトし、5行目を次のように変更すれば、コンパイルに成功します。実行結果は「2 4 6 8」となります。
ーーーーーーーーーーーーー
for (int s : sa) {
ーーーーーーーーーーーーーIncorrect
不正解です。
拡張for文では、取り出した要素を代入する変数は( )内で宣言しなければなりません。したがって、問題文のように事前に宣言したs変数を、拡張for文で要素を代入する変数として使用することはできません。4行目の変数宣言をコメントアウトし、5行目を次のように変更すれば、コンパイルに成功します。実行結果は「2 4 6 8」となります。
ーーーーーーーーーーーーー
for (int s : sa) {
ーーーーーーーーーーーーー -
Question 12 of 16
12. Question
次のコードがあります。
コンパイル、実行した結果として正しいものは次のどれですか。1つ選択してください。
Correct
正解です。
5行目では、「a < 3」→「a++」の順番で実行され、「!b」により「true」が返るため6行目は3回実行されます。なお、aが「2」の時に、8行目が実行されるため、選択肢Dが正しいです。
Incorrect
不正解です。
5行目では、「a < 3」→「a++」の順番で実行され、「!b」により「true」が返るため6行目は3回実行されます。なお、aが「2」の時に、8行目が実行されるため、選択肢Dが正しいです。
-
Question 13 of 16
13. Question
次のコードがあります。
コンパイル、実行した結果として正しいものは次のどれですか。1つ選択してください。
Correct
正解です。
var変数は、boolean型であるため、4行目、5行目は問題ありません。4行目により、if文の条件式で「true」が返るため、5行目に制御が移ります。6行目が実行された後、7行目によりvar変数には「false」が代入されます。制御は5行目に戻りますが、whileの条件式で「false」が返るため繰り返し処理が終了し、if文の処理も終了するため、実行結果は選択肢Aとなります。
Incorrect
不正解です。
var変数は、boolean型であるため、4行目、5行目は問題ありません。4行目により、if文の条件式で「true」が返るため、5行目に制御が移ります。6行目が実行された後、7行目によりvar変数には「false」が代入されます。制御は5行目に戻りますが、whileの条件式で「false」が返るため繰り返し処理が終了し、if文の処理も終了するため、実行結果は選択肢Aとなります。
-
Question 14 of 16
14. Question
次のコードがあります。
コンパイル、実行した結果として正しいものは次のどれですか。1つ選択してください。
Correct
正解です。
4行目のfor文より配列内の要素を1つずつ取り出し、switch文の式で使用しています。「a」「A」「T」については合致するcaseがあるため出力されますが、「B」は合致するcaseがないため出力されません。
Incorrect
不正解です。
4行目のfor文より配列内の要素を1つずつ取り出し、switch文の式で使用しています。「a」「A」「T」については合致するcaseがあるため出力されますが、「B」は合致するcaseがないため出力されません。
-
Question 15 of 16
15. Question
次のコードがあります。
コンパイル、実行した結果として正しいものは次のどれですか。1つ選択してください。
Correct
正解です。
問題文のfor文の条件では、i変数の値が2と3であるときのみ、処理文が実行されます。5行目にある処理文では、変数iの値が2のとき、c変数には「c」が代入され、i変数の値が3のとき、c変数には「d」が代入されます。したがって、正解の実行結果は選択肢Eです。
Incorrect
不正解です。
問題文のfor文の条件では、i変数の値が2と3であるときのみ、処理文が実行されます。5行目にある処理文では、変数iの値が2のとき、c変数には「c」が代入され、i変数の値が3のとき、c変数には「d」が代入されます。したがって、正解の実行結果は選択肢Eです。
-
Question 16 of 16
16. Question
次のコードがあります。
コンパイル、実行した結果として正しいものは次のどれですか。1つ選択してください。
Correct
正解です。
問題文のfor文にはLoopというラベルが指定されています。また7行目には、j変数の値が0のときに break Loop; を実行し、Loopラベルのついたfor文の処理を終了するように記述されています。
実行時の各変数の推移は表4-2のとおりです。したがって、正解は選択肢Eです。Incorrect
不正解です。
問題文のfor文にはLoopというラベルが指定されています。また7行目には、j変数の値が0のときに break Loop; を実行し、Loopラベルのついたfor文の処理を終了するように記述されています。
実行時の各変数の推移は表4-2のとおりです。したがって、正解は選択肢Eです。