if
语句if
语句是最基本的判断结构,用于根据条件执行不同的代码块。
if (condition) {
// 当 condition 为真时执行的代码块
}
例如:
#include
int main() {
int num = 10;
if (num > 5) {
std::cout << "num 大于 5" << std::endl;
}
return 0;
}
else
的 if
语句:if (condition) {
// 当 condition 为真时执行的代码块
} else {
// 当 condition 为假时执行的代码块
}
例如:
#include
int main() {
int num = 3;
if (num > 5) {
std::cout << "num 大于 5" << std::endl;
} else {
std::cout << "num 小于或等于 5" << std::endl;
}
return 0;
}
else if
的 if
语句:可以使用 else if
来检查多个条件。
if (condition1) {
// 当 condition1 为真时执行的代码块
} else if (condition2) {
// 当 condition2 为真时执行的代码块
} else {
// 当所有条件都为假时执行的代码块
}
例如:
#include
int main() {
int num = 7;
if (num > 10) {
std::cout << "num 大于 10" << std::endl;
} else if (num > 5) {
std::cout << "num 大于 5 且小于或等于 10" << std::endl;
} else {
std::cout << "num 小于或等于 5" << std::endl;
}
return 0;
}
switch
语句switch
语句用于根据表达式的值选择执行不同的代码分支。
switch (expression) {
case value1:
// 当 expression 等于 value1 时执行的代码块
break;
case value2:
// 当 expression 等于 value2 时执行的代码块
break;
default:
// 当 expression 不等于任何 case 的值时执行的代码块
break;
}
例如:
#include
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;
break;
}
return 0;
}
?:
)三目运算符是一种简洁的 if-else
语句的替代形式。
condition? expression1 : expression2;
当 condition
为真时,返回 expression1
的值,否则返回 expression2
的值。
例如:
#include
int main() {
int num = 8;
std::string result = (num > 5)? "大于 5" : "小于或等于 5";
std::cout << result << std::endl;
return 0;
}
if
语句:&&
、||
、!
)组合多个条件。switch
语句:expression
的类型可以是整数类型(包括 char
)或枚举类型。case
后面必须跟一个 break
语句,否则会继续执行下一个 case
的代码(称为 “穿透”)。default
语句是可选的,用于处理 expression
不匹配任何 case
的情况。以下是一个更复杂的综合示例,结合 if
和 switch
语句:
#include
int main() {
int score;
std::cout << "请输入成绩:";
std::cin >> score;
if (score >= 90) {
switch (score / 10) {
case 10:
case 9:
std::cout << "优秀" << std::endl;
break;
default:
std::cout << "输入错误" << std::endl;
break;
}
} else if (score >= 80) {
std::cout << "良好" << std::endl;
} else if (score >= 60) {
std::cout << "及格" << std::endl;
} else {
std::cout << "不及格" << std::endl;
}
return 0;
}
C++ 的判断结构语句可以帮助你根据不同的条件执行不同的代码,是程序控制流的重要组成部分。它们在各种编程场景中都有广泛的应用,从简单的条件判断到复杂的多条件分支处理。
可以将判断结构语句嵌套使用,以处理更复杂的逻辑。
if
语句:#include
int main() {
int num = 15;
if (num > 10) {
if (num % 2 == 0) {
std::cout << "num 大于 10 且为偶数" << std::endl;
} else {
std::cout << "num 大于 10 且为奇数" << std::endl;
}
} else {
std::cout << "num 小于或等于 10" << std::endl;
}
return 0;
}
通过灵活运用这些判断结构语句,可以编写出具有复杂逻辑和强大功能的 C++ 程序,根据不同的输入和条件做出相应的处理和响应。
if
语句通常是最直接和易于理解的。switch
语句在处理多个离散的 case
时可能会更高效,因为编译器可能会将其优化为跳转表,提高性能。判断结构语句是 C++ 程序控制流的重要组成部分,合理使用可以使程序逻辑清晰、简洁和高效。