嵌套循环
作用:在循环中在嵌套一层循环,解决一些实际问题。
乘法口诀表案例:
#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 函数返回值;//
}