C++中的判断与循环

一.if判断语句

1.程序中的判断:

if (要执行的判断,最后的返回值要是bool型的数据) {
    如果为真,要执行的代码段;
}
#include"iostream" 
using namespace std;

int main() {
	int ans;
	cin >> ans;
	if (ans > 1000) {
		cout << "ans大于1000" << endl;
	} 
}

二.if else语句

应用场景:

在前面我们所了解的if语句中只能对一种情况进行判断,若满足,则执行,那么,不满足怎么办呢?

回答就是if else语句

1.程序中的判断:

#include"iostream" 
using namespace std;

int main() {
	if (条件判断语句) {
		若为真,则执行的代码段; 
	} else {
		若为假,则执行的代码段; 
	}
}

2.简单举例:

#include"iostream" 
using namespace std;

int main() {
	int month_money;
	cin >> month_money;
	if (month_money > 50000) {
		cout << "高富帅" << endl;
	} else {
		cout << "高帅" << endl;
	}
}

三.else if语句

应用场景:在某些情况下,判断条件不止一个,可能存在多个,那么这时候我们就需要用到else if语句了

1.程序中的判断:

#include"iostream" 
using namespace std;

int main() {
	if (条件判断1) {
		若1为真,执行的代码段; 
	} else if (条件判断2) {
		若2为真,执行的代码段; 
	} else if (条件判断n) {
		若n为真,执行的代码段; 
	} else {
		上面所有的条件全都不满足时执行的代码段; 
	}
}

2.举例:

#include"iostream" 
using namespace std;

int main() {
	int month_money;
	cin >> month_money;
	if (month_money < 10000) {
		cout << "小高富帅" << endl;
	} else if (month_money < 30000){
		cout << "高富帅" << endl;
	} else if (month_money < 50000) {
		cout << "大高富帅" << endl;
	} else {
		cout << "老高富帅" << endl;
	}
}

四.逻辑判断语句的嵌套

1.应用场景:

在很多场景中,并不仅仅只是多个并列条件,还会有满足前置条件才会二次判断的多层判断需求,我们要满足这种判断需求就需要用到嵌套判断语句

2.程序中的嵌套判断:

#include"iostream" 
using namespace std;

int main() {
	if (条件1) {
		代码段;
		if (满足条件1后的条件2) {
			代码段; 
		} else {
			// 代表满足条件一后不满足条件2
			代码段; 
		}
	} else {
		// 不满足条件1
		代码段; 
	}
}

3.举例:

#include"iostream" 
using namespace std;

int main() {
	int age;
	cout << "请输入您的年龄:" << endl;
	cin >> age;
	if (age >= 18) {
		cout << "您在生理上已经成年了" << endl;
		int salary;
		cout << "请输入您的每月工资" << endl;
		cin >> salary;
		if (salary > 8000) {
			cout << "您已经足够养活自己,过上还不错的日子了" << endl;
		} else {
			cout << "加油" << endl; 
		}
	} else {
		cout << "小朋友好好学习哦" << endl;
	}
}

五.基于逻辑运算符完成复杂判断

若有以下三种场景:

①:基于if else组合完成条件达成和未达成的代码执行

②:基于else if完成多个并行条件的判断

③:基于嵌套if完成多条件同时满足的判断

在场景不过于复杂的前提下,我们可以使用逻辑运算符快速完成上述需求

也就是&&(与),||(或),!(非)

1.&&

if (条件1 && 条件2) {
    只有条件1和2同时满足才会执行代码段;
}

2.||

if (条件1 || 条件2) {
    条件1或2只要满足一个即可执行代码段;
}

3.!

if (!条件) {
    只有当条件不成立才会执行代码段;
}

六.switch控制语句

1.应用场景:

在程序中经常有许多场景需要用到多条件判断,针对多条件判断的场景,我们需要用到switch控制语句

2.程序中:

#include"iostream" 
using namespace std;

int main() {
	switch (case) {
		case 1:
			代码段;
			break;
		case 2:
			代码段;
			break;
		...
		case n:
			代码段;
			break;
		default:
			若没有任何case符合,则执行这里的代码段;  
	}
}

注意:

①:在switch语句中仅仅做值匹配(相等的判断)

②:break语句可以中断switch语句,否则就会继续向下执行其他的case段,包括default段,直到执行完或者遇到break为止

3.举例:

#include"iostream" 
using namespace std;

int main() {
	int date;
	cout << "请输入今天是周几(数字1-7):";
	cin >> date;
	switch (date) {
		case 1:
			cout << "今天是周一" << endl;
			break;
		case 2:
			cout << "今天是周二" << endl;
			break;
		case 3:
			cout << "今天是周三" << endl;
			break;
		case 4:
			cout << "今天是周四" << endl;
			break;
		case 5:
			cout << "今天是周五" << endl;
			break;
		case 6:
			cout << "今天是周六" << endl;
			break;
		case 7:
			cout << "今天是周天" << endl;
			break;
		default:
			cout << "您的输入有误" << endl;
			break;
	}
}

七.while循环语句

在生活中我们普遍循环重复着一天又一天,在程序中也同样有着循环,并且其还占着举足轻重的作用

1.程序中的循环:

while (条件表达式) {
    循环体代码;
}

