计算机程序设计基础(谌卫军)第05章_函数.pptVIP

计算机程序设计基础(谌卫军)第05章_函数.ppt

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
int IsPrime(int m) { int j, sq; sq = (int)sqrt(m); for(j = 2; j = sq; j++) { if(m % j == 0) break; } if(j sq) return 1; else return 0; } 5.4.4 循环右移 问题描述: 编写一个程序,读入一组整数(不超过20个),当用户输入0时,表示输入结束。接下来再输入一个正整数M,然后程序将把这组整数循环右移M次,然后把循环右移的结果打印出来。 所谓循环右移,就是把每个数组元素往右移动一格,然后把最右边的那个元素移回到最左边。例如,对于一组整数“100 400 200 300”,把它循环右移一次的结果是“300 100 400 200”;把它循环右移两次的结果是“200 300 100 400”。 如何循环右移M位? 能否进行问题分解? 如何循环右移1位? 问题分析 如何将每个数组元素循环右移1位? 2 1 … 4 3 0 1 ... N-2 N-1 temp = a[N-1]; for( ) { a[k] = a[k-1]; } a[0] = temp; k = N-1; k 0; k-- #include stdio.h void shift(int a[], int N); void main() { int N=0, b[20], i, M; while(1) { scanf(%d, b[N]); if(b[N] == 0) break; else N++; } scanf(%d, M); for(i = 1; i = M; i++) shift(b, N); for(i = 0; i N; i++) printf(%d ,b[i]); } void shift(int a[], int N) { int temp, k; temp = a[N-1]; for(k = N-1; k 0; k--) { a[k] = a[k-1]; } a[0] = temp; } 1 2 3 4 5 a a[0] a[1] a[2] a[3] a[4] Question? b b[0] b[1] b[2] b[3] b[4] #include stdio.h void shift(int a[], int N); void main() { int N=0, b[20], i, M; while(1) { scanf(%d, b[N]); if(b[N] == 0) break; else N++; } scanf(%d, M); for(i = 1; i = M; i++) shift(b, N); for(i = 0; i N; i++) printf(%d ,b[i]); } void shift(int a[], int N) { int temp, k; temp = a[N-1]; for(k = N-1; k 0; k--) { a[k] = a[k-1]; } a[0] = temp; } 在函数调用时,传地址而不传值 main的栈帧 下 课 啦 ! rand() 0 seed 12384 12384 int rand( ) { ...... } rand.c int seed int seed; int seed; 第五章 函数 1 3 2 函数概述 函数调用的实现过程 函数与设计 4 函数的使用 5.3.1 内存分布 存储程序原理,1945,John von Neumann 把代码和数据都存放在内存中 操作系统 代码 栈帧2 栈帧1 全局变量 内存分布状况 全局变量区域 静态分配 栈 自动分配 堆 动态分配 #include stdio.h int sum; int Add(int a, int b); void main() { int x, y; scanf(%d %d, x, y); sum = Add(x, y);

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档