嵌套循环

80 阅读1分钟

嵌套循环

作用:在循环中在嵌套一层循环,解决一些实际问题。

乘法口诀表案例:

#include<iostream>
using namespace std;
int main()
{
	for (int i = 1; i < 10; i++) 
	{
		for (int j = 1; j <= i; j++) 
		{
			cout << i << "*" << j << "=" << i * j << "\t";
		}
		cout << endl;
	}
	system("pause");
	return 0;
}

跳转语句

作用:用于跳出选择结构或者循环结构

break跳出时机:

1.出现在switch条件语句中,作用用于终止擦色、并跳出switch

2.出现在循环体中,作用退出当前循环,出现在嵌套语句中,跳出最近的循环语句。

continue语句:

作用:在循环语句中,跳过本次循环,执行下一次循环。

goto语句:

作用:可以无条件跳转语句

语法:goto 标记(大写单词);

用法:当设置好goto标记时,在代码需要跳转的地方使用你设置好的标记名加上一个冒号,列如: MARK:

解释:如果标记的名称存在,执行到goto语句时,会跳转到标记的位置

#include<iostream>
using namespace std;
int main()
{
	cout << "1" << endl;
	cout << "2" << endl;
	goto MARK;
	cout << "3" << endl;
	cout << "4" << endl;
	MARK:
	cout << "5" << endl;//输出1,2,5,2和3都会跳过;
	system("pause");
	return 0;
}

数组

概述:数组相当于数学中的集合,里面存放了相同类型的数组元素

特点:数组中每个元素类型都是相同的,数组是由连续的内存位置组成的。

一维数组

一维数组定义有三种方式:

1.数组类型 数组名[数组长度];
2.数组类型 数组名[数组长度] = {值1,值2};//如果初始化数据的时候,没有全部填写完毕,它会用0来填补剩余数据,定义数组时候,必须要有初始的长度
3.数组类型 数组名[] = {值1,值2...}

拿到数组中的数据,可以通过下标来拿到数组的数据,数组下标默认从0开始,数组名不能和变量名一样,会导致冲突。

#include<iostream>
using namespace std;
int main()
{
	int arr[5];
	arr[0] = 10;
	arr[1] = 20;
	arr[2] = 30;
	arr[3] = 40;
	arr[4] = 50;
	int arr1[] = { 10,20,30,40,50 };
	int arr2[5] = { 10,50,60,30,70 };
	for (int i = 0; i < 5; i++)
	{
		cout << arr2[i] << endl;
	}
	system("pause");
	return 0;
}

统计数组的长度:我们可以使用sizeof来对一维数组进行统计数组长度,然后我们在统计一个数组中单个元素的长度,让他们相除便可以了。

sizeof(arr)/sizeof(arr[0])

获取一维数组的首地址:直接打印数组。

#include<iostream>
using namespace std;
int main()
{
	int arr[] = { 10,20,50,60,40 };
	for (int i = 0; i < sizeof(arr)/sizeof(arr[0]); i++)
	{
		cout << arr[i] << endl;
	}
	cout <<(int)arr << endl;//获取arr的地址
	cout << (int)&arr[1] << endl;//获取单个元素的地址
	system("pause");
	return 0;
}

三只小猪案例

#include<iostream>
using namespace std;
int main()
{
	int arr[5] = { 300,350,200,400,250 };
	int temp = 0;
	for (int i = 0; i < sizeof(arr)/sizeof(arr[0]); i++)
	{
		if (temp < arr[i])
		{
			temp = arr[i];
		}
	}
	cout << temp << endl;
	system("pause");
	return 0;
}

二维数组

二维数组就是在一维数组上加了一个维度

二维数组定义的四种方式:

1.数据类型 数组名[行数][列数];
2.数据类型 数组名[行数][列数] = {{数据1,数据2},{数据3,数据4}};
3.数据类型 数组名[行数][列数] = {数据1,数据2,数据3,数据4};
4.数据类型 数组名[][列数] = {数据1,数据2,数据3,数据4};

建议使用第二种方式。更加直观,提高代码的可读性。

二维数组数组名

查看二维数组所占内存空间,查看二维数组首地址。

所占空间跟数据类型和数据个数有关。

如int型则是一个数据占4个字节。

案例:

#include<iostream>
using namespace std;
int main()
{
	int arr6[3][3] = { {100,90,60},{100,50,70},{100,100,80} };
	int zhangsan=0;
	int lisi = 0;
	int wangwu = 0;
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 3; j++)
		{
			if (i == 0) {
				zhangsan += arr6[i][j];
			}
			if (i == 1) {
				lisi += arr6[i][j];
			}
			if (i == 2) {
				wangwu += arr6[i][j];
			}
		}
	}
	cout << "张三成绩:" << zhangsan << "\t";
	cout << "李四成绩:" << lisi << "\t";
	cout << "王五成绩:" << wangwu << "\t";
	system("pause");
	return 0;
}

上述有更简单的。

函数

作用:将一段经常用的代码进行封装起来,方便后面的复用。减少重复代码,更好的维护项目。

函数的定义:

5个步骤

1定义函数名、2,返回值类型、3.函数体语句、4.是否return,5是否有参数

语法:
返回值类型 函数名(参数1,参数2....){
函数体代码;
return 函数返回值;//
}