Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ チャレンジ:三項演算子 | 上級トピックス
C++の条件文
セクション 3.  1
single

single

bookチャレンジ:三項演算子

メニューを表示するにはスワイプしてください

三項演算子は、コード内で迅速な判断を行うためによく使用される強力なツールであり、適切に使用することでコードの可読性を大幅に向上させることが可能。

ternary.h

ternary.h

copy
1
condition ? expression_if_true : expression_if_false;

条件が評価される。条件がtrueの場合は : の前の式が実行され、そうでない場合は : の後の式が実行される。

三項演算子は本質的にif-else文の代替手段であり、コードの可読性と利便性を提供。

if_else.h

if_else.h

ternary.h

ternary.h

copy
123456789
int variable; if (condition) { variable = 25; } else { variable = 10; }

ご覧のとおり、三項演算子を使用することでコードスペースを節約し、可読性効率性を向上させることができます。ただし、バランスを保ち、コードの保守性理解しやすさを維持することも重要です。

三項演算子は、より複雑な条件を処理するためにネストすることも可能です。しかし、三項演算子だらけの落とし穴にはまらないよう注意してください。

nested_ternary.h

nested_ternary.h

copy
12345678910
std::string eligibility = age < 18 ? "Too young" : (isStudent ? (hasJob ? "Eligible for student discount" : "Eligible for student perks") : (hasJob ? "Eligible for job-related benefits" : "Not eligible"));

何が起こっているのかを理解するのは非常に難しいため、三項演算子の使用は一度に1段階までのネストに制限するのが望ましい。

タスク

スワイプしてコーディングを開始

あなたは学生の成績評価プログラムを作成しています。3つのテストスコアが与えられたとき、プログラムは平均点を計算し、三項演算子を使って成績区分を判定します。

  1. evaluatePerformance関数内で、3つのスコア(score1score2score3)の平均を計算します(合計して3.0で割る)。
  2. 三項演算子を使い、平均点に基づいて成績区分を判定します:
    • 平均が85以上の場合 -> "Excellent"
    • 平均が70以上85未満の場合 -> "Good"
    • 平均が50以上70未満の場合 -> "Average"
    • それ以外の場合 -> "Fail"
  3. 関数から成績区分を返します

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  1
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt