第4章-数组与指针.ppt

上传人:F****n 文档编号:111899033 上传时间:2019-11-04 格式:PPT 页数:107 大小:1.13MB
返回 下载 相关 举报
第4章-数组与指针.ppt_第1页
第1页 / 共107页
第4章-数组与指针.ppt_第2页
第2页 / 共107页
第4章-数组与指针.ppt_第3页
第3页 / 共107页
第4章-数组与指针.ppt_第4页
第4页 / 共107页
第4章-数组与指针.ppt_第5页
第5页 / 共107页
点击查看更多>>
资源描述

《第4章-数组与指针.ppt》由会员分享,可在线阅读,更多相关《第4章-数组与指针.ppt(107页珍藏版)》请在金锄头文库上搜索。

1、第四章第四章 转让房地产而取得的无形资产收入或具有财产价值的权利,如专利权、商标权、著作权、专有技术使用权、土地使用权、商誉权等。其价值需要进行专门的评估。 数组可以解决什么问题 大量数据的排序问题 大量数据进行计算的同时又要求把每个数据保 留下来的问题 矩阵问题 字符串的处理问题:例如按一个简单的规则进 行数据加密及解密:加密的内容为 abcd 加密 后为cdef 转让房地产而取得的无形资产收入或具有财产价值的权利,如专利权、商标权、著作权、专有技术使用权、土地使用权、商誉权等。其价值需要进行专门的评估。 回顾 以前使用的数据类型都属于基本类型(整 型,实型,字符型) 其存储特点:每个变量单

2、独存储,亦称为 简单变量 如: X=a; Y=89; Y2=-2*x; 转让房地产而取得的无形资产收入或具有财产价值的权利,如专利权、商标权、著作权、专有技术使用权、土地使用权、商誉权等。其价值需要进行专门的评估。 构造类型构造类型 基本类型基本类型 空类型空类型(void)(void) 类类(class)(class) 指针类型指针类型 * * 数据类型 C+中除了基本数据类型,还有将基本数据类型的一组数据按一 定的规则组成的构造类型。构造类型的每一个分量可以是一个基 本数据类型的变量,也可以又是一个构造类型的变量。C+构造 类型有:数组、结构体、共用体等。 数组数组 结构体结构体(unio

3、n)(union) 共用体共用体(struct)(struct) 整型整型 字符型字符型 实型实型 枚举型枚举型 转让房地产而取得的无形资产收入或具有财产价值的权利,如专利权、商标权、著作权、专有技术使用权、土地使用权、商誉权等。其价值需要进行专门的评估。 构造类型的基本概念 构造类型的分量的使用方法 与简单变量相同。 构造类型的分量占用相邻的 存储空间。 对于构造类型的变量来说, 重点是访问其分量的方法。 例如: Int a10; float b34; 例如; Struct student int num; Char name20; Char sex; Int age; Float scor

4、e; Char addr30; Student1,student2; 转让房地产而取得的无形资产收入或具有财产价值的权利,如专利权、商标权、著作权、专有技术使用权、土地使用权、商誉权等。其价值需要进行专门的评估。 数组概念的引出数组概念的引出 例例: : 输入输入2020个成绩,求平均分,并输出高于平均分的成绩个成绩,求平均分,并输出高于平均分的成绩 #include void main() int sc,i; double aver=0.0; for (i=0;isc; aver+=sc; aver/=20; coutai; if(avarai; 输入所有数组元素: for (i=0;iai

