C++ 基础入门篇4.1:选择结构

选择结构:依据条件是否满足,有选择的执行相应功能

选择结构分类如下:
(1)if语句

(2)三目运算符

(3)switch语句

 1.if语句

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

if语句分为三种形式

(1)单行格式if语句

(2)多行格式if语句

(3)多条件的if语句

(1)单行格式的if语句:if(条件){ 条件满足执行的语句 };

#include<iostream>
using namespace std;

int main()
{
	// 选择语句 单行if语句
	
	// 用户输入分数,如果分数大于600,则视为考上一本大学,在屏幕输出

	// 1、用户输入分数
	int score = 0;
	cout << "请输入一个分数:" << endl;
	cin >> score;

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

	// 3、判断分数是否大于600,如果大于,那么输出
	// 注意事项,if条件后面不要加分号
	if (score > 600)
	{
		cout << "恭喜您考上一本大学!" << endl;
	}

	system("pause");
	
	return 0;
}

(2)多行格式的if语句:if(条件) { 条件满足执行的语句 }else{ 条件不满足执行的语句 };

#include<iostream>
using namespace std;

int main()
{
	// 选择结构:多行if语句
	// 输入考试分数,如果分数大于600,视为考上一本大学,在屏幕上输入
	// 如果没考上一本大学,则未考上一本大学

	// 1. 输入考试分数
	int score = 0;
	cout << "请输入一个考试分数:" << endl;
	cin >> score;

	// 2. 提示用户输入的分数
	cout << "您输入的分数为:" << score << endl;

	// 3. 判断 如果大于600,打印考上一本,否则打印未考上一本
	if (score > 600) // 大于600分执行下面大括号内容
	{
		cout << "恭喜您考上一本大学!" << endl;
	}
	else //不大于600分数,执行else大括号内容
	{
		cout << "未考上一本大学" << endl;
	}

	system("pause");

	return 0;
}

(3)多条件if语句:if(条件1){ 条件1满足执行的语句 }else if(条件2){条件2满足执行的语句}... else{ 都不满足执行的语句};

#include<iostream>
using namespace std;

int main()
{
	// 选择结构:多条件if语句
	// 输入一个考试分数,如果大于600分,视为考上一本大学,在屏幕输出
	// 大于500,视为考上二本大学,屏幕输出
	// 大于400,视为考上三本大学,屏幕输出
	// 小于等于400,视为未考上本科,屏幕输出

	// 1. 用户输入分数
	int score = 0;
	cout << "请输入您的考试分数:" << endl;
	cin >> score;

	// 2. 提示用户输入的分数
	cout << "您输入的考试分数为:" << score << endl;

	// 3. 判断
	// 如果大于600,考上一本
	// 如果大于500,考上二本
	// 如果大于400,考上三本
	// 前三个都没有满足,则为未考上本科
	if (score > 600)
	{
		cout << "恭喜您考上一本大学" << endl;
	}
	else if (score > 500)
	{
		cout << "恭喜您考上二本大学" << endl;
	}
	else if (score > 400)
	{
		cout << "恭喜您考上了三本大学" << endl;
	}
	else
	{
		cout << "您未考上本科大学,请再接再厉" << endl;
	}

	system("pause");

	return 0;
}

嵌套f语句作用:在if语句中,可以嵌套使用if语句,达到更为精确的条件判断

案例需求:

(1)提示用户输入一个高考考试分数,根据条件做出盘带你

(2)分数如果大于600分则视为考上一本,大于500分则视为考上二本,大于400分考上三本,其余视为未考上本科

(3)在一本分数中,如果大于700,则考入北大,大于650,则考入清华,大于600,则考入人大。

#include<iostream>
using namespace std;

int main()
{
	// 1、提示输入高考分数
	int score = 0;
	cout << "请输入您高考的分数:" << endl;
	cin >> score;
	// 2、显示高考分数
	cout << "您输入的分数为:" << endl;

	// 3、判断
	// 如果大于600 一本
		//大于700 北大
		// 大于650 清华
		// 大于600 人大 
	// 如果大于500 二本
	// 如果大于400 三本
	// 其余情况,未考上本科
	if (score > 600)
	{
		cout << "恭喜您考入一本大学" << endl;
		if (score > 700)
		{
			cout << "您能考入北京大学" << endl;
		}
		else if (score > 650)
		{
			cout << "您能考入清华大学" << endl;
		}
		else
		{
			cout << "您能考入人民大学" << endl;
		}
	}
	else if (score > 500)
	{
		cout << "恭喜您考入二本大学" << endl;
	}
	else if (score > 400)
	{
		cout << "恭喜您考入三本大学" << endl;
	}
	else
	{
		cout << "未考上本科,请再接再厉" << endl;
	}
	system("pause");

	return 0;
}

 练习案例:三只小猪称体重

有三只小猪ABC,请分别输入三只小猪的体重,并且判断哪只小猪最重?

#include<iostream>
using namespace std;

int main()
{
	// 三只小猪称体重,判断哪只最重

	// 创建三只小猪的体重变量
	int num1 = 0;
	int num2 = 0;
	int num3 = 0;

	// 2、让用户输入三只小猪的体重
	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
		{
			cout << "小猪C最重" << endl;
		}
	}
	else // B比A重
	{
		if (num2 > num3) // B比C重
		{
			cout << "小猪B最重" << endl;
		}
		else // C比B重
		{
			cout << "小猪C最重" << endl;
		}

	}
	system("pause");

	return 0;
}

2. 三目运算符

三目运算符作用:通过三目运算符实现简单的判断

语法:表达式1 ? 表达式2 : 表达式3

解释:

如果表达式1的值为真,执行表达式2,并返回表达式2的结果

如果表达式1的值为假,执行表达式3,并返回表达式3的结果

#include<iostream>
using namespace std;

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;
	cout << "a = " << a << endl;
	cout << "b = " << b << endl;

	system("pause");

	return 0;
}

3.switch语句

switch语句作用:执行多条件分支语句

语法:

switch(表达式)

{

        case 结果1:执行语句;break;

        

        case 结果2:执行语句;break;

        

        ...

        default:执行语句;break;

}

#include<iostream>
using namespace std;

int main()
{
	// switch语句
	// 给电影进行打分
	// 10~9 经典
	// 8~7 非常好
	// 6~5 一般
	// 5以下 烂片

	// 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;
	}

	// if和switch区别
	// switch缺点:判断时候只能是整型或字符型,不可以是一个区间
	// swicth优点:结构清晰,执行效率高


	system("pause");

	return 0;
}

  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万喵字节

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值