📅  最后修改于: 2020-09-25 04:57:06             🧑  作者: Mango
在计算机编程中,仅当满足特定条件时,才使用if
语句运行块代码。
例如,根据学生获得的分数分配成绩(A,B,C)。
C++中if...else
语句有三种形式。
if
语句的语法为:
if (condition) {
// body of if statement
}
if
语句评估括号( )
的condition
。
注意: { }
的代码是if
语句的主体。
// Program to print positive number entered by the user
// If the user enters a negative number, it is skipped
#include
using namespace std;
int main() {
int number;
cout << "Enter an integer: ";
cin >> number;
// checks if the number is positive
if (number > 0) {
cout << "You entered a positive integer: " << number << endl;
}
cout << "This statement is always executed.";
return 0;
}
输出1
Enter an integer: 5
You entered a positive number: 5
This statement is always executed.
当用户输入5
,条件number > 0
被评估为true
并执行if
体内的语句。
输出2
Enter a number: -5
This statement is always executed.
当用户输入-5
,条件number > 0
被评估为false
并且if
主体内部的语句将不会执行。
if
语句可以具有可选的else
子句。其语法为:
if (condition) {
// block of code if condition is true
}
else {
// block of code if condition is false
}
if..else
语句评估括号内的condition
。
如果condition
评估为true
,
如果condition
评估为false
,
// Program to check whether an integer is positive or negative
// This program considers 0 as a positive number
#include
using namespace std;
int main() {
int number;
cout << "Enter an integer: ";
cin >> number;
if (number >= 0) {
cout << "You entered a positive integer: " << number << endl;
}
else {
cout << "You entered a negative integer: " << number << endl;
}
cout << "This line is always printed.";
return 0;
}
输出1
Enter an integer: 4
You entered a positive integer: 4.
This line is always printed.
在上面的程序中,条件number >= 0
。如果我们输入大于或等于0
,则条件评估为true
。
在这里,我们输入4
。因此,条件为true
。因此,将执行if
体内的语句。
输出2
Enter an integer: -4
You entered a negative integer: -4.
This line is always printed.
在这里,我们输入-4
。因此,条件为false
。因此,将执行else
主体内部的语句。
if...else
语句用于在两个替代方案之间执行代码块。但是,如果需要在两个以上的选择之间进行选择,则可以使用if...else if...else
语句。
if...else if...else
语句的语法为:
if (condition1) {
// code block 1
}
else if (condition2){
// code block 2
}
else {
// code block 3
}
这里,
注意: else if
语句可以有多个,而if
和else
语句只能是一个。
// Program to check whether an integer is positive, negative or zero
#include
using namespace std;
int main() {
int number;
cout << "Enter an integer: ";
cin >> number;
if (number > 0) {
cout << "You entered a positive integer: " << number << endl;
}
else if (number < 0) {
cout << "You entered a negative integer: " << number << endl;
}
else {
cout << "You entered 0." << endl;
}
cout << "This line is always printed.";
return 0;
}
输出1
Enter an integer: 1
You entered a positive integer: 1.
This line is always printed.
输出2
Enter an integer: -2
You entered a negative integer: -2.
This line is always printed.
输出3
Enter an integer: 0
You entered 0.
This line is always printed.
在此程序中,我们从用户那里获取一个号码。然后,我们使用if...else if...else
阶梯检查数字是否为正,负或零。
如果数字大于0
,则执行if
块内的代码。如果该数字小于0
,则执行else if
块中的代码。否则,将执行else
块中的代码。
有时候,我们需要使用if
其他内声明if
声明。这称为嵌套if
语句。
将其视为if
语句的多层。有第一个外部if
语句,在内部还有另一个if
语句。其语法为:
// outer if statement
if (condition1) {
// statements
// inner if statement
if (condition2) {
// statements
}
}
笔记:
if
语句中添加else
和else if
语句。 if
语句也可以插入外部else
或else if
语句(如果存在)中。 if
语句。 // C++ program to find if an integer is even or odd or neither (0)
// using nested if statements
#include
using namespace std;
int main() {
int num;
cout << "Enter an integer: ";
cin >> num;
// outer if condition
if (num != 0) {
// inner if condition
if ((num % 2) == 0) {
cout << "The number is even." << endl;
}
// inner else condition
else {
cout << "The number is odd." << endl;
}
}
// outer else condition
else {
cout << "The number is 0 and it is neither even nor odd." << endl;
}
cout << "This line is always printed." << endl;
}
输出1
Enter an integer: 34
The number is even.
This line is always printed.
输出2
Enter an integer: 35
The number is odd.
This line is always printed.
输出3
Enter an integer: 0
The number is 0 and it is neither even nor odd.
This line is always printed.
在上面的示例中,
注意0
也可以被2
整除,但实际上不是偶数。这就是为什么我们首先要在外部if
条件中确保输入数字不为0
的原因。
注意:如您所见,嵌套if...else
使您的逻辑变得复杂。如果可能,您应该始终尝试避免嵌套if...else
。
如果if...else
的主体只有一个语句,则可以在程序中省略{ }
。例如,您可以替换
int number = 5;
if (number > 0) {
cout << "The number is positive." << endl;
}
else {
cout << "The number is negative." << endl;
}
与
int number = 5;
if (number > 0)
cout << "The number is positive." << endl;
else
cout << "The number is negative." << endl;
两个程序的输出将相同。
注意:如果if...else
的主体只有一个语句,则不必使用{ }
,但是使用{ }
可使代码更具可读性。
在某些情况下, 三元运算符可以替换if...else
语句。要了解更多信息,请访问C++三元运算符。
如果我们需要根据给定的测试条件在多个备选方案之间做出选择,则可以使用switch
语句。要了解更多信息,请访问C++开关。
查看以下示例以了解更多信息:
C++程序检查数字是偶数还是奇数
用于检查字符是元音还是辅音的C++程序。
C++程序查找三个数字中最大的数字