数组与函数专用课件.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数组与函数专用课件

计算组合数SA_Demo7_8.cpp 注意理解SA_Demo7_8.cpp中详细实现的过程,留意combin函数的调用顺序 int combin(int m,int n) { if(m==0) return 0; if(m2*n) n=m-n; if(n==0) return 1; if(n ==1) return m; else return combin(m-1,n-1)+combin(m-1,n); } 常见的一些递归函数 作业HW4.cpp 输入一行字符,以’.’结束,统计字母(含大小写)、数字和其他字符的个数以及所占的百分比(‘.’作为结束字符,不统计) 如当输入 Ao63Efg%?$5 7 9 pq. 输出 number percent(%) letter 7 38.9 digit 5 27.8 other 6 33.3 第八部分 结构体 第九部分 文件读写 const 与 define 下面代码输出什么结果 #include stdio.h #define SQR(x) (x*x) int main() { int a,b=3; a=SQR(b+2); printf(“a=%d\n”,a); return 0; } A 25 B 11 C根据编译器不同 D Error C程序设计 2011.3 第六部分 指针 指针与指针变量的概念 内存地址:内存中存储单元的编号 内存地址与地址所存放的数据 变量地址:系统分配给变量的内存单元起始地址 变量值的存取:通过变量在内存中的地址进行 方式1:直接访问,利用变量的地址进行 方式2:间接访问,通过另一变量访问该变量的值 比较:A(系统)要找B(变量),如果A知道B在哪里,直接找到即可(直接访问);如果不知道B在哪里,但C(指针)知道,那么A可以先找到C,然后知道B在哪里,从而找到B(间接访问) 变量与指针(1) 变量地址与变量值 int a; //系统分出单元 a=85; //1000--变量地址,由系统确定 //85------变量值,由程序员确定 a=a+1; //先取出a,加1后又送回去 指针与指针所指向的数据 int a,*p; //系统分出单元 p占用100单元,a占用1000单元,系统决定 a=85; //变量赋值,合法 p=85; //是否合法?否 p=a; //是否合法?是,取出a的地址1000,送到”100”处   1000 85 a   内存   100 1000 p     1000 85 a   变量与指针(2) 指针:存贮变量地址,又称为指针变量,用*号区别 int *p; 定义一个指针变量,用以指向一个整型数据,但给指针赋值之前,指针变量不会指向任何数据 执行a=85以及p=a后,指针p指向a,85称为指针p所指向的数据 p-85 或者 p-a 指针p所指向的数据用*p表示 下面两组等价 a=85; *p=85; //p=a a=a+1; *p=*p+1; printf(“%d\n”,a); printf(“%d\n”,*p); 通过变量名访问数据 通过指针访问数据 指针举例 例1: int a,*p1,*p2; a=85; p1=a; p2=p1; 分析执行情况 例2:指针所指向的数据赋值 int a,b,*p1,*p2; p1=a; p2=b; *p1=85; *p2=*p1; 指针与数组(1) 数组名代表什么? 数组名表示数组的起始地址,即数组名可当地址使用,C语言特有 int a[10],*p,*q; p=a; //指针赋值 p+1指向a[1] ….. p+9指向a[9] p=a与p=a[0]等价 p,a- a[0] p+1 a[1] p+2 a[2] … … … … p+9 a[9] 指针与数组(2) SA_Demo6_1.cpp 指针运算 设p=a[0],q=a[6]; //q=p+6 大小比较 p==q为假, p!=q为真, pq为真 单个指针变量的增减运算 p+1指向a[1], *(p+1)与a[1]等价 p++指向a[1], q-2指向a[4],*(q-2)与a[4]等价 两个指针的减法运算q-p是6,差6个变量的地址距离 数组元素的访问 如需访问a[5] , p=a 下标法:printf(”%d\n

文档评论(0)

dart002 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档