第3章数组与指针剖析
本章内容 数组 指针 指针与数组 指针数组 动态存储分配 为什么要使用数组? 问题:一个班有5名学生,现在需要将每个学生的成绩作调整,调整公式为:新成绩=10*sqrt(原成绩) 数组的概念 数组 是具有一定顺序关系的若干相同类型变量的集合。 数组元素 数组中的每个变量称为数组元素。 数组的类型 数组中数组元素的类型。 数组的维数 数组中各元素之间的相对位置由下标确定,如果用一个下标就可以确定元素的位置,称为一维数组,用两个下标确定,称为二维数组,… 。 一维数组的声明 一维数组的声明形式为: 类型 数组名[常量表达式] 例如: int a[10]; 表示 a 为整型数组,有10个元素: a[0]、a[1]、...a[9] 一维数组元素的引用 数组在使用前必须先声明。 只能逐个引用数组元素,而不能一次性地引用整个数组。 例如: int a[5]; a[0] = 12; a[1] = 30; a[2] = a[0] + a[1]; 一维数组元素的引用 //将数组中所有元素置0 int array[5] ; for (int i = 0 ; i 5 ; i++) array [ i ] = 0; 一维数组的初始化 将所有数据写在一个{}内,按顺序赋值 int a[5]={5,10,15,0,0}; 可以省略数组大小 int a[ ]={5,10,15,0,0}; 可以对部分元素赋初值 int a[5]={5,10,15}; 一维数组的存储方式 数组元素在内存中顺次存放,它们的地址是连续的。 例如:int a[5];//声明具有5个元素的整型数组 a 它的存储结构示意图如下: 用数组来处理求Fibonacci数列问题 int main() { int i; int f[20] = {0 , 1}; //初始化第0、1个数 for(i = 2 ; i 20 ; i++) f[i] = f[i - 2] + f[i - 1]; //求第2~19个数 for(i = 0 ; i 20 ; i++) { //输出,每行5个数 if(i % 5 == 0) cout endl; cout.width(10); //设置输出宽度为10 cout f[i]; } cout endl; return 0; } 例:求数组中的最大值。 #include iostream using namespace std; int main( ){ int array[10] , max , i; cout 输入10个整数:; for (i = 0 ; i 10 ; i++ ) cin array[i]; //不能写成: cinarray; max = array[0]; for (i = 1 ; i 10 ; i++ ) if ( array[i] max ) max = array[i]; cout 最大值= max endl; return 0; } 例:将十个整数按由小到大顺序排列。 #includeiostream using namespace std; int main( ){ int x[10] = {65,87,90,80,84,85,53,46,95,70} , i , j , temp; for( i = 0 ; i 9 ; i++ ) for( j = 0 ; j 10 - i - 1 ; j++ ) if ( x[j] x[j + 1] ) { // x[j]与x[j+1]交换 temp = x[ j ]; x[ j ] = x[ j + 1 ] ; x[ j + 1 ] = temp; } for( i = 0 ; i 10 ; i++) cout x[i] ; cout endl; return 0; } 求一维数组的元素个数 二维数组定义及元素引用 二维数组的定义形式为: 类型名 数组名[常量1][常量2] 例如: int x[3][4];//定义了
您可能关注的文档
最近下载
- 化工制图与CAD实训教学计划(应用化工11级).doc VIP
- PS1000喜利得新型混凝土雷达检测技术和其工程应用实践.doc VIP
- PS1000喜利得新型混凝土雷达检测技术及其工程的应用实践.doc VIP
- 《毒理学基础》全套教学课件.pptx
- PS1000混凝土结构透视仪使用手册.docx VIP
- 喜利得PS1000混凝土透视仪.PDF VIP
- 伯克利课程 - MEMS设计 Introduction to MEMS design 2.ppt VIP
- 护理转科交接制度及流程.pptx VIP
- 锁骨骨折的护理.ppt VIP
- 2025高考数学解答题七大专题汇编(三角形、数列、立体几何、圆锥曲线、导数、概率、创新题)--解析版.pdf VIP
原创力文档

文档评论(0)