华东师范大学:《C++ 语言程序设计》课程教学资源(课件讲稿)第五讲 数组(一)数值数组

目录页 Contents 1 一维数组 2 二维数组 3 数组作为函数的参数 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 目录页 Contents 1 2 一维数组 二维数组 3 数组作为函数的参数

维数组 口怎么定义数组 ▣怎么使用数组 口数组在内存中是怎么存放的 ▣数组的赋值和初始化 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 1 一维数组 怎么定义数组 怎么使用数组 数组在内存中是怎么存放的 数组的赋值和初始化

维数组的声明 数组:具有一定顺序关系的同类型数据的集合 维数组的声明 声明一个长度为n的一维数组 类型说明符 变量名[n]i 口类型说明符:数组元素的数据类型 n:数组的长度,即元素的个数 int×[5]∥声明一个长度为5的-维数组 维数组的引用 变量名[k灯] ÷注意:下标k的取值范围为0到n-1 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 一维数组的声明 4 数组:具有一定顺序关系的同类型数据的集合 int x[5] // 声明一个长度为 5 的一维数组 一维数组的声明 声明一个长度为 n 的一维数组 类型说明符:数组元素的数据类型 n:数组的长度,即元素的个数 一维数组的引用 † 注意:下标 k 的取值范围为 0 到 n-1 类型说明符 变量名[n]; 变量名[k]

一维数组举例 ex05_array_01.cpp #include using namespace std; int main() { int i,x[5]; for(i=0;i<5;i++) x[i]=2*i; for(i=0;i<5;i+) cout <<"x["<<i<"]="<<x[i]<endl; 注意:数组的下标不能越界,否则会引起严重的后果! 5 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 一维数组举例 5 #include using namespace std; int main() { int i, x[5]; for (i=0; i<5; i++) x[i] = 2*i; for (i=0; i<5; i++) cout << "x[" << i << "]=" << x[i] << endl; } ex05_array_01.cpp 注意:数组的下标不能越界,否则会引起严重的后果!

注意事项 类型说明符变量名[n] 几点注记 ·数组长度必须是正整数,可以是表达式,但值必须是正整数 int n=5; 1ntm=2,n=3; int n; int x[n]; int x[m*n+2]; cin <n; int x[n]; ex05_array_02.cpp ·只能逐个引用数组元素(循环),而不能一次引用整个数组 ·数组名代表数组存放在内存中的首地址 ·数组元素在内存中顺序存放,它们的地址是连续的 例:×[5]在内存中的存放顺序是 ×[o]x[1]x[2]x[3]x[4] 6 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 注意事项 6 类型说明符 变量名[n]; 几点注记 ► 数组长度必须是正整数,可以是表达式,但值必须是正整数 int m=2, n=3; int x[m*n+2]; int n=5; int x[n]; int n; cin << n; int x[n]; ex05_array_02.cpp ► 只能逐个引用数组元素(循环),而不能一次引用整个数组 ► 数组名代表数组存放在内存中的首地址 ► 数组元素在内存中顺序存放,它们的地址是连续的 例:x[5] 在内存中的存放顺序是 x[0] x[1] x[2] x[3] x[4]

