C++学习笔记(二)程序流程结构

本文深入解析C/C++中的顺序、选择和循环结构,包括if语句的多种形式、三目运算符、switch语句及循环结构的使用,如while、do...while、for循环,还有嵌套循环的应用。同时,探讨了break、continue和goto等跳转语句的作用。
摘要由CSDN通过智能技术生成

1,程序流程结构

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

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

4.1 选择结构

4.1.1 if语句

作用:执行满足条件的语句
if语句的三种形式

  • 单行格式if语句
  • 多行格式if语句
  • 多条件的if语句

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

true
false
开始
判断条件
执行语句
结束

示例:

int main() {
	int a = 0;
	if(a > 5) {cout << "a > 5" << endl;}

	system("pause");
	return 0;
}

注意:if条件后面不加分号,加分号后无论条件是否满足都会执行

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

true
false
开始
判断条件
执行语句1
执行语句2
结束

示例:

int main() {
	int a = 1;
	if(a > 0)
	{
		cout << "a > 0" << endl;
	}
	else
	{
		cout << "a < o" << endl;
	}

	system("pause");
	return 0;
}

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

true
false
true
false
true
false
true
false
开始
判断条件1
执行语句1
判断条件2
执行语句2
.......
......
判断条件n
执行语句n
执行语句n+1
结束

示例:

int main() {
	int a = 5;
	if(a < 0){
		cout << "a < 0" << enddl;
	}
	else if(a < 10){
		cout << "a <10" << endl;
	}
	else{ 
		cout << "a > 10" << endl; 
	}
	system("pause");
	return 0;
}

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

案例需求:

  • 提示用户输入一个高考考试分数,根据分数做如下判断;
  • 分数如果大于600分视为考上一本,大于500分视为考上二本,大于400分视为考上三本,其余视为未考上本科;
  • 在一本分数中,如果大于700分,考入北大;大于650分,考入清华,大于600考入人大

示例

int main() {
	int score = 0;

	cout << "请输入您的分数" << endl;
	cin >> score;

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

4.1.2 三目运算符

作用:通过三目运算符实现简单的判断
语法:表达式1?表达式2 :表达式3
解释:
如果表达式1的值为真,执行表达式2,并返回表达式2的结果;
如果表达式1的值为假,执行表达式3,并返回表达式3的结果。
示例

int main() {
	int a = 10;
	int b = 20;
	int c = 0;
	
	//如果a大于b则返回a的值,否则返回b的值
	c = a > b ? a : b;

	cout << "c = " << c << endl;

	//在C++中三目运算符返回的是变量,可以继续赋值
	(a > b ? a : b) = 100;
}

4.1.3 switch语句

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

switch(表达式)
{
	case 结果1:执行语句1breakcase 结果2;执行语句2break......
	default:执行语句n;break}

4.2 循环结构

4.2.1 while循环语句

作用:满足循环条件,执行循环语句
语法:while(循环条件){循环语句}
解释:只要循环条件的结果为真,就执行循环语句

true
false
开始
循环条件
执行语句
结束

示例

int main() {
	//while循环
	//在屏幕中打印0~9,10个数字
	int num = 0;
	while()
	{
		cout << num << endl;
		num++;
	}
	system("pause");
	return 0;
}

4.2.2 do…while循环语句

作用:满足循环语句,执行循环条件
语法:do{循环语句}while(循环条件);
注意:与while的区别在于do…while会先执行一次循环语句,再判断循环条件

true
false
开始
执行语句
循环条件
结束

示例:

int main() {
	//do...while循环
	//在屏幕中输出0~9,10个数字

	int num = 0;

	do{
		cout << num << endl;
		num++;
	}
	while(num < 10);
	system("pause");
	return 0;
}

4.2.3 for循环语句

作用:满足循环条件,执行循环语句
语法:for(其实表达式,条件表达式;末尾循环体){循环语句};
示例:

int main() {
	for (int i = 0;i < 10;i++)
	{
		cout << i << endl;
	}
	system("pause");
	return 0;
}

4.2.4 嵌套循环

作用:在循环体中再嵌套一层循环,解决一些实际问题
例如,我们想绘制一个二维矩阵,利用嵌套循环可以快速绘制

int main() {

	for (int j = 0; j < 10; j++) {
		for (int i = 0; i < 10; i++) {
			cout << "* ";

		}
		cout << endl;
	}


	system("pause");

	return 0;
}

在这里插入图片描述
用嵌套循环完成一个乘法口诀表


int main() {

	
	//乘法口诀表
	for (int i = 1; i <= 9;i++) {
		for (int j = 1; j <= i;j++) {
			cout << j << "*" << i << " = " << j*i << " ";
			
		}
		cout << endl;
	}


	system("pause");

	return 0;
}

4.3 跳转语句

4.3.1 break语句

作用:用于跳出选择结构或者循环结构
break使用的时机:

  • 出现在switch条件语句中,作用是终止case并跳出switch
  • 出现在循环语句中,作用是跳出当前的循环语句
  • 出现在嵌套循环中,跳出最近的内层循环语句
    示例:
int main() {
	//1,在switch语句中使用break
	cout << "请选择您挑战副本的难度" << endl;
	cout << "1,普通" << endl;
	cout << "2,中等" << endl;
	cout << "3,困难" << endl;

	int num = 0;

	cin >> num;

	switch(num) {
		case 1:
			cout << "您选择的是普通难度" << endl;
			break;
		case 2:
			cout << "您选择的是中等难度" << endl;
			break;
		case 3:
			cout << "您选择的是困难难度" << endl;
			break;
	}
	//2,出现在循环语句中
	for (int i = 0;i < 10;i++) {
		if (i == 5)	{
		break;
		}
		cout << i << endl;
	}

}

4.3.2 continue语句

作用:在循环语句中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环
示例:

int main() {
	for (int i = 0;i < 100;i++) {
	//如果是偶数,则跳过输出,奇数则输出
		if(i % 2 == 0) {
			continue;
		}
		cout << i << endl;
	}
	system("pause");

	return 0;
}

4.3.3 goto语句

作用:可以无条件跳转语句
语法:goto 标记;
解释:如果标记的名称存在,执行到goto语句时,会跳转到标记的位置
注意:尽量不要使用goto
示例:

int main() {
	cout << "1" <<endl;

	goto FLAG;

	cout << "2" << endl;
	cout << "3" << endl;
	cout << "4" << endl;

	FLAG;

	cout << "5" << endl;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>