欢迎来到天天文库
浏览记录
ID:49056477
大小:1.03 MB
页数:128页
时间:2020-01-30
《第6章 数组、指针与字符串.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第6章数组指针与字符串C++语言程序设计2本章主要内容数组指针动态存储分配指针与数组指针与函数vector的基本用法字符串深度探索3数组的概念数组是具有一定顺序关系的若干相同类型变量的集合体,组成数组的变量称为该数组的元素。数组属于构造类型。数组4一维数组的声明与引用一维数组的声明类型说明符数组名[常量表达式];例如:inta[10];表示a为整型数组,有10个元素:a[0]...a[9]引用必须先声明,后使用。只能逐个引用数组元素,而不能一次引用整个数组例如:a[0]=a[5]+a[7]-a[2*3
2、]数组名的构成方法与一般变量名相同。数组5例6.1一维数组的声明与引用#includeusingnamespacestd;intmain(){inta[10],b[10];for(inti=0;i<10;i++){a[i]=i*2-1;b[10-i-1]=a[i];}for(inti=0;i<10;i++){cout<<"a["<3、内存中顺次存放,它们的地址是连续的。例如:具有10个元素的数组a,在内存中的存放次序如下:数组名字是数组首元素的内存地址。数组名是一个常量,不能被赋值。a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]a数组7一维数组的初始化可以在定义数组的同时赋给初值:在声明数组时对数组元素赋以初值。例如:staticinta[10]={0,1,2,3,4,5,6,7,8,9};可以只给一部分元素赋初值。例如:staticinta[10]={0,1,2,3,4};在对全部数组元素赋初值时4、,可以不指定数组长度。例如:staticinta[]={1,2,3,4,5}数组8#includeusingnamespacestd;intmain(){intf[20]={1,1};//初始化第0、1个数for(inti=2;i<20;i++)//求第2~19个数f[i]=f[i-2]+f[i-1];for(i=0;i<20;i++){//输出,每行5个数if(i%5==0)cout<5、n0;}例:用数组来处理求Fibonacci数列问题9例:用数组来处理求Fibonacci数列问题运行结果:1123581321345589144233377610987159725844181676510一维数组应用举例循环从键盘读入若干组选择题答案,计算并输出每组答案的正确率,直到输入ctrl+z为止。每组连续输入5个答案,每个答案可以是'a'..'d'。数组#includeusingnamespacestd;intmain(){constcharKEY[]={'a','c','6、b','a','d'};constintNUM_QUES=5;charc;intques=0,numCorrect=0;cout<<"Enterthe"<(numCorrect)/7、NUM_QUES*100<<"%";ques=0;numCorrect=0;cout<8、4存储顺序按行存放,上例中数组a的存储顺序为:二维数组的声明类型说明符数组名[常量表达式][常量表达式]例如:floata[3][4];a00a01a02a03a10a11a12a13a20a21a22a23a[0]——a00a01a02a03a[1]——a10a11a12a13a[2]——a20a21a22a23a可以理解为:引用例如:b[1][2]=a[2][3]/2下标不要越界二维数组的声明及引用数组15将所有数据写在一个{}内,按顺
3、内存中顺次存放,它们的地址是连续的。例如:具有10个元素的数组a,在内存中的存放次序如下:数组名字是数组首元素的内存地址。数组名是一个常量,不能被赋值。a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]a数组7一维数组的初始化可以在定义数组的同时赋给初值:在声明数组时对数组元素赋以初值。例如:staticinta[10]={0,1,2,3,4,5,6,7,8,9};可以只给一部分元素赋初值。例如:staticinta[10]={0,1,2,3,4};在对全部数组元素赋初值时
4、,可以不指定数组长度。例如:staticinta[]={1,2,3,4,5}数组8#includeusingnamespacestd;intmain(){intf[20]={1,1};//初始化第0、1个数for(inti=2;i<20;i++)//求第2~19个数f[i]=f[i-2]+f[i-1];for(i=0;i<20;i++){//输出,每行5个数if(i%5==0)cout<5、n0;}例:用数组来处理求Fibonacci数列问题9例:用数组来处理求Fibonacci数列问题运行结果:1123581321345589144233377610987159725844181676510一维数组应用举例循环从键盘读入若干组选择题答案,计算并输出每组答案的正确率,直到输入ctrl+z为止。每组连续输入5个答案,每个答案可以是'a'..'d'。数组#includeusingnamespacestd;intmain(){constcharKEY[]={'a','c','6、b','a','d'};constintNUM_QUES=5;charc;intques=0,numCorrect=0;cout<<"Enterthe"<(numCorrect)/7、NUM_QUES*100<<"%";ques=0;numCorrect=0;cout<8、4存储顺序按行存放,上例中数组a的存储顺序为:二维数组的声明类型说明符数组名[常量表达式][常量表达式]例如:floata[3][4];a00a01a02a03a10a11a12a13a20a21a22a23a[0]——a00a01a02a03a[1]——a10a11a12a13a[2]——a20a21a22a23a可以理解为:引用例如:b[1][2]=a[2][3]/2下标不要越界二维数组的声明及引用数组15将所有数据写在一个{}内,按顺
5、n0;}例:用数组来处理求Fibonacci数列问题9例:用数组来处理求Fibonacci数列问题运行结果:1123581321345589144233377610987159725844181676510一维数组应用举例循环从键盘读入若干组选择题答案,计算并输出每组答案的正确率,直到输入ctrl+z为止。每组连续输入5个答案,每个答案可以是'a'..'d'。数组#includeusingnamespacestd;intmain(){constcharKEY[]={'a','c','
6、b','a','d'};constintNUM_QUES=5;charc;intques=0,numCorrect=0;cout<<"Enterthe"<(numCorrect)/
7、NUM_QUES*100<<"%";ques=0;numCorrect=0;cout<8、4存储顺序按行存放,上例中数组a的存储顺序为:二维数组的声明类型说明符数组名[常量表达式][常量表达式]例如:floata[3][4];a00a01a02a03a10a11a12a13a20a21a22a23a[0]——a00a01a02a03a[1]——a10a11a12a13a[2]——a20a21a22a23a可以理解为:引用例如:b[1][2]=a[2][3]/2下标不要越界二维数组的声明及引用数组15将所有数据写在一个{}内,按顺
8、4存储顺序按行存放,上例中数组a的存储顺序为:二维数组的声明类型说明符数组名[常量表达式][常量表达式]例如:floata[3][4];a00a01a02a03a10a11a12a13a20a21a22a23a[0]——a00a01a02a03a[1]——a10a11a12a13a[2]——a20a21a22a23a可以理解为:引用例如:b[1][2]=a[2][3]/2下标不要越界二维数组的声明及引用数组15将所有数据写在一个{}内,按顺
此文档下载收益归作者所有