5、; 输出方法: 输出第i个数组元素: coutn; for(i=0;isc; aver+=sc; aver/=n; coutai; /数组元素赋值 for(i=0;iai; /为数组元素赋值 max=a0; /设第一个元素为最大 for(i=1;imax)max=ai; /找最大 coutai; /为数组元素赋值 k=0; /设第一个元素为最大 for(i=1;iak)k=i; /找最大 coutai; for (i=0;iai; for (i=0;i=0;i-) if (ainumber) ai+1=ai;/后移 else break; number位置: i+1 ai+1=number;

6、12 18 10 (1) 3 5 7 12 18 a0 a1 a2 a3 a4 a5 #include void main() int a50=3,5,7,12,18,n=5,i,number; cinnumber; 转让房地产而取得的无形资产收入或具有财产价值的权利,如专利权、商标权、著作权、专有技术使用权、土地使用权、商誉权等。其价值需要进行专门的评估。 #include void main() int a50=3,5,7,12,18,n=5,i,number; cinnumber; for (i=n-1;i=0;i-) if (ainumber) ai+1=ai;/后移 else bre

7、ak; /找到位置 ai+1=number; n+; for (i=0;inumber; for (k=0;knumber) break;/找位置 for (i=n-1;i=k;i-) ai+1=ai; /后移 ak=number; n+; for (i=0;ib; for (i=0;ix; for (top=0,bottom=N-1;topaij; 输入整个数组元素: for (i=0;iaij; 输出方法: 输出第i行第j列元素: coutaij; for (i=0;ic; coutstr; / cin.get(str,20) couts2,则返回一正数;若s1=s2,则返回0; 若s1s

8、; for (i=0;ic; int l=strlen(c); for (i=0, j=l-1;ic; int l=strlen(c); for (int i=0;ip2; for (i=0;p2i!=0;i+) p1i=p2i; p1i=0; couts1s2; i=strlen(s1); for ( j=0;jp1p2; for( i=0;p2i!=0i+) if (p1i!=p2i) break; if (p1ip2i) cout*p*q;cin*p*q; b=*p+2;b=*p+2; *p*=b;*p*=b; q=q= *q=y-3;*q=y-3; coutab;cinab; if(a

9、ab;cinab; if(a*p; int a,*p= cin*p; 三、指针的赋值运算 指针变量赋的值必须是一个地址. 指针在使用 前一定要赋值! v 把一个变量的地址赋给相同数据类型的指针变量 v具有相同数据类型的指针变量之间相互赋值 v 把一个数组的地址赋给相同数据类型的指针变量 char *p, *q; p=q; double a5,*p,*q; p=a; q= 转让房地产而取得的无形资产收入或具有财产价值的权利,如专利权、商标权、著作权、专有技术使用权、土地使用权、商誉权等。其价值需要进行专门的评估。 一、指针的算术运算 3. 两个指针的相减:必须同类型,值是一个整数,为 两个地址之

10、间数据的个数 (p)-(q)(p)-(q) p-q=p-q= 该类数据字节数该类数据字节数 p+np-n 1. 指针与整数的加减运算 2. 指针的自增、自减运算 p+ +p/p指向下一个数据 p- -p /p指向上一个数据 值是地址,为从p所指单元向后/前的第n个 同类型数据的地址。即: pn=(p)数据长度*n 转让房地产而取得的无形资产收入或具有财产价值的权利,如专利权、商标权、著作权、专有技术使用权、土地使用权、商誉权等。其价值需要进行专门的评估。 若:char *p,*q; 则 p-q=(0x80000008-0x80000000)/1=8 若:int *p,*q; 则 p-q=(0x

11、80000008-0x80000000)/4=2 若:double *p,*q; 则 p-q=(0x80000008-0x80000000)/8=1 p-q的值是两指针之间相差的数据个 数,而不是存储单元的个数 p-q=(p)-(q)/数据长度 转让房地产而取得的无形资产收入或具有财产价值的权利,如专利权、商标权、著作权、专有技术使用权、土地使用权、商誉权等。其价值需要进行专门的评估。 指针运算 int a10=1,2,3,4,5,6,7,8,9,10,*p,*q; p=a; q= coutpi; for(i=0;i4;i+) for(int j=0;j0) temp=pj; pj=pj+1;

12、 pj+1=temp; for(i=0;in;i+) coutpiendl; #include #include void main() 为指针数组赋值, 指针在使用之前一定要赋值! p0 p1 p2 p3 pa0 a1 a2 a3 转让房地产而取得的无形资产收入或具有财产价值的权利,如专利权、商标权、著作权、专有技术使用权、土地使用权、商誉权等。其价值需要进行专门的评估。 #include void main() int a12=1,2,3,4,5,6,7,8,9,10,11,12,*p4,i; for(i=0;i4;i+) pi= cout *(p3+2) endl; / *(*(p+3)

13、+2), p32 p0 p1p2p3 v指针数组处理一维数组 转让房地产而取得的无形资产收入或具有财产价值的权利,如专利权、商标权、著作权、专有技术使用权、土地使用权、商誉权等。其价值需要进行专门的评估。 v指针数组处理二维数组 a0 a1 a12a11a10 a02a01 a00 int a23; aij 的地址: p0=a0; p1=a1; for (i=0;i2;i+) for(j=0;j3;j+) aij=(i+1)*(j+1) ; for (i=0;i2;i+) for(j=0;j3;j+) cout*(pi+j)endl; 转让房地产而取得的无形资产收入或具有财产价值的权利,如专利

14、权、商标权、著作权、专有技术使用权、土地使用权、商誉权等。其价值需要进行专门的评估。 三、数组指针 v 概念 指向一个包含n个元素的一维数组,且指针的增值 以一维数组的长度n为单位。如果指针变量p指向了 二维数组的某一行,则p+1就指向了该二维数组的 下一行,这样的指针变量被称为数组指针。 v 定义形式 数据类型 (*指针变量名)元素个数; 例如:int (*p)3; 表明指针变量p指向的存储空间包含有三个整型元素 转让房地产而取得的无形资产收入或具有财产价值的权利,如专利权、商标权、著作权、专有技术使用权、土地使用权、商誉权等。其价值需要进行专门的评估。 三、数组指针 v 举例 设有二维数组

15、:a23,数组指针: (*p)3 2 5 8 1 7 9 p (*p)0 (*p)1 (*p)2 v 说明 (*p)两侧的括号一定不要漏掉。 P是一个行指针,它只能指向一个包含有若干元素的 一维数组,p不能指向一维数组中的元素。 要访问一维数组中的某个元素,可用(*p)j的形式。 访问二维数组中的某个元素,可: P已指向第i行:(*p)j,*(*p+j) P为二维数组首地址:*(*(p+i)+j) 转让房地产而取得的无形资产收入或具有财产价值的权利,如专利权、商标权、著作权、专有技术使用权、土地使用权、商誉权等。其价值需要进行专门的评估。 _引用的使用 _ 引用及其声明 4-4 引用 转让房地产而取得的无形资产收入或具有财产价值的权利,如专利权、商标权、著作权、专有技术使用权、土地使用权、商誉权等。其价值需要进行专门的评估。 一、引用及其声明 v 声明方法 数据类型 v 定义 引用是C+中特殊的数据类型,是给一个已经定义好 的变量重新起一个别名。不

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 小学教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号