- 1、本文档共133页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.一维数组的定义 一维数组定义的一般形式为:数据类型 数组名[常量表达式]; 一维数组的存储结构 一个数组的所有元素都是连续存储的 2.一维数组元素的使用 2.一维数组元素的使用 3.一维数组元素的输入和输出 一维数组程序设计举例(算法) 一维数组程序设计举例(算法) (2)折半查找法:对有序数组 void main() { const int N=10; int top,bottom,middle,x; static int a[N]={2,5,6,8,9,12,24,32,38,40}; cinx; for (top=0,bottom=N-1;top=bottom;) {middle=(top+bottom)/2; if (x==a[middle]) break; else if (xa[middle]) bottom=middle-1; else top=middle+1; } if (x==a[middle]) couta[middle]=xendl; else coutNot foundendl; } 二维数组的存储结构 2. 二维数组的使用 3.二维数组元素的输入和输出 4. 二维数组的初始化 3×3矩阵,求两条对角线元素之和 #includeiostream.h void main() { int a[3][3],i,j,sum1=0,sum2=0; for (i=0;i3;i++) for (j=0;j3;j++) cina[i][j]; for (i=0;i3;i++) { sum1+=a[i][i]; sum2+=a[i][2-i]; //a[0][2]+a[1][1]+a[2][0] } coutsum1\tsum2endl; } 1. 字符数组的定义 一维字符数组的例子 2. 字符数组的初始化 字符串结束标志‘\0’:写在程序中的字符串(常量),系统会自动将‘\0’加到字符串尾,把‘\0’作为判断字符串是否结束的标志。 5. 字符串处理函数 求字符串长度函数:strlen(s) 函数值为整数,即为字符个数 字符串拷贝函数: strcpy(s1,s2); 将s2中的字符串赋给s1 字符串连接函数: strcat(s1,s2); 连接s1和s2两个字符串赋给s1,并为函数的返回值 字符串比较函数: strcmp(s1,s2) 若s1s2,则返回一正数;若s1==s2,则返回0; 若s1s2,则返回一负数 多个字符串 一个字符串中的字符是连续存储的,要用字符数组来处理字符串。 多个字符串可用二维数组来存储。 char name[3][10]={Monica,Rebecca,Rachel}; int a; int *p=a; int i,*p; p=i; 4.2.4 指针的运算 指针变量也是一种变量,因此指针变量可以像一般变量一样作操作数参加运算。但指针变量又与一般变量不同,其内容为地址量,因此指针运算是以指针变量所持有的地址值为运算量所进行的运算,其实质是地址的运算。指针的运算包括算术运算、关系运算和赋值运算。 1. 指针的算术运算 3. 两个指针的相减:必须同类型,值是一个整数,为两个地址之间数据的个数 指针运算的例子 int a[10]={1,2,3,4,5,6,7,8,9,10},*p,*q; p=a; q=a[3]; coutq-pendl; q=p+5; cout*qendl; p=a+3; q=p+3; cout*pendl*qendl; 2. 指针的关系运算 4.3.4 多级指针与指针数组 1.多级指针 2. 二级指针处理二维数组和多个字符串 二级指针变量pp指向指针数组p[3],并将二维数组各行的首地址赋给指针数组的各元素,此时,*pp所访问的变量是该二维数组第0行的首地址,即数组元素a[0][0]的地址,而*(pp+1)所访问的变量是该二维数组第1行的首地址,即数组元素a[1][0]的地址。如果对一级指针继续进行访问变量的*运算,即可得出相应的数组元素 int a[3][2]; 二级指针与二维数组 *pp a[0][0] a[0][1] a[1][0] a[1][1] a[2][0] a[2][1] p[0] p[1] p[2] int **pp; **pp *(*pp +1) **(pp +1) *(*(pp +1)+1) **(pp+2) *(*(pp+2 )+1) *(pp+1) *(pp+2) pp int *p[3]; 例:利用二级指针处理二维数组 #include iostream.h vo
文档评论(0)