一、学习目标

  1. 了解二维数组的使用方法
  2. 了解循环嵌套的使用方法

目录

预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:《软件介绍》
想了解编译原理和学习方法点这篇,学习方法和一些原理C++与C都是相同的《脱离学习误区》

《零基础看得懂的C++入门教程 》——(1)第一个C++程序就让你知其所以然
《零基础看得懂的C++入门教程 》——(2)什么是数据类型、变量?一看便会
《零基础看得懂的C++入门教程 》——(3)表达式花样挺多鸭
《零基础看得懂的C++入门教程 》——(4)条件判断原来如此
《零基础看得懂的C++入门教程 》——(5) 容我套个娃 循环
《零基础看得懂的C++入门教程 》——(6)自己动手写个函数
《零基础看得懂的C++入门教程 》——(7)小数组玩起来

推荐

1.《备受好评的看得懂的C语言入门教程》

欢迎大家关注公众号,公众号每满1024及1024倍数则会抽奖赠送机械键盘一份+IT书籍2份哟~

二、了解C++语言的二维数组的使用方法

上一章我们学习了C++的一位数组,知道了数组是相同类型值的集合,这一节学习C++的二维数组。

一维数组可以当成是一排的数据,在这里我使用排队作为举例,在排队时只有一横排,没有纵列我们可以当成一维数组;这个时候队伍是一条线,只有横排的同学,例如第一个名叫小明、第二个叫小黄、第三个叫小绿一共有十个同学。

在数组中,是从0开始数数,第一个为数组名加一个下标0,如数组a写成a[0]指代第一个小明,a[1]则表示小黄。当数组是两排的时候该如何去进行表示呢?这个时候就需要二维数组了。依旧是用排队作为例子,现在队伍增加成两排,每排十个人,第二排的第一个人该如何用数组表示呢?由于在数组中是使用0表示第一个数组元素,第二排第一个人则可以表示为 [1][0],其中一个[]表示一个维度,两个[]则表示二维数组。再次强调,数组中第2排,从排数上来说是从0到1,0表示第一排那么1则表示第二排,所以第一个下标是1;由于是第二排的第一个元素,数组的元素0表示第一个,所以第二排第一个元素则可以表示为[1][0],假设数组名为a,那么则可以写成a[1][0]

2.1 了解C++中二维数组的使用方法
现在有一个数集{1,2,3,4,5,6,7,8,9,10}需要在C++中使用二维数组表示可以写成:

int a[2][5]={1,2,3,4,5,6,7,8,9,10};

以上代码中 a[2][5] 表示数据有两排(两行),每行5个元素;之后的数据{1,2,3,4,5,6,7,8,9,10}将会分为2行存储,第一行数据为1,2,3,4,5,第二行数据为 6,7,8,9,10。取第二行第3个数据可以写为 a[1][2],取第一行第2个数据可以写成a[0][1]

使用以下代码尝试获取数组的值:

#include<iostream>
using namespace std;
int main() {int a[2][5]={1,2,3,4,5,6,7,8,9,10};cout<<"数组a[0][1]的值是"<<a[0][1]<<endl;cout<<"数组a[0][2]的值是"<<a[0][2]<<endl;cout<<"数组a[1][0]的值是"<<a[1][0]<<endl;
}

结果如下:

二维数组也可以进行值的更改,如下代码:

#include<iostream>
using namespace std;
int main() {int a[2][5]={1,2,3,4,5,6,7,8,9,10};cout<<"数组a[0][1]的值是"<<a[0][1]<<endl;a[0][1]=1111; cout<<"数组a[0][1]的值是"<<a[0][1]<<endl;
}

运行结果为:

三、了解嵌套循环及二维数组的综合使用

嵌套循环时指循环的代码中含有循环代码,如for循环内也有一个for循环。

3.1了解循环嵌套的使用方法
假设两个for循环进行嵌套,外部的for循环跳出的条件是i<5,i初始值是0,外部的循环则会循环5次;内部的for循环的循环条件为j<5,j初始值为0。那么当外面循环1次那么内部的for循环就会循环5次;外部循环则需要条件不成立的时候才能跳出来,循环1次明显不满足跳出的情况还将继续循环;这是就会造成外部for循环一次,里面循环5次。我们用例子看看,演示代码如下:

#include<iostream>
using namespace std;
int main() {int i,j; for(i=0;i<5;i++) {for(j=0;j<5;j++) {cout<<"外面一个循环的i的值是"<<i<<",里面for循环j的值是"<<j<<endl;}cout<<endl;;}
}

以上代码定义了两个变量,一个是i,另一个是j。i与j在for循环内进行了初始化,i=0;与j=0;,这句代码在执行整个循环时,只执行一次,除非再次从头开始循环,这段代码将会再次执行。外部for循环与内部for循环条件一致,均是循环变量小于5,只是循环变量不同,由于循环时,循环变量会增加,由于循环嵌套,外部循环执行1次,则内部循环将会执行5次,我们可以查看以下结果直观的查看。

运行结果如下:

3.2 了解循环嵌套与二维数组的综合使用
上一小节中,我们得知循环嵌套会导致外部循环执行一次,内部循环会执行多次的情况。得知了这个特性后,我们可以使用循环嵌套获取二维数组的所有值。

假设有一个二维数组为2行,每行的元素为5个,我们获取第一行的元素是[0][1],[0][2],[0][3],[0][4],[0][5],,我们可以明显的发现,第一维下标并不会发生改变,而是第二位的下标逐个加1,那么可以使用循环嵌套取得所有的值,代码如下:

