C++ 程序流程结构--选择结构---if语句
4 程序流程结构
C/C++ 支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构
- 顺序结构:程序顺序执行,不发送跳转
- 选择结构:依据条件是否满足,有选择的执行相应功能
- 循环结构:依据条件是否满足,循环多次执行某段代码
4.1 选择结构
4.1.1 if语句
作用:执行满足条件的语句
if 语句的三种形式
- 单行格式 if 语句
- 多行格式 if 语句
- 多条件的 if 语句
- 单行格式 if 语句:
if(条件) { 条件满足执行的语句 }

示例:
#include <iostream>
using namespace std;
int main() {
// 选择结构 单行 if 语句
// 用户输入分数,如果分数大于600,视为考上一本大学,在屏幕上输出
int fraction = 0;
// 1、用户输入分数
cout << "请输入你的分数:" << endl;
cin >> fraction;
// 2、打印用户输入的分数
cout << "输入的分数为:" << fraction << endl;
// 3、判断分数是否大于600,如果大于,那么输出
// 注意事项,if 条件后面不要加分号
if (fraction > 600)
{
cout << "恭喜你,考上了一本" << endl;
}
system("pause");
return 0;
}
注意:if 条件表达式后不要加分号
- 多行格式if语句:
if(条件) { 条件满足时执行的语句 } else { 条件不满足执行的语句 };

示例:
#include <iostream>
using namespace std;
int main() {
// 选择结构 - 多行 if 语句
// 输入考试分数,如果分数大于600,视为考上一本大学,在屏幕上输出
// 如果没考上一本大学,打印未考上
int fraction = 0;
// 1、输入考上分数
cout << "请输入一个考试分数:" << endl;
cin >> fraction;
// 2、提示用户输入的分数
cout << "您输入的分数为:" << fraction << endl;
// 3、判断 古国大于600,打印考上一本,否则打印未考上
if (fraction > 600) // 大于600执行下面大括号中的内容
{
cout << "恭喜 考上一本!" << endl;
}
else // 不大于600分,执行else后大括号的内容
{
cout << "未考上一本" << endl;
}
system("pause");
return 0;
}
- 多条件的 if 语句:
if(条件1) { 条件1满足执行的语句 } else if(条件2) { 条件2满足执行的语句 }... else { 都不满足执行的语句 }

示例:
#include <iostream>
using namespace std;
int main() {
// 选择结构 多条件 if 语句
// 输入一个考试的分数
// 如果大于600分,视为考上一本大学,在屏幕上输出
// 大于500,视为考上二本大学,屏幕输出
// 大于400,视为考上三本大学,屏幕输出
// 小于等于400分,视为未考上本科,屏幕上输出
int fraction = 0;
// 1、用户输入分数
cout << "请输入一个考试的分数:" << endl;
cin >> fraction;
// 2、提示用户输入的分数
cout << "您输入的考试分数为:" << fraction << endl;
// 3、判断
// 如果大于600,考上一本
if (fraction > 600)
{
cout << "您考上了一本大学" << endl;
}
// 如果大于500,考上二本
else if (fraction > 500)
{
cout << "您考上了二本大学" << endl;
}
// 如果大于400,考上三本
else if (fraction > 400)
{
cout << "您考上了三本大学" << endl;
}
// 前三都没满足,未考上本科
else
{
cout << "未考上本科,请再接再励" << endl;
}
system("pause");
return 0;
}
嵌套if语句:在 if 语句中,可以嵌套使用 if 语句,达到更精确的条件判断
案例需求:
- 提示用户输入一个高考考试分数,根据分数做如下判断
- 分数如果大于600分视为考上一本,大于500分考上二本,大于400考上三本,其余视为未考上本科;
- 在一本分数中,如果大于700分,考入北大,大于650分,考入清华,大于600考入人大。
示例:
#include <iostream>
using namespace std;
int main() {
int fraction = 0;
// 1、用户输入一个分数
cout << "请输入考试的分数:" << endl;
cin >> fraction;
// 2、提示用户输入的分数
cout << "您的考试分数为:" << fraction << endl;
// 3、判断
// 如果大于600,考上一本
if (fraction > 600)
{
cout << "恭喜您考入了一本大学" << endl;
// 如果大于700,考上北大
if (fraction > 700)
{
cout << "您考上了北京大学" << endl;
}
// 如果大于650,考上清华
else if (fraction > 650)
{
cout << "您考上了清华大学" << endl;
}
// 如果大于600,考上人大
else
{
cout << "您考上了人民大学" << endl;
}
}
// 如果大于500,考上二本
else if (fraction > 500)
{
cout << "您考上了二本大学" << endl;
}
// 如果大于400,考上三本
else if (fraction > 400)
{
cout << "您考上了三本大学" << endl;
}
// 都不满足,未考上大学
else
{
cout << "您未考上大学" << endl;
}
system("pause");
return 0;
}
练习案例:三只小猪称体重
有三只小猪ABC,请分别输入三只小猪的体重,并且判断那只小猪最重?
#include <iostream>
using namespace std;
int main() {
double a = 0;
double b = 0;
double c = 0;
// 请输入第一只小猪的体重
cout << "请输入第一只小猪的体重:" << endl;
cin >> a;
// 打印第一只小猪的体重
cout << "第一只小猪的体重为:" << a << endl;
// 请输入第二只小猪的体重
cout << "请输入第二只小猪的体重:" << endl;
cin >> b;
// 打印第二只小猪的体重
cout << "第二只小猪的体重为:" << b << endl;
// 请输入第二只小猪的体重
cout << "请输入第三只小猪的体重:" << endl;
cin >> c;
// 打印第三只小猪的体重
cout << "第三只小猪的体重为:" << c << endl;
cout << "----------------------------------" << endl;
// 如果 a 比 b 重,那么 a 和 c 比
if (a > b)
{
// 如果 a 比 c 重,那么 a 最重
if (a > c)
{
cout << "第一只小猪最重,体重为:" << a << endl;
}
// 如果 a 没 c 重,那么 c 最重
else if (a < c)
{
cout << "第三只小猪最重,体重为:" << c << endl;
}
else
{
cout << "第一只和第三只小猪最重,体重为:" << c << endl;
}
}
// 反正 a 没 b 重,那么 b 和 c 比
else if (a < b)
{
// 如果 b 比 c重,那么 b 最重
if ( b > c)
{
cout << "第二只小猪最重,体重为:" << b << endl;
}
// 如果 b 没 c 重,那么 c 最重
else
{
cout << "第三只小猪最重,体重为:" << c << endl;
}
}
// 如果 a 和 b 一样重,那么 a 和 c 比
else
{
// 如果 a 比 c 重,那么 a 和 b 最重
if (a > c)
{
cout << "第一只和第二只小猪最重,体重为:" << a << endl;
}
// 如果 a 没 c 重,那么 c 最重
else if (a < c)
{
cout << "第三只小猪最重,体重为:" << c << endl;
}
// 如果 a 和 c 一样重,那么 a,b, c 一样重
else
{
cout << "三只小猪一样重,体重为:" << c << endl;
}
}
system("pause");
return 0;
}

浙公网安备 33010602011771号