C++ 6.程序流程结构—选择结构(嵌套if语句、经典问题三只小猪称体重、三目运算符、switch语句)

注意事项:if 后不要加分

#include <stdio.h>
#include <iostream>
using namespace std;
/*------------------------------------------------------------------------------
程序流程结构
1.顺序结构:程序按顺序执行,不发生跳转
2.选择结构:依据条件是否满足,有选择的执行相应功能
	if语句:
		单行
		多行
		多条件-if,else if ...else
3.循环结构:依据条件是否满足,循环多次执行某段代码
------------------------------------------------------------------------------*/
//2.选择结构 和 嵌套if语句
int main()
{
	//1. 用户输入分数
	int score = 0;
	cout <<"请输入一个分数"<< endl;
	cin >> score;

	//2.打印用户输入的分数
	cout <<"分数为"<<score<< endl;

	// 3.判断分数是否大于某值
	//注意事项:if 后不要加分 
	if (score > 600)
	{
		cout << "恭喜考上一本" << endl;

		//嵌套if语句
		if (score > 700)
		{
			cout << "恭喜考上大学1" << endl;
		}
		else if (score > 650)
		{
			cout << "恭喜考上大学2" << endl;
		}
		else
		{
			cout << "恭喜考上大学3" << endl;
		}
	}
	else if(score > 500)//第二个条件判断
	{
		cout << "恭喜考上二本" << endl;
	}
	else
	{
		cout << "未考上一、二本" << endl;
	}

	system("pause");
	return 0;
}
/*------------------------------------------------------------------------------
选择结构案例:三只小猪称体重,判断哪只最重
------------------------------------------------------------------------------*/
int main()
{
	//创建三只小猪的体重变量
	int num1 = 0;
	int num2 = 0;
	int num3 = 0;

	//让用户输入三只小猪的体重
	cout << "请输入小猪A的体重" << endl;
	cin >> num1;

	cout << "请输入小猪B的体重" << endl;
	cin >> num2;

	cout << "请输入小猪C的体重" << endl;
	cin >> num3;

	cout << "小猪A的体重" << num1 << endl;
	cout << "小猪B的体重" << num2 << endl;
	cout << "小猪C的体重" << num3 << endl;
	//判断哪只最重
	//先判断A与B谁重
	if (num1 > num2)  //A比B重
	{
		if (num1 > num3)//A比C重
		{
			cout << "小猪A最重" << endl;
		}
		else//C比A重
		{
			cout << "小猪C最重" << endl;
		}
	}
	else //B比A重
	{
		if (num2 > num3)//B比C重
		{
			cout << "小猪B最重" << endl;
		}
		else//C比B重
		{
			cout << "小猪C最重" << endl;
		}
	}
	system("pause");
	return 0;
}
/*------------------------------------------------------------------------------
选择结构案例:三目运算符
作用:通过三目运算符实现简单的判断
语法:表达式1?表达式2?表达式3
解释:
如果表达式1的值为真,执行表达式2,并返回表达式2的结果
如果表达式1的值为假,执行表达式3,并返回表达式3的结果
------------------------------------------------------------------------------*/
int main()
{
	//创建三个变量a b c
	//将a和b作比较,将变量大的值赋给变量c
	int a = 10;
	int b = 20;
	int c = 0;

	c = (a > b ? a : b);
	cout << "c=" << c << endl;
	//在C++中三目运算符返回的是变量,可以继续赋值
	(a > b ? a : b) = 100;  // a > b 返回 b = 100
	cout << "a=" << a << endl;
	cout << "b=" << b << endl;
	system("pause");
	return 0;
}
/*------------------------------------------------------------------------------
选择结构——switch语句
作用:执行多条件分支语句
语法:
switch(表达式)
{
	case 结果1:执行语句;break;
	case 结果2:执行语句;break;
	...
	default:执行语句;break;
}
------------------------------------------------------------------------------*/
int main()
{
	//给电影打分
	//1.提示用户给电影打分
	cout << "请给用户进行打分" << endl;

	//2.用户开始进行打分
	int score = 0;
	cin >> score;
	cout << "您打的分数是:" << score << endl;

	//3.根据用户输入的分数来提示用户最后的结果
	switch (score)
	{
	case 10:
		cout << "您认为是经典电影" << endl;
		break;  //退出当前分支
	case 9:
		cout << "您认为是经典电影" << endl;
		break;
	case 8:
		cout << "您认为电影非常好" << endl;
		break;
	case 7:
		cout << "您认为电影非常好" << endl;
		break;
	case 6:
		cout << "您认为电影一般 " << endl;
		break;
	case 5:
		cout << "您认为电影一般" << endl;
		break;
	default:
		cout << "您认为这是烂片" << endl;
		break;
	}
	system("pause");
	return 0;
}

if和switch区别:

switch缺点,判断时候只能是整型或字符型,不可以是一个区间;

switch优点,结构清晰,执行效率高。

注意事项:case里如果没有break,那么程序会一直向下执行。

上一篇:12,2


下一篇:【Go流程控制结构】