#include<iostream>
using namespace std;
int main() {int a[2][5]={1,2,3,4,5,6,7,8,9,10};int i,j; for(i=0;i<2;i++) {for(j=0;j<5;j++) {cout<<"数组 "<<i<<" "<<j<<" 的值是 "<<a[i][j]<<endl;}}
}

以上代码中,外部循环的内容为i小于2,每次加1,内部循环的j小于5,每次加1,那么外部循环执行一次内部循环则会执行5次。外部循环的i为0时,内不循环执行第一次则为a[0][0] 第二次则为 a[0][1],我们将变量i和j当作a数组的下标,这时将会获取所有的二维数组值。

结果如下:

四、总结

通过以上描述与讲解,我们了解了以下几点内容:

  1. 了解了二维数组的取值
  2. 了解循环嵌套的使用方法
  3. 了解综合使用循环嵌套获取二维数组的值

《零基础看得懂的C++入门教程 》——(8)搞定二维数组与循环嵌套相关推荐

  1. 《零基础看得懂的C++入门教程 》——(7)小数组玩起来

    一.学习目标 了解数组的使用方法 了解一维数组的使用方法 了解一维数组与循环的使用方法 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软件介绍> 想 ...

  2. 取得数组下标_《零基础C++入门教程》——(8)搞定二维数组与循环嵌套

    一.学习目标 了解二维数组的使用方法 了解循环嵌套的使用方法 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<零基础看得懂的C语言入门教程>--(二) ...

  3. 《零基础看得懂的C++入门教程 》——(10)面向对象

    一.学习目标 了解C++类是什么 了解类对象与类型修饰一样进行创建 了解了类的属性如何使用 了解了类方法的使用方法 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可: ...

  4. 《零基础看得懂的C++入门教程 》——(9)结构体原来如此

    一.学习目标 了解C++语言的结构体的使用方法 了解C++语言结构体的结构的赋值 了解多种C++语言结构体变量的赋值方法和取值方法 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的 ...

  5. 《零基础看得懂的C++入门教程 》——(6)自己动手写个函数

    一.学习目标 了解C语言的自定义函数的使用方法 了解C语言自定义函数的传参 了解C语言自定义函数的返回值 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软 ...

  6. 《零基础看得懂的C++入门教程 》——(5) 容我套个娃 循环

    一.学习目标 了解循环的使用方法 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软件介绍> 想了解编译原理和学习方法点这篇,学习方法和一些原理C++ ...

  7. 《零基础看得懂的C++入门教程 》——(4)条件判断原来如此

    一.学习目标 了解什么是条件判断 了解多个条件判断 了解输入 了解什么是逻辑与.逻辑或 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软件介绍> 想 ...

  8. 《零基础看得懂的C++入门教程 》——(3)表达式花样挺多鸭

    一.学习目标 了解变量之间的计算 了解什么是表达式 了解什么是自增.自减 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软件介绍> 想了解编译原理和 ...

  9. 《零基础看得懂的C++入门教程 》——(2)什么是数据类型、变量?一看便会

    一.学习目标 了解基本常用的数据类型 了解什么是变量 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软件介绍> 想了解编译原理和学习方法点这篇,学习 ...

最新文章

  1. 防抖 节流_关于防抖和节流
  2. Android事件机制
  3. 我的世界服务器伤害增加bug,我的世界服务器BUG解决办法大全
  4. Intel Realsense D435 如何设置曝光参数(exposure)
  5. SSH初体验系列--Hibernate--1--环境配置及demo
  6. 用python写linux中的ls,Python实现Linux环境下的ls命令
  7. 高阶函数-语法糖-lambda(三分钟读懂)
  8. 最佳开源大数据工具-2015
  9. COVID-19知识图谱问答系统(基于REFO)
  10. 如果机械工程师分等级的话,你在哪个等级,我是婴儿级
  11. 牛客 检测命令是否正确
  12. 一个WinForm程序的生与死
  13. onblur属性详解
  14. 王柏北邮计算机副院长,“中国电信上海研究院—北京邮电大学计算机学院战略合作框架协议”签约仪式隆重举行...
  15. 内网环境下使用rpm包制作yum数据源及使用
  16. SpringBoot如何自定义启动的Banner 在线生成SpringBoot启动的Banner工具 如何使用在线生成工具生成的SpringBoot的Banner
  17. 用Visio画深度学习模型矢量图
  18. Ansj中文分词说明
  19. java英雄联盟战斗力题目,Java 查询英雄联盟玩家战绩
  20. es bulk java_ES 操作之批量写-BulkProcessor 原理浅析

热门文章

  1. 穿背心的老院士,86岁,重病,还在敲代码,单手!
  2. Github Actions 中 Service Container 的使用
  3. [Mvp.Blazor] 集成Ids4,实现统一授权认证
  4. ASP.NET Core分布式项目实战(运行Consent Page)--学习笔记
  5. ASP.NET Core+Quartz.Net实现web定时任务
  6. 2019年Linux与开源如何统治技术圈
  7. 使用 Azure DevTest Lab 搭建云端开发测试环境
  8. Microsoft REST API指南
  9. 【译】在 Linux 上不安装 Mono 构建 .NET Framework 类库
  10. 基于Jenkins Pipeline的ASP.NET Core持续集成实践