文档详情

C第6章数组、指针与字符串.ppt

发布:2017-04-15约2.01万字共93页下载文档
文本预览下载声明
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
显示全部
相似文档