C++ 程序流程结构--选择结构---if语句

4 程序流程结构

C/C++ 支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构

  • 顺序结构:程序顺序执行,不发送跳转
  • 选择结构:依据条件是否满足,有选择的执行相应功能
  • 循环结构:依据条件是否满足,循环多次执行某段代码

4.1 选择结构

4.1.1 if语句

作用:执行满足条件的语句

if 语句的三种形式

  • 单行格式 if 语句
  • 多行格式 if 语句
  • 多条件的 if 语句
  1. 单行格式 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 条件表达式后不要加分号

  1. 多行格式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;
}
  1. 多条件的 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;
}
posted @ 2021-12-27 21:01  萨塔妮娅  阅读(647)  评论(0)    收藏  举报