基本情報トップに戻る
B難易度: 2026年度

基本情報技術者 一問一答B 第191問

問題

temp変数を使ったスワップ(a=5,b=8)後の値は何か。

選択肢

  1. 1a=8,b=5
  2. 2a=5,b=8
  3. 3a=5,b=5
  4. 4a=8,b=8

正解

1. a=8,b=5

詳しい解説を見る

解説

一時変数tempを使った交換処理を順にトレースする。初期値a=5、b=8に対し、①temp←aでtemp=5、②a←bでa=8、③b←tempでb=5となり、a=8、b=5に交換されて正解である。a=5、b=8は交換が行われなかった場合の値である。a=8、b=8やa=5、b=5は、tempを使わずa←b; b←aのように直接代入した場合に起きる誤りで、先の代入で元の値が上書きされて失われ、両方が同じ値になってしまう。頻出ポイントは「なぜtempが必要か」であり、片方の値を退避してから上書きしないと元の値が消えるためである。交換処理はバブルソートや選択ソートの内部で必ず使われる基本操作であり、3行の代入順序を空欄にして問う出題も多いため、手順ごと暗記しておきたい。

一問一答

科目A 180問+科目B 60問

Bの関連問題

この調子で演習を続けよう

スキマ資格では基本情報の全2398問を分野別・難易度別に体系的に学習できます。基本情報技術者は科目A(広く浅く)と科目B(プログラミング・アルゴリズム)の両輪での対策が必要です。