在while循环中,只要满足了while循环中的条件,那么就会一直执行while循环中的代码

2.举例:

#include"iostream" 
using namespace std;

int main() {
	int count = 1;
	cout << "好习惯的养成需要21天" << endl;
	while (count <= 21) {
		cout << "坚持学习" << endl;
		count++;
	}
}

3.do while循环

do while循环只是while循环的一个变换形式,与while循环在功能上的不同点在于while循环只会在条件判断成立时才执行循环体中的代码,而do while循环会首先执行一次循环体中的代码再判断是否符合条件,是否进入while循环中

4.程序中的do while循环:

do {
    循环体;
} while (条件表达式)

5.while循环嵌套

嵌套的思想我们在之前就已经提到过,因此直接上一个简单案例帮助大家理解吧

#include"iostream" 
using namespace std;

// 输出九九乘法表 
int main() {
	int i = 1;
	while (i <= 9) {
		int j = 1;
		while (j <= i) {
			cout << j << "*" << i << "=" << i * j << "\t";
			j++;
		}
		i++;
		cout << endl;
	}
}

八.for循环语句

除了while循环语句之外,C++还提供for循环语句完成循环

1.程序中的for循环语句:

#include"iostream" 
using namespace std;

int main() {
	for (循环因子初始化语句; 条件判断; 循环因子变化语句) {
		循环体; 
	} 
}

2.while循环与for循环的区别:

while循环中仅有条件判断,这是语法的要求,而循环因子是用户自行提供的

for循环中包含条件判断,循环因子初始化,循环因子变化,这些都是for循环语法中自带的功能

3.简单案例:

#include"iostream" 
using namespace std;

int main() {
	for (int i = 1; i <= 21; i++) {
		cout << "好好学习天天向上" << endl;
	}
}

4.for循环中的嵌套

同样还是嵌套的概念,直接给出简单的案例帮助大家理解

#include"iostream" 
using namespace std;

int main() {
	for (int i = 1; i <= 21; i++) {
		cout << "好好学习天天向上" << endl;
		for (int j = 1; j <= 3; j++) { // 这里作为循环因子的两个变量名不能相同,你应该能想明白是为什么吧 
			cout << "每天好好学习的奖励就是丰盛美味的一日三餐" << endl;
		}
	}
}

九.变量的作用域

1.前置知识:

在C++代码中,变量并不是随时随地都可以访问的,而是要看是否处于该变量的作用域中

2.怎么区分一个变量的作用域:

看变量定义在哪个大括号({})中,它被定义的大括号就是它的作用域(当然不包括它还没被定义的时候所在的位置)

#include"iostream" 
using namespace std;

int main() {
	// 上方不属于temple的定义域,因为还没被定义 
	int temple;
	// 在这之下的都是temple的作用域 
	for (int i = 1; i < 9; i++) {
		int ans;
		// ans的作用域仅限于每次它被for循环定义之后,在for循环中起作用 
	}
	// 这下面还属于ans的定义域吗?当然不是,因为ans只被局限于for循环中,根本出不来 
}

十.循环终端语句

1.前言:

无论是while循环还是for循环都是重复性的执行特定的操作,但是如果出现了某种情况,我想要跳过满足某种条件的某次循环,或者一旦满足了某种条件,我就中止这个循环,那么改怎么办呢?

2.continue和break关键字

我们使用continue关键字跳过某一次循环,直接执行下一次

#include"iostream" 
using namespace std;

int main() {
	for (int i = 1; i <= 5; i++) {
		if (i == 3) // 如果i等于3,那么跳过本次循环 
			continue;
		cout << i << endl;
	}
}

我们使用break关键字直接中止整个循环

#include"iostream" 
using namespace std;

int main() {
	for (int i = 1; i <= 5; i++) {
		if (i == 3) // 如果i等于3,那么中止整个for循环 
			break;
		cout << i << endl;
	}
}

注意:无论是continue还是break,都是在执行到它们的位置之后才会进行跳过或者终止,那么在它们之前书写的代码是不受影响的

#include"iostream" 
using namespace std;

int main() {
	for (int i = 1; i <= 5; i++) {
		cout << "上方的代码" << endl;  // 正常输出了5次,不受continue的影响 
		if (i == 3) // 如果i等于3,那么跳过本次循环 
			continue;
		cout << i << endl;
	}
}
#include"iostream" 
using namespace std;

int main() {
	for (int i = 1; i <= 5; i++) {
		cout << "上方的代码" << endl; // 输出了三次 
		if (i == 3) // 如果i等于3,那么中止整个for循环 
			break;
		cout << i << endl;
	}
}

十一.goto语句

1.goto语句的作用:

提供无条件跳转的功能

2.标签的概念:

我们定义一个标签配合goto进行使用,一旦遇到goto语句,就跳转到该标签的位置开始按顺序执行代码

3.标签的定义方式:

标签名:

4.goto语句的使用语法:

标签1:
    代码;
标签2:
    代码;
...
标签n:
    代码;
goto 标签5;

5.简单案例:

#include"iostream" 
using namespace std;

int main() {
	// 只要i小于等于10就会不断跳回到loop的位置重新开始执行 
	int i = 1;
	loop:
	cout << i << " ";
	i++;
	if (i <= 10)
		goto loop;
	cout << endl;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值