—维数组初始化 口初始化:在声明的同时赋初值 intx[5]={0,2,4,6,8}; 可以只给部分元素赋初值 intx[5]-{0,2,4;/∥从前往后依次初始化,剩下的赋值0 全部初始化时可以不指定数组长度 intx[]={0,2,4,6,8};/根据所赋初值的个数自动确定数组长度 注意:只能对数组元素赋值,不能对数组名赋值! int x[5]; x[9]=1;//0K X=6; /ERROR! 7 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 一维数组初始化 7 初始化 :在声明的同时赋初值 int x[5]={0,2,4,6,8}; ► 可以只给部分元素赋初值 ► 全部初始化时可以不指定数组长度 int x[5]={0,2,4}; // 从前往后依次初始化,剩下的赋值 0 int x[]={0,2,4,6,8}; // 根据所赋初值的个数自动确定数组长度 注意:只能对数组元素赋值,不能对数组名赋值! int x[5]; x[0]=1; // OK x=6; // ERROR!

2 二维数组 口怎么定义,怎么使用 ▣与一维数组的关系 ▣在内存中是怎么存放的 ▣赋值和初始化,多维数组 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 2 二维数组 怎么定义,怎么使用 与一维数组的关系 在内存中是怎么存放的 赋值和初始化,多维数组

二维数组的声明 类型说明符变量名[m[n] 口声明一个mxn的二维数组 维数组的引用 变量名[i][j] ÷注意下标的取值范围,不要越界! intx[2][3]; x[0][9]=1;x[0][1]=3;x[6][2]=5; for(j=0;j<3;j++) ×[1][j]=2*x[9][j]; 9 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 二维数组的声明 9 声明一个 m x n 的二维数组 二维数组的引用 † 注意下标 的取值范围,不要越界! 类型说明符 变量名[m][n]; 变量名[i][j] int x[2][3]; x[0][0] = 1; x[0][1] = 3; x[0][2] = 5; for (j=0; j<3; j++) x[1][j] = 2*x[0][j];

二维数组存储方式 二维数组的存储:按行存储 例:x[2][3]在内存中的存放顺序是 x[o][9] x[0][1] x[6][2] ×[1][0] x[1][1] x[1][2] x[0] x[1] X 二维数组被看成是一维数组的数组 10 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 二维数组存储方式 10 二维数组的存储 :按行存储 例:x[2][3] 在内存中的存放顺序是 x[0][0] x[0][1] x[0][2] x[1][0] x[1][1] x[1][2] x[0] x[1] x 二维数组被看成是一维数组的数组

二维数组初始化 ▣全部初始化 intx[2][3]={1,3,5,2,6,18}; int×[][3]={1,3,5,2,6,10};/注:只能省第一维的长度! 口分组初始化 intx[2][3]={{1,3,5},{2,6,18}}; 口部分初始化 intx[2][3]={{1},{2,6}}; 11 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 二维数组初始化 11 分组初始化 部分初始化 全部初始化 int x[2][3]={1,3,5,2,6,10}; int x[][3]={1,3,5,2,6,10}; // 注:只能省第一维的长度! int x[2][3]={{1,3,5}, {2,6,10}}; int x[2][3]={{1}, {2,6}};
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 华东师范大学:《C++ 语言程序设计》课程教学资源(课件讲稿)第四讲 函数.pdf
- 华东师范大学:《C++ 语言程序设计》课程教学资源(应用阅读)定积分的近似计算(数值积分).pdf
- 华东师范大学:《C++ 语言程序设计》课程教学资源(应用阅读)定积分数值计算.pdf
- 华东师范大学:《C++ 语言程序设计》课程教学资源(课件讲稿)第三讲 选择与循环.pdf
- 华东师范大学:《C++ 语言程序设计》课程教学资源(课件讲稿)第二讲 C++编程基础.pdf
- 华东师范大学:《C++ 语言程序设计》课程教学资源(课件讲稿)第一讲 计算机基础知识.pdf
- 华东师范大学:《C++ 语言程序设计》课程教学资源(应用阅读)IEEE浮点运算标准.pdf
- 华东师范大学:《C++ 语言程序设计》课程教学资源(课件讲稿)课程介绍(授课教师:潘建瑜).pdf
- 华东师范大学:《C++ 语言程序设计》课程教学资源(应用阅读)C++ 程序设计简明讲义(共十六讲).pdf
- 《互联网营销理论与工具运用》课程教学资源(PPT课件)08 互联网营销方案策划.pptx
- 《互联网营销理论与工具运用》课程教学资源(PPT课件)07 互联网直播营销.pptx
- 《互联网营销理论与工具运用》课程教学资源(PPT课件)06 互联网视频营销.pptx
- 《互联网营销理论与工具运用》课程教学资源(PPT课件)05 互联网社交媒体营销.pptx
- 《互联网营销理论与工具运用》课程教学资源(PPT课件)04 互联网电子邮件营销.pptx
- 《互联网营销理论与工具运用》课程教学资源(PPT课件)03 互联网搜索引擎营销.pptx
- 《互联网营销理论与工具运用》课程教学资源(PPT课件)02 互联网营销市场调研.pptx
- 《互联网营销理论与工具运用》课程教学资源(PPT课件)01 走进互联网营销.pptx
- 《互联网营销理论与工具运用》课程教学资源(讲义)课程标准.docx
- 《互联网营销理论与工具运用》课程教学资源(习题)题库3.pdf
- 《互联网营销理论与工具运用》课程教学资源(习题)题库2.pdf
- 华东师范大学:《C++ 语言程序设计》课程教学资源(课件讲稿)第五讲 数组(二)字符数组(字符串).pdf
- 华东师范大学:《C++ 语言程序设计》课程教学资源(课件讲稿)第六讲 指针.pdf
- 华东师范大学:《C++ 语言程序设计》课程教学资源(应用阅读)矩阵乘积快速算法——Strassen 算法.pdf
- 华东师范大学:《C++ 语言程序设计》课程教学资源(应用阅读)Gauss消去法求解线性方程组.pdf
- 《C++ 语言程序设计》课程教学资源(应用阅读)Fast and stable matrix multiplication.pdf
- 《C++ 语言程序设计》课程教学资源(应用阅读)内存分配——栈和堆.pdf
- 《C++ 语言程序设计》课程教学资源(应用阅读)Pointers and Memory.pdf
- 华东师范大学:《C++ 语言程序设计》课程教学资源(课件讲稿)第七讲 输入输出与(C 语言)文件操作.pdf
- 华东师范大学:《C++ 语言程序设计》课程教学资源(课件讲稿)第八讲 排序算法.pdf
- 华东师范大学:《C++ 语言程序设计》课程教学资源(课件讲稿)第九讲 类与对象(I)面向对象基础.pdf
- 华东师范大学:《C++ 语言程序设计》课程教学资源(课件讲稿)第十讲 类与对象(II)面向对象进阶.pdf
- 华东师范大学:《C++ 语言程序设计》课程教学资源(课件讲稿)第十一讲 类与对象(III)面向对象提高.pdf
- 《C++ 语言程序设计》课程教学资源(应用阅读)C++ vector使用方法.pdf
- 华东师范大学:《C++ 语言程序设计》课程教学资源(课件讲稿)第十二讲 运算符重载与自动类型转换.pdf
- 华东师范大学:《C++ 语言程序设计》课程教学资源(课件讲稿)第十三讲 继承与派生.pdf
- 华东师范大学:《C++ 语言程序设计》课程教学资源(课件讲稿)第十四讲 多态.pdf
- 华东师范大学:《C++ 语言程序设计》课程教学资源(课件讲稿)第十五讲 文件流与输出输入重载.pdf
- 华东师范大学:《C++ 语言程序设计》课程教学资源(课件讲稿)第十六讲 标准模板库(Standard Template Library,STL).pdf
- 《C++ 语言程序设计》课程教学资源(应用阅读)C++ Reference Card(C++ RC by Greg Book,2002).pdf
- 《C++ 语言程序设计》课程教学资源(应用阅读)C++ RC by Mississippi State U.(2009).pdf