《C++游戏编程入门(第4版)》——2.4 使用带else子句的if语句序列

    xiaoxiao2024-04-20  4

    本节书摘来自异步社区出版社《C++游戏编程入门(第4版)》一书中的第2章,第2.4节,作者:【美】Michael Dawson(道森),更多章节内容可以访问云栖社区“异步社区”公众号查看。

    2.4 使用带else子句的if语句序列

    C++游戏编程入门(第4版)我们可以将带else子句的if语句连接起来,创建循序验证的表达式序列。第一个与验证为真的表达式关联的语句将被执行;否则,程序执行与最后的(可选)else子句关联的语句。下面给出这样一个序列的形式:

    if (expression1)    statement1; else if (expression2)    statement2; … else if (expressionN)    statementN; else    statementN+1;``` 如果expression1为true,则执行statement1,且跳过序列中的余下代码。否则,验证expression2,如果为true,则执行且跳过序列中的余下代码。计算机继续按顺序检查每个表达式(直到expressionN),且会执行与第一个真值表达式关联的语句。如果表达式都为假,那么将执行与最后的else子句关联的语句statementN+1。 ###2.4.1 Score Rater 3.0程序简介 Score Rater 3.0程序同样评估用户输入的分数。但这次程序使用了带else子句的if语句序列。图2.4展示了程序运行结果。 从Cengage Learning网站(www.cengageptr.com/downloads)上可以下载到该程序的代码。程序位于Chapter 2文件夹中,文件名为score_rater3.cpp。

    // Score Rater 3.0// Demonstrates if else-if else suite

    include

    using namespace std;int main(){   int score;   cout << "Enter your score: ";   cin >> score;   if (score >= 1000)   {     cout << "You scored 1000 or more. Impressive!n";   }   else if (score >= 500)   {     cout << "You scored 500 or more. Nice.n";   }   else if (score >= 250)   {     cout << "You scored 250 or more. Decent.n";   }   else   {     cout << "You scored less than 250. Nothing to brag about.n";   }   return 0;}`

    图2.4 根据用户的分数,显示多条消息中的某一条

    2.4.2 创建带else子句的if语句序列

    我们已经两次见过该序列的开头部分,这次它的工作方式还是一样。如果score大于等于1000,则显示消息You scored 1000 or more. Impressive!,然后程序跳转到return语句。

       if (score >= 1000)然而,如果该表达式为false,那么可以肯定score小于1000,程序计算序列的下一个表达式:

       else if (score >= 500)如果score大于等于500,则显示消息You scored 500 or more. Nice!,然后程序跳转到return语句。然而,如果该表达式为false,那么可以肯定score小于500,程序计算序列的下一个表达式:

       else if (score >= 250)如果score大于等于250,则显示消息You scored 250 or more. Decent.,然后程序跳转到return语句。然而,如果该表达式为false,那么可以肯定score小于250,程序执行与最后的else子句关联的语句,显示消息You scored less than 250. Nothing to brag about.。

    提示 虽然最后的else子句在if else-if组合中不是必需的,但我们可以在序列中没有表达式为真的情况下使用它来执行代码。

    最新回复(0)