C第6章数组、指针与字符串.ppt
文本预览下载声明
C++ 程序设计
第六章
数组、指针与字符串
;数组的概念
数组是具有一定顺序关系的若干相同类型变量的集合体,组成数组的变量称为该数组的元素。
数组属于构造类型。;一维数组的声明与引用
一维数组的声明
类型说明符 数组名[ 常量表达式 ];
例如: int a[10]; 表示 a 为整型数组,有10个元素:a[0]...a[9]
引用:必须先声明,后使用。
只能逐个引用数组元素,而不能一次引用整个数组!例如:a[0]=a[5]+a[7]-a[2*3];// 数组元素的使用
#include iostream.h
void main()
{
double a[3];
a[0] = 11.11;
a[1] = 33.33;
a[2] = 55.55;
cout a[0] = a[0] endl;
cout a[1] = a[1] endl;
cout a[2] = a[2] endl;
cout a[0] + a[1] + a[2] = a[0] + a[1] + a[2] endl;
}
/********** 程序运行结果 **********
a[0] = 11.11
a[1] = 33.33
a[2] = 55.55
a[0] + a[1] + a[2] = 99.99
************ 程序结束 ************/;一维数组的存储顺序
数组元素在内存中顺次存放,它们的地址是连续的。
例如:具有10个元素的数组 a,在内存中的存放次序如下:
数组名字是数组首元素的内存地址。
数组名是一个常量,不能被赋值。;例:逆序显示一个数组的内容;// 逆序显示一个数组的内容
#include iostream.h
void main()
{
const int SIZE=5;
double a[SIZE];
int i;
cout Enter SIZE numbers: ;
for (i = 0; I SIZE; I ++)
cin a[i];
cout In reverse order: ;
for (i = SIZE - 1; i = 0; i --)
cout a[i] ;
cout endl;
}
/********** 程序运行结果 **********
Enter 5 numbers: 1 3 5 7 9
In reverse order: 9 7 5 3 1
************ 程序结束 ************/;一维数组的初始化
可以在编译阶段使数组得到初值:
在声明数组时对数组元素赋以初值。例如:static int a[10] = {0,1,2,3,4,5,6,7,8,9} ;
可以只给一部分元素赋初值。例如:static int a[10] = {0,1,2,3,4} ; 在对全部数组元素赋初值时,可以不指定数组长度。例如:static int a[ ] = {1,2,3,4,5} ;;// 一维数组的初始化
#include iostream.h
void main()
{
float a[ ] = { 22.2, 44.4, 66.6 };
int size = sizeof(a)/sizeof(float);
for (int i=0; isize; i++)
cout a[ i ] = a[i] endl;
}
/********** 程序运行结果 **********
a[0] = 22.2
a[1] = 44.4
a[2] = 66.6
************ 程序结束 ************/;// Causing an unhandled exception
#include iostream.h
void main()
{
double a[ ] = { 22.2, 44.4, 66.6 };
double x=11.1;
cout x = x endl;
a[3333] = 88.8; // ERROR !!!
cout x = x endl;
cout a endl;
};/********** 程序运行结果 **********
x = 11.1;例:用数组来处理求 Fibonacci 数列,
输出前20项。;//用数组来处理求Fibonacci数列,输出前20项。
#includ
显示全部