C数组指针与字符串

  • 格式:pptx
  • 大小:450.94 KB
  • 文档页数:92

下载文档原格式

  / 92
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一维数组的声明与引用
一维数组的声明 类型说明符 数组名[ 常量表达式 ]; 例如: int a[10]; 表示 a 为整型数组,有10个元素:a[0]...a[9] 引用:必须先声明,后使用。 只能逐个引用数组元素,而不能一次引用整个数组! 例如:a[0]=a[5]+a[7]-a[2*3]
第1页/共92页
cout << "a[" << i << "] = " << a[i] << endl; } /********** 程序运行结果 ********** a[0] = 22.2 a[1] = 44.4 a[2] = 66.6 ************ 程序结束 ************/
第7页/共92页
第6页/共92页
// 一维数组的初始化 #include <iostream.h>
void main() {
float a[ ] = { 22.2, 44.4, 66.6 }; int size = sizeof(a)/sizeof(float); for (int i=0; i<size; i++)
第8页/共92页
/********** 程序运行结果 ********** x = 11.1
第9页/共92页
例:用数组来处理求 Fibonacci 数列, 输出前20项。
第10页/共92页
//用数组来处理求Fibonacci数列,输出前20项。
#include <iostream.h>
void main()
第12页/共92页
二维数组的初始化
分行给二维数组赋初值 static int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; 将所有数据写在一个{}内,按顺序赋值 static int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 可以对部分元素赋初值 例如:static int a[3][4]={{1},{0,6},{0,0,11}};
一维数组的初始化
可以在编译阶段使数组得到初值: 在声明数组时对数组元素赋以初值。 例如: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} ;
第2页/共92页
一维数组的存储顺序
数组元素在内存中顺次存放,它们的地址是连 续的。 例如:具有10个元素的数组 a,在内存中的存放次 序如下:
a a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]
数组名字是数组首元素的内存地址。 数组名是一个常量,不能被赋值。
// 数组元素的使用 #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 ************ 程序结束 ************/
// 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; }
if(i%5==0)
1
1
2
3
5
cout << endl ; 8
13
21
34
55
} }
89 987
第11页/共92页
144 1597
233 2584
377 4181
610 6765
二维数组的声明及引用
二维数组的声明 类型说明符 数组名[常量表达式][常量表达式] 例如:float a[3][4]; 引用 例如:b[1][2]=a[2][3]/2 存储顺序:按行存放
{
int i ;
static int f[20] = { 1 , 1} ; //初始化第0、1个数
for(i = 2; i < 20; i ++)
f[i] = f[i-2] + f[i-1] ; //求第2~19个数
for(i = 1; i <= 20; i ++) //输出,每行5个数
{
cout << f[i-1] << '\t' ;
第3页/共92页
例:逆序显示一个数组的内容
第4页/共92页
// 逆序显示一个数组的内容 #include <iostream.h> void main() {
const int SIZE=5; double a[SIZE]; int i;
cout << "Enter " << SIZE << " numbபைடு நூலகம்rs: "; 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 ************ 程序结束 ***********第*/5页/共92页