资源描述:
《数组字符串指针》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第八讲数组、字符串、指针教材:《C++语言程序设计》(第4版)第6章6.1、6.2、6.6清华大学郑莉目录8.1数组8.2字符串8.3指针8.4小结2数组的概念数组是具有一定顺序关系的若干相同类型变量的集合体,组成数组的变量称为该数组的元素。数组属于构造类型。38.1数组8.1.1数组的声明与使用数组的声明48.1数组类型说明符数组名[常量表达式][常量表达式]……;数组名的构成方法与一般变量名相同。例如:inta[10];表示a为整型数组,有10个元素:a[0]...a[9]例如:inta[5][3];表示a为整型二维
2、数组,其中第一维有5个下标(0~4),第二维有3个下标(0~2),数组的元素个数为15,可以用于存放5行3列的整型数据表格。8.1.1数组的声明与使用(续)引用必须先声明,后使用。只能逐个引用数组元素,而不能一次引用整个数组例如:a[0]=a[5]+a[7]-a[2*3]例如:b[1][2]=a[2][3]/258.1数组68.1数组——8.1.1数组的声明与使用例8-1(教材例6-1)#includeusingnamespacestd;intmain(){inta[10],b[10];for(int
3、i=0;i<10;i++){a[i]=i*2-1;b[10-i-1]=a[i];}for(inti=0;i<10;i++){cout<<"a["<
4、数组8.1.2数组的存储与初始化(续)一维数组的初始化可以在定义数组的同时赋给初值:在声明数组时对数组元素赋以初值。例如:staticinta[10]={0,1,2,3,4,5,6,7,8,9};可以只给一部分元素赋初值。例如:staticinta[10]={0,1,2,3,4};在对全部数组元素赋初值时,可以不指定数组长度。例如:staticinta[]={0,1,2,3,4,5,6,7,8,9}98.1数组8.1.2数组的存储与初始化(续)二维数组的存储按行存放例如:floata[3][4];其中数组a的存储顺序为:
5、a[0]——a00a01a02a03a[1]——a10a11a12a13a[2]——a20a21a22a23a可以理解为:a00a01a02a03a10a11a12a13a20a21a22a23108.1数组8.1.2数组的存储与初始化(续)二维数组的初始化将所有数据写在一个{}内,按顺序赋值例如:staticinta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};分行给二维数组赋初值例如:staticinta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};可以
6、对部分元素赋初值例如:staticinta[3][4]={{1},{0,6},{0,0,11}};118.1数组8.1.3数组的应用举例例8-2求Fibonacci数列前20项#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<7、width(12);//设置输出宽度为12cout<usingnamespac
8、estd;intmain(){constcharKEY[]={'a','c','b','a','d'};constintNUM_QUES=5;charc;intques=0,numCorrect=0;cout<<"Enterthe"<