




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、会计学1C程序阅读程序阅读第1页/共43页第2页/共43页第3页/共43页第4页/共43页第5页/共43页第6页/共43页第7页/共43页第8页/共43页第9页/共43页第10页/共43页练习练习2011年3月一(20)有以下程序段int i,n;for(i=0;i8;i+) n=rand()%5;switch (n) case 1:case 3:printf(%dn,n); break;case 2:case 4:printf(%dn,n); continue;case 0:exit(0);printf(%dn,n);以下关于程序段执行情况的叙述,正确的是A)for循环语句固定执行8次B)当
2、产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行返回操作系返回操作系统统产生随机数产生随机数第11页/共43页rand()%100结果是随机数除以100后所得的余数,即限定随机的范围是在099之间; 使用rand()函数需添加头文件:#include 1. rand()函数函数功能:是一个可以生成随机数的函数随机数函数返回的随机数在0RAND_MAX(32767)之间;2. srand()函数函数功能:用来设置随机数的种子,一般与rand()结合使用。否则直接用rand()的话,每次运行程序的产生的随机数都相同。n=rand()%
3、5; 产生04的随机数随机函数介绍随机函数介绍第12页/共43页不影响实参的值不影响实参的值。第13页/共43页#includeint add(int , int ) ;void main() int a, b, c ; scanf(%d%d,&a,&b) ; c = add(a,b) ; printf(c=%dn,c);int add(int i, int j ) i + + ; j + + ; return ( i + j ); abc int a, b, c ;/ / 例例 值参传递值参传递第14页/共43页#includeint add(int , int ) ;void main()
4、 int a, b, c ; scanf(%d%d,&a,&b) ; c = add(a,b) ; printf(c=%dn,c);int add(int i, int j ) i + + ; j + + ; return ( i + j ); abc24scanf(%d%d,&a,&b) ;/ / 例例5 5 值参传递值参传递第15页/共43页#includeint add(int , int ) ;void main() int a, b, c ; scanf(%d%d,&a,&b) ; c = add(a,b) ; printf(c=%dn,c);int add(int i, int j
5、 ) i + + ; j + + ; return ( i + j ); abc24 c = add(a,b) ;/ / 例例5 5 值参传递值参传递第16页/共43页#includeint add(int , int ) ;void main() int a, b, c ; scanf(%d%d,&a,&b) ; c = add(a,b) ; printf(c=%dn,c);int add(int i, int j ) i + + ; j + + ; return ( i + j ); abcij2424 int add(int i, int j )/ / 例例5 5 值参传递值参传递第17
6、页/共43页24ij#includeint add(int , int ) ;void main() int a, b, c ; scanf(%d%d,&a,&b) ; c = add(a,b) ; printf(c=%dn,c);int add(int i, int j ) i + + ; j + + ; return ( i + j ); abc2424 i + + ; j + + ;/ / 例例5 5 值参传递值参传递第18页/共43页#includeint add(int , int ) ;void main() int a, b, c ; scanf(%d%d,&a,&b) ; c
7、= add(a,b) ; printf(c=%dn,c);int add(int i, int j ) i + + ; j + + ; return ( i + j ); abcij2424obj return ( i + j ); / / 例例5 5 值参传递值参传递3 + 5第19页/共43页#includeint add(int , int ) ;void main() int a, b, c ; scanf(%d%d,&a,&b) ; c = add(a,b) ; printf(c=%dn,c);int add(int i, int j ) i + + ; j + + ; return
8、 ( i + j ); abcij2424obj8 return ( i + j ); / / 例例5 5 值参传递值参传递第20页/共43页#includeint add(int , int ) ;void main() int a, b, c ; scanf(%d%d,&a,&b) ; c = add(a,b) ; printf(c=%dn,c);int add(int i, int j ) i + + ; j + + ; return ( i + j ); abcij24824 c = add(a,b) ;/ / 例例5 5 值参传递值参传递obj8第21页/共43页#includein
9、t add(int , int ) ;void main() int a, b, c ; scanf(%d%d,&a,&b) ; c = add(a,b) ; printf(c=%dn,c);int add(int i, int j ) i + + ; j + + ; return ( i + j ); abc248 c = add(a,b) ;/ / 例例5 5 值参传递值参传递第22页/共43页#includeint add(int , int ) ;void main() int a, b, c ; scanf(%d%d,&a,&b) ; c = add(a,b) ; printf(c=
10、%dn,c);int add(int i, int j ) i + + ; j + + ; return ( i + j ); abc248输出c = 8 printf(c=%dn,c);/ / 例例5 5 值参传递值参传递第23页/共43页第24页/共43页.20002010201420042008200C5变量a 变量b(main)9 变量temp 变量y 变量x(swap)559 59COPY#include swap(int x,int y) int temp; temp=x; x=y; y=temp;void main() int a,b; scanf(%d,%d,&a,&b); i
11、f(ab) swap(a,b); printf(n%d,%dn,a,b);例:函数实现变量值交换值传递运行结果:运行结果:5, 9第25页/共43页swap(int *p1, int *p2) int p; p=*p1; *p1=*p2; *p2=p;main() int a,b; int *pointer_1,*pointer_2; scanf(%d,%d,&a,&b); pointer_1=&a; pointer_2=&b; if(ab)swap(pointer_1,pointer_2); printf(n%d,%dn,a,b);.20002010201420042008200C20182
12、01C2020.59a b(main)(swap)p1p2p5920002004COPY5例:函数实现变量值交换地址传递运行结果:9 5第26页/共43页#include void f(int n, int *r) if(n%3=0) *r=n+/3; else if(n%5=0) *r=n+/5;void main() int m=6, p=10; f(m, &p); printf(m=%dn,m); printf(“p=%dn,p);例 程序运行后的输出结果是:( )6m10p6n&pr*r函数调用时:函数调用时: m到将值传递给到将值传递给n,n定义为普通变量定义为普通变量 p将地址传递
13、给将地址传递给r,r定义为指针变量定义为指针变量函数调用函数调用函数调用函数调用结束结束27函数调用结束:函数调用结束: 传值的传值的m没有改变没有改变 传地址的传地址的p在函数在函数f中所作的改变保留中所作的改变保留了下来。了下来。*r相当于直接对相当于直接对p操作操作第27页/共43页第28页/共43页函数调用用函数调用用栈栈管理管理 栈是先进后出的数据结构函数调用调用时入栈入栈操作: 建立被调用函数的栈空间 保护调用函数运行状态和返回地址 传递参数 控制权交给被调用函数函数返回返回时出栈出栈操作: 返回值保存在临时空间 恢复调用函数运行状态 释放栈空间 根据地址返回调用函数函数嵌套调用函
14、数嵌套调用第29页/共43页main函函数数调用调用a函数函数结束结束a函数函数调用调用b函数函数b函数函数第30页/共43页递归形式递归形式递归终止条递归终止条件件基本情况基本情况修改递归条件修改递归条件第31页/共43页mainf=fac(4)5fac函数函数n=5f=fac(3)4fac函数函数n=4f=fac(1)2fac函数函数n=2f=fac(2)3fac函数函数n=3f=1fac函数函数n=1fac(1)=1fac(2)=2fac(3)=6fac(4)=24fac(5)=120120第32页/共43页例例 : 2010年3月第33页/共43页例:反序输出正整数数字串例:反序输出正
15、整数数字串#include void reverse ( int n ) printf(%d,n%10) ;/输出最右边一位数字 if(n/10!=0) reverse(n/10);/ 求商,递归void main () int k ; printf(Input a integer number( 0 ) : n); scanf(%d,&k); reverse(k); printf(n);第34页/共43页练习:练习:有以下程序#include fun(intx) if(x/20)fun(x/2); printf(%d,x); main() fun(7);printf(n);程序运行后的输出结
16、果是A)1 3 7B)7 3 1C)7 3D)3 7第35页/共43页h he el ll lo o00hell0 00000c0c1c2c3c4c5c6c7c8c9char *str= “hello”;str第36页/共43页 char name59=“gain”,“much”,“stronger”, “point”,“bye”; char *name5=“gain”,“much”,“stronger”, “point”,“bye”;g a i n 0s t r o n g e r 0p o i n t 0m u c h 0name0name1name2name3name4b y e 0g
17、a i n 0s t r o n g e r 0p o i n t 0m u c h 0b y e 02.字符串数组的两种实现形式二维数组存储空间固定字符指针数组相当于可变列长的二维数组指针数组元素的作用相当于二维数组的行名但指针数组中元素是指针变量二维数组的行名是地址常量第37页/共43页练习:练习:有以下程序 fun(char p10) int n=0,i; for(i=0;i7;i+) if(pi0=T) n+; return n; main() char str10=“Mon”, “Tue”, “Wed”, “Thu”,”Fri”,”Sat”,”Sun”; printf(“%dn”,f
18、un(str); 程序执行后的输出结果是 A)1 N B) 2 C)3 D) 0 第38页/共43页练习:练习: 有以下程序 #include main() void f(char p10, int n ) /* 字符串从小到大排序 */ char t10; int i,j; for(i=0;in-1;i+) for(j=i+1;j0) strcpy(t,pi); strcpy(pi,pj); strcpy(pj,t); main() char p510=“abc”,”aabdfg”,”abbd”,”dcdbe”,”cd”; f(p,5); printf(“%dn”,strlen(p0); 程序运行后的输出结果是 A) 2 B) 4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省深圳市桃源居中澳实验学校2025-2026学年高三上学期第一次月考历史试题
- 应届生安全培训内容
- 巡防安全卫士培训内容课件
- 2025年电商应用与品牌市场洞察分析报告
- 岩石学课件地大北京
- 输电安全培训特色亮点课件
- 小鸭过河课件
- 高级管理人员劳动局认可的特殊待遇劳动合同模板
- 多种担保保证方式在工程项目中的应用合同
- 个人股权变更及收益分配合同
- 2025年综合应急救援训练基地建设项目可行性研究报告
- 爱护公司财产培训
- 2025至2030中国现金处理中心行业发展趋势分析与未来投资战略咨询研究报告
- 肺康复指南科普讲课件
- 重症肌无力中药治疗讲课件
- 景区游客接待管理制度
- 泡沫箱公司管理制度
- 内分泌疾病的健康教育
- 孩子眼睛受伤协议书
- 食品公司原辅料及包装材料验收规范
- 学校食堂设备设施改造方案
评论
0/150
提交评论