[黑马程序员C++笔记]P24-P30选择结构

视频地址:黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难_哔哩哔哩_bilibili

目录

P24程序流程结构-选择结构-单行if语句

P25程序流程结构-选择结构-多行if语句

P26程序流程结构-选择结构-多条件if语句

P27程序流程结构-选择结构-嵌套if语句

P28程序流程结构-选择案例结构-三只小猪称体重

P29程序流程结构-选择结构案例-三目运算符


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

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

P24程序流程结构-选择结构-单行if语句

选择结构

if语句

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

if语句的三种形式:

  • 单行格式if语句
  • 多行格式if语句
  • 多条件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;
}

当输入的分数为大于600的数(此处为624),结果为:

当输入的分数小于600时(此处为520),结果为:

P25程序流程结构-选择结构-多行if语句

 多行格式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) {
		cout << "恭喜您考上一本大学" << endl;
	}
	else {
		cout << "未考上一本大学" << endl;
	}
	system("pause");
	return 0;
 }

当输入的分数为大于600的数(此处为624),结果为: 

 当输入的分数小于600时(此处为520),结果为:

P26程序流程结构-选择结构-多条件if语句

多条件if语句:if(条件){条件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、判断
	if (score > 600) {
		cout << "您考上了一本大学" << endl;
	}
	else if (score > 500) {
		cout << "您考上了二本大学" << endl;
	}
	else if (score > 400) {
		cout << "您考上了三本大学" << endl;
	}
	else {
		cout << "您没有考上大学" << endl;
	}

	system("pause");
	return 0;
}

任意输入一个数值,运行后的结果为:

P27程序流程结构-选择结构-嵌套if语句

#include <iostream>
using namespace std;
int main() {
	//选择结构 - 多条件if语句
	//输入一个考试分数,如果大于600分,视为考上一本大学,在屏幕输出
	   //大于700清华
	   // 大于650北大
	   // 其余人大 
	//大于500,视为考上二本大学,屏幕输出
	//大于400,视为考上三本大学,屏幕输出
	//小于等于400分,视为未考上本科,屏幕上输出

	//1、用户输入分数
	int score = 0;
	cout << "请输入您的考试分数:" << endl;
	cin >> score;
	//2、提示用户输入的分数
	cout << "您输入的考试分数为:" << score << endl;
	//3、判断
	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;
}

 任意输入一个数值,运行后的结果为:

P28程序流程结构-选择案例结构-三只小猪称体重

案例:三只小猪A,B,C称体重,判断哪只最重

首先判断A和B哪个重,

若A重       让A和C比较:

                 若还是A重,结果是A最重

                  若C重,结果是C重

若B重        让B和C比较:

                  若B重,结果是B重

                  若C重,结果是C重

#include <iostream>
using namespace std;

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;
    //判断哪只最重
	if (num1 > num2) {
		if (num1 > num3) {
			cout << "小猪A最重" << endl;
		}
		else {
			cout << "小猪C最重" << endl;
		}
	}
	else {
		if (num2 > num3) {
			cout << "小猪B最重" << endl;
		}
		else {
			cout << "小猪C最重" << endl;
		}
	}
	system("pause");
	return 0;
}

分别输入三只小猪的重量后,运行后的结果为:

P29程序流程结构-选择结构案例-三目运算符

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

语法:表达式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;
}

运行后的结果为:

P30程序流程结构-选择结构-switch语句

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

语法:

switch(表达式)

{

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

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

...

default:执行语句;break;

}

示例:

#include <iostream>
using namespace std;

/*
* switch (表达式) {
case 结果1:执行语句; break;
case 结果2:执行语句; break;
	...
default:执行语句;break;
}
*/
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;
	}
}

 运行后的结果为:

注意1:switch语句中表达式类型只能是整型或者字符型

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

总结:与if语句相比,对于多条件判断时,switch的结构清晰,执行效率高,缺点是switch不可以判断区间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值