文档详情

第3章 数组和指针.ppt

发布:2017-08-02约4.82千字共124页下载文档
文本预览下载声明
第三章 数组与指针;本章内容;为什么要使用数组?;数组的概念;一维数组的声明;一维数组元素的引用;一维数组元素的引用;一维数组的初始化;一维数组的存储方式;用数组来处理求Fibonacci数列问题;例:求10个数的总和及平均值;例:求数组中的最大值。;例:将十个整数按由小到大顺序排列。;求一维数组的元素个数;二维数组定义及元素引用;二维数组元素的引用;二维数组定义及元素引用;;二维数组的存储结构;Viewed another way . . .; 多维维数组的声明形式为: 类型名 数组名[常量1][常量2]……  例如:int x[3][4][5]; 声明了一个3维数组 该3维数组的第一个元素为:x[0][0][0], 最后一个元素为:x[2][3][4]。元素总个数为:3*4*5=60。 ;const NUM_DEPTS = 5 ; // mens, womens, childrens, electronics, furniture const NUM_MONTHS = 12 ; const NUM_STORES = 3 ; // White Marsh, Owings Mills, Towson int monthlySales [ NUM_DEPTS ] [ NUM_MONTHS ] [ NUM_STORES ] ; ;二维数组的初始化;;#include iostream using namespace std; int main(){ int array[5][5] , i , j; cout 按行输入5行5列数组\n; for(i = 0 ; i 5 ; i++ ) for (j = 0 ; j 5 ; j++) cin array[i][j]; cout 按行输出数组\n; for( i = 0 ; i 5 ; i++ ) { for(j = 0 ; j 5 ; j++) cout array[i][j] ; cout endl; //输出每行后换行 } return 0; } ;;#include iostream using namespace std; int main( ){ const int N = 5; int a[N][2] = { {1,65} , {2,87} , {3,90} , {4,80} , {5,70} }; int sum = 0 , ave; for (int i = 0 ; i N ; i++) sum += a[i][1]; ave = sum / N; cout “平均成绩=” ave endl; for(i = 0 ; i N ; i++) if( a[i][1] ave ) cout a[i][0] a[i][1] endl; return 0; } ;字符型数组;字符数组的初始化 ;为字符数组初始化时要注意数组元素的个数与所赋字 符串长度的关系,以免引起不可预料的错误。 例如: char array[6]=”program”; 该定义不会产生编译错误,但由于改写了数组的大小,占用数组空间以外的存储单元,容易引起混乱,甚至是危险的。这种情况最好写成: char array[ ]=”program”; ;当字符数组定义的空间大于初始化字符串长度时, 剩余的空间填充’\0’; 例如: char str[15]=”I love C++”; str数组中存放的是:;字符数组的初始化 ;例:统计一个字符串中字符的个数;字符串的输入/输出;字符串的输入/输出(续);整行输入字符串;cin.getline( str, n);使用getline( )示例;注意 ;指针 ;指针;指针(续);关于内存地址;指针变量的概念;指针变量的声明和使用 ;例如: int a , *p1; p1 = a; ∥将变量a的地址赋给指针p1  *p1 = 25; ∥将25赋给指针p1所指变量, 即a中 如下图所示: ;指针变量的声明和使用;注意;注意;注意事项;指针使用示例 ;指针的运算 ;理解指针的运算;理解指针的运算;理解指针的运算;理解指针的运算;;理解指针的运算;指针与数组 ;一维数组与指针 ;Int main(){
显示全部
相似文档