C ++ if语句
if (testExpression)
{
// 如果testExpression为真将执行的语句
}
if语句在括号内评估testExpression。
如果testExpression的计算结果为true,则执行if主体内的语句。
如果testExpression的计算结果为false,则跳过if主体内部的语句。
if语句如何工作?
if语句流程图
上图描述了if语句的工作。
示例:C ++ if语句
// 程序打印用户输入的正数
// 如果用户输入负数,则跳过
#include <iostream>
using namespace std;
int main()
{
int number;
cout << "输入一个整数: ";
cin >> number;
// 检查数字是否为正数
if ( number > 0)
{
cout << "你输入了一个正整数: " << number << endl;
}
cout << "这个语句总是被执行。";
return 0;
}
输出1
输入一个整数: 5
你输入了一个正整数: 5
这个语句总是被执行。
输出2
输入一个整数: -5
这个语句总是被执行。
C ++ if...else 语句
如果测试表达式(test Expression)为true,则if...else在if语句的主体内执行代码,并跳过else主体内部的代码。
如果测试表达式(test Expression)为false,则在else语句主体内执行代码,并跳过if主体内的代码。
if.. else语句如何工作?
if ... else的流程图
示例:C ++ if ... else语句
//程序检查整数是正数还是负数
//该程序将0视为正数
#include <iostream>
using namespace std;
int main()
{
int number;
cout << "输入一个整数: ";
cin >> number;
if ( number >= 0)
{
cout << "您输入了一个正整数:" << number << endl;
}
else
{
cout << "您输入了一个负整数: " << number << endl;
}
cout << "此行始终被打印。";
return 0;
}
输出结果
输入一个整数: -4
您输入了一个负整数: -4.
此行始终被打印。
C ++ 嵌套if...else语句
if...else语句执行两个不同的代码,具体取决于测试表达式(Test expression)为true还是false。有时,必须从两种以上的可能性中进行选择。
使用嵌套if...else语句,您可以检查多个测试表达式(Test expression)并针对两个以上的条件执行不同的代码。
这意味着您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。
嵌套if ... else的语法
if (testExpression1)
{
// 如果testExpression1为真,则执行语句
}
else if(testExpression2)
{
// 如果testExpression1为假,testExpression2为真,则执行的语句
}
else{
if (testExpression 3)
{
// 如果testExpression1和testExpression2为假,testExpression3为真,则执行的语句
}
else
{
// 如果所有测试表达式均为假,将执行的语句
}
}
示例:C ++ if...else嵌套
// 程序检查一个整数是正、负还是零
#include <iostream>
using namespace std;
int main()
{
int number;
cout << "输入一个整数: ";
cin >> number;
if ( number > 0)
{
cout << "您输入了一个正整数:" << number << endl;
}
else
{
if (number < 0)
{
cout<<"您输入了一个负整数: " << number << endl;
}else{
cout << "您输入了0。" << endl;
}
}
cout << "This line is always printed.";
return 0;
}
输出结果
输入一个整数: 0
您输入了0。
这一行总是打印出来的。
条件/三元运算符(?:)
三元运算符对3个操作数进行运算,可以代替if...else语句来使用。
以下if代码:
if ( a < b ) {
a = b;
}
else {
a = -b;
}
您可以使用三元运算将以上代码替换为:
a = (a < b) ? b : -b;
三元运算符比if...else条件语句更短更具可读性。