C++ ?语句
介绍
在 C++ 中,我们经常会遇到需要在执行某个动作之前先检查某个条件是否成立的情况。这时就可以使用条件语句来实现这个功能。而 C++ 中最常用的条件语句就是 if
语句。
if
语句允许我们根据某个条件的真假来执行不同的代码块。在条件为真时,执行 if
语句中的代码块;否则,跳过这个代码块继续执行下面的代码。
除了 if
语句,C++ 还提供了扩展版本的条件语句,如 if-else
和 if-else if-else
语句,以及 C++11 中引入的 switch
语句。
if 语句
语法
if
语句的基本语法如下:
if (condition)
{
// 如果 condition 为真,则执行这里的代码
}
在 if
语句中,condition
是一个返回布尔值的表达式或变量。如果 condition
的值为真(非零),则执行 if
语句中的代码块。否则,将跳过这个代码块,继续执行后面的代码。
代码块一定要用花括号 {}
括起来,以标识这段代码是 if
语句中的内容。代码块中的语句可以是任意合法的 C++ 代码。
示例
下面是一个简单的示例代码,演示了如何使用 if
语句:
#include <iostream>
int main()
{
int n = 10;
if (n > 0)
{
std::cout << "n 是正数" << std::endl;
}
std::cout << "程序结束" << std::endl;
return 0;
}
输出:
n 是正数
程序结束
这段代码中,我们定义了一个变量 n
并赋值为 10。然后使用 if
语句检查 n
是否大于 0。由于条件成立,所以在控制台输出了 “n 是正数”。然后程序继续执行后面的代码,输出了 “程序结束”。
如果将 n
的赋值改为 -10,则条件不成立,if
语句的代码块将会被跳过,输出如下:
程序结束
if-else 语句
有时候我们希望在条件不成立时执行另外一段代码。这时可以使用 if-else
语句。if-else
语句允许我们在条件不成立时执行一个备选的代码块。
语法
if-else
语句的基本语法如下:
if (condition)
{
// 如果 condition 为真,则执行这里的代码
}
else
{
// 如果 condition 为假,则执行这里的代码
}
在 if-else
语句中,如果 condition
的值为真,则执行 if
语句中的代码块;否则,执行 else
语句中的代码块。
示例
下面是一个示例代码,演示了如何使用 if-else
语句:
#include <iostream>
int main()
{
int n = -5;
if (n > 0)
{
std::cout << "n 是正数" << std::endl;
}
else
{
std::cout << "n 是负数" << std::endl;
}
std::cout << "程序结束" << std::endl;
return 0;
}
输出:
n 是负数
程序结束
这段代码中,我们定义了一个变量 n
并赋值为 -5。根据 if-else
语句的条件,由于 n
的值小于等于 0,所以执行 else
语句中的代码块,并输出了 “n 是负数”。然后程序继续执行后面的代码,输出了 “程序结束”。
if-else if-else 语句
有时候我们需要根据多个条件做出不同的选择。这时可以使用 if-else if-else
语句。if-else if-else
语句允许我们根据多个条件的真假来执行不同的代码块。
语法
if-else if-else
语句的基本语法如下:
if (condition1)
{
// 如果 condition1 为真,则执行这里的代码
}
else if (condition2)
{
// 如果 condition1 为假且 condition2 为真,则执行这里的代码
}
else
{
// 如果 condition1 和 condition2 都为假,则执行这里的代码
}
在 if-else if-else
语句中,首先检查 condition1
的值是否为真。如果为真,则执行 if
语句中的代码块。如果为假,则继续检查 condition2
的值是否为真。如果为真,则执行 else if
语句中的代码块。如果 condition1
和 condition2
都为假,则执行 else
语句中的代码块。
示例
下面是一个示例代码,演示了如何使用 if-else if-else
语句:
#include <iostream>
int main()
{
int n = 0;
if (n > 0)
{
std::cout << "n 是正数" << std::endl;
}
else if (n < 0)
{
std::cout << "n 是负数" << std::endl;
}
else
{
std::cout << "n 是零" << std::endl;
}
std::cout << "程序结束" << std::endl;
return 0;
}
输出:
n 是零
程序结束
这段代码中,我们定义了一个变量 n
并赋值为 0。根据 if-else if-else
语句的条件,由于 n
的值等于 0,所以执行 else
语句中的代码块,并输出了 “n 是零”。然后程序继续执行后面的代码,输出了 “程序结束”。
switch 语句
switch
语句是另一种实现条件选择的方式。它允许我们根据一个变量的不同取值来执行不同的代码块。
语法
switch
语句的基本语法如下:
switch (variable)
{
case value1:
// 如果 variable 的值等于 value1,则执行这里的代码
break;
case value2:
// 如果 variable 的值等于 value2,则执行这里的代码
break;
...
default:
// 如果 variable 的值与之前的所有 case 都不匹配,则执行这里的代码
}
在 switch
语句中,variable
是一个表达式或变量,它的值将与每个 case
后面的常量值进行比较。如果匹配成功(即与某个 case
的值相等),则执行该 case
后面的代码块。如果没有匹配的 case
,则执行 default
后面的代码块。break
语句用于跳出 switch
语句。
注意:在各个 case
之间不需要加上花括号 {}
,因为每个 case
后面的代码块只包含一个语句。
示例
下面是一个示例代码,演示了如何使用 switch
语句:
#include <iostream>
int main()
{
int day = 3;
switch (day)
{
case 1:
std::cout << "星期一" << std::endl;
break;
case 2:
std::cout << "星期二" << std::endl;
break;
case 3:
std::cout << "星期三" << std::endl;
break;
case 4:
std::cout << "星期四" << std::endl;
break;
case 5:
std::cout << "星期五" << std::endl;
break;
case 6:
std::cout << "星期六" << std::endl;
break;
case 7:
std::cout << "星期日" << std::endl;
break;
default:
std::cout << "无效的日期" << std::endl;
}
std::cout << "程序结束" << std::endl;
return 0;
}
输出:
星期三
程序结束
这段代码中,我们定义了一个变量 day
并赋值为 3。根据 switch
语句的条件,由于 day
的值等于 3,所以执行 case 3
后面的代码块,并输出了 “星期三”。然后程序继续执行后面的代码,输出了 “程序结束”。
总结
通过本文的介绍,我们了解了 C++ 中的条件语句,包括 if
语句、if-else
语句、if-else if-else
语句和 switch
语句。这些语句允许我们根据条件的真假来执行不同的代码块,以此实现选择和分支。
根据实际的需求,我们可以根据具体情况选择使用不同的条件语句,以达到我们想要的控制流程。同时,合理使用这些语句能够使我们的代码更加清晰和易读,提高代码的可维护性和可扩展性。