《6-3(二维数组的作用、定义、初始化和应用)ppt课件.ppt》由会员分享,可在线阅读,更多相关《6-3(二维数组的作用、定义、初始化和应用)ppt课件.ppt(12页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、6.3 6.3 二维数组二维数组二维数组的定义和内存的存储形式二维数组的定义和内存的存储形式21为什么需要二维数组为什么需要二维数组二维数组的应用举例二维数组的应用举例5 5二维数组元素的引用和初始化方法二维数组元素的引用和初始化方法3 3二维数组的赋值二维数组的赋值4 4如何存储四个学生的三门课成绩如何存储四个学生的三门课成绩 ?二维数组二维数组Scores10Scores11Scores12Scores20Scores21Scores22Scores30Scores31Scores32Scores40Scores41Scores42第一个学生的成绩数组第二个学生的成绩数组第三个学生的成绩数
2、组第四个学生的成绩数组定义二维数组的一般形式:定义二维数组的一般形式:C C C语言程序设计课件语言程序设计课件语言程序设计课件类型说明符类型说明符 数组名常量表达式数组名常量表达式1常量表达式常量表达式2决定了数组的类型决定了数组的类型命名规则同简单变量和一维数组命名规则同简单变量和一维数组注意注意:数组中数组元素的个数:数组中数组元素的个数 = 常量表达式常量表达式1 * 常量表达式常量表达式2行下标行下标 列下标列下标内存num00num01num10num11num20num21num30num31num00num01num10num11num20num21num30num31C C语
3、言编译系统采用按行存储的方法语言编译系统采用按行存储的方法: :即先顺序存放第一行的元素,再存放第二行的元素即先顺序存放第一行的元素,再存放第二行的元素 第第0 0行行第第1 1行行第第2 2行行第第3 3行行例如:例如:int num42int num42引用格式引用格式: 数组名数组名行下标行下标列下标列下标注意:注意: 行下标、列下标均行下标、列下标均从从0开始开始void main() int a33; a00 = 0; a10 =1; a22 = 2; a33 = 3;int a33 = 1,2,3, 4,5,6, 7,8,9;int a33 = 1,2,3, 4,5,6, 7,8,
4、9;int a33 = 3, 6, 9;/只对每一行的第一个元素进行了初始化,其他元素自动取只对每一行的第一个元素进行了初始化,其他元素自动取0int a33 = 3,6,9;/只对整个数组的前只对整个数组的前3个元素进行了初始化,其他元素自动取个元素进行了初始化,其他元素自动取0等价的等价的int arr 3 = 1,2,3, 4,5,6 ; 对二维数组的全部元素进行初始化时对二维数组的全部元素进行初始化时行数行数可以省略可以省略编译系统会自动计算出行数。编译系统会自动计算出行数。123456123456int arr2 = 1,2,3, 4,5,6 ; 可以为两行六列,第二行元素全为0可以
5、为两行三列可以为两行五列int i, j, num42;for (i = 0; i = 3; i+) for (j = 0; j =1 ; j+) scanf(%d,&numij); ijnumij0010001200103001140020500216003070031800采用循环结构来表示行标和列标的变化:采用循环结构来表示行标和列标的变化:2022-5-20举例:举例:给一个给一个33的二维数组赋值,的二维数组赋值,,将其值输出,并求其对角线上的数据之和。将其值输出,并求其对角线上的数据之和。#include void main()int a33,i,j; int sum = 0;for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); for(i=0;i3;i+) for(j=0;j3;j+) printf(%d,aij); printf(n); for(i=0;i3;i+) sum = sum + ai; printf(“sum=%dn”,sum); 输入数据输入数据输出数据输出数据求和求和二维数组:用来处理一组类似矩阵这样的数据二维数组的定义方法:数据类型 数组名数组长度 数组长度二维数组的引用方法:数组名下标 下标二维数组在内存中的存储:一定是按照行连续存储的二维数组的输入和输出:用双重循环结构