第3章 数组和指针.ppt
文本预览下载声明
第三章 数组与指针;本章内容;为什么要使用数组?;数组的概念;一维数组的声明;一维数组元素的引用;一维数组元素的引用;一维数组的初始化;一维数组的存储方式;用数组来处理求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(){
显示全部