ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:282.11KB ,
资源ID:5512486      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5512486.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(课程设计报告系统软件实践 2.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

课程设计报告系统软件实践 2.docx

1、课程设计报告系统软件实践 2北京化工大学北方学院课程设计报告课程名称 系统软件实践 设计题目 Linux C 程序设计 专业、班级 软件工程1004 学 号 100220126 姓 名 祝 杰 指导教师 马睿老师 设计时间 2013年10月8日-2013年10月27日 2013年 10月 27 日 一、 引言(简要说明设计题目的目的、意义、内容、主要任务等)1、目的 (1)巩固和复习C语言的基础知识,进一步加深对C语言的理解和掌握; (2)熟悉Linux的基本操作,并能够在Linux环境下编写C语言程序; (3)掌握书写程序设计说明文档的能力; (4)将理论知识和实际操作结合,锻炼动手能力,提

2、高编程能力; (5)培养在项目开发项目中独立完成任务的能力,提高自己的程思想。2、意义 (1)掌握程序设计的一般方法,树立正确的设计思想,培养分析和解决问题的能力; (2)学会了从实际出发,选择合理的算法,培养了程序设计能力; (4)以实践巩固书面知识,更深刻地理解C的运用,并能学以致用; (3)学会运用查阅有关技术资料的能力。3、内容程序一: 输入四个数通过加减乘除计算出24,显示计算过程,并提示成功信息。并用make工 程管理器编译。(注意分割文件,可参考第一题的提示。)编写makefile文件。程序二: 设计一个C程序,完成文件的复制工作。要求通过使用read函数和write函数复制 “

3、/etc/passwd”文件到“test”文件中,文件名当程序运行时从键盘键入。程序三: 设计一个程序,要求用户进程复制出一个子进程,父进程向子进程发出信号,子进 程收到此信号,结束子进程。4、主要任务(1)分析题目的要求;(2)总结各个程序所涉及的相关知识点;(3)掌握涉及的各种算法;(4)画出部分模块的流程图;(5)程序代码的涉及与实现。二、 正文(课程设计的主要内容,包括实验与观测方法和结果、仪器设备、计算方法、编程原理、数据处理、设计说明与依据、加工整理和图表、形成的论点和导出的结论等。正文内容必须实事求是、客观真切、准确完备、合乎逻辑、层次分明、语言流畅、结构严谨,符合各学科、专业的

4、有关要求。)程序一: 1、程序介绍:输入四个数通过加减乘除计算出24,显示计算过程,并提示成功信息。 并用make工程管理器编译。(注意分割文件,可参考第一题的提示。)编写makefile 文件。 2、功能模块图 3、函数功能main()函数:这是主函数,完成最后的运行。Add()函数:求和函数,返回两数之和。Sub()函数:求差函数,返回两数之差。Mul()函数:求积函数,返回两数之积。Dev()函数:求商函数,返回两数之商。Show()函数:显示运行的结果。 4、主要源程序 #include common.h int get24(int a, int b, int *temp) int i

5、,j,k; for (i = 0; i 4; i += 1) for (j = 0; j 4; j += 1) for (k = 0; k 4; k += 1) switch(i) case 0: *temp = add(a0,a1); break; case 1: *temp = sub(a0,a1); break; case 2: *temp = mul(a0,a1); break; case 3: *temp = dev(a0,a1); break; switch(j) case 0: *temp = add(*temp,a2); break; case 1: *temp = sub(*

6、temp,a2); break; case 2: *temp = mul(*temp,a2); break; case 3: *temp = dev(*temp,a2); break; switch(k) case 0: *temp = add(*temp,a3); if (*temp=24) b0 = i; b1 = j; b2 = k; *temp=24; show(a,b,*temp);return 0; break; case 1: *temp = sub(*temp,a3); if (*temp=24) b0 = i; b1 = j; b2 = k; *temp=24; show(a

7、,b,*temp);return 0; break; case 2: *temp = mul(*temp,a3); if (*temp=24) b0 = i; b1 = j; b2 = k; *temp=24; show(a,b,*temp);return 0; break; case 3: *temp = dev(*temp,a3); if (*temp=24) b0 = i; b1 = j; b2 = k; *temp=24; show(a,b,*temp);return 0; break; printf(凑数失败!n); 5、运行结果程序二: 1、程序说明 设计一个C程序,完成文件的复制

8、工作。要求通过使用read函数和write函数复 制“/etc/passwd”文件到“test”文件中,文件名当程序运行时从键盘键入。2、功能模块图 3、函数功能main()函数:定义字符数组ch,buf,定义整型变量fd,fd1,len。open()函数:打开文件以及创建文件。read()函数:读取数据到管道中。write()函数:将管道的数据写入到fd1.close()函数:关闭文件及进程。 4、主要源程序 #include #include #include #include int main(void) char ch128; char buf32; int fd, fd1, len

9、= 128; printf(请输入文件名:); scanf(%s, ch); sprintf(buf, ./test/%s, ch); fd=open(/etc/passwd, O_RDONLY); fd1=open(buf, O_WRONLY | O_CREAT, 0777); while (len = read(fd, ch, 128) printf(%s,ch); write(fd1, ch, len); close(fd); close(fd1); return 0; 5、运行结果程序三: 1、程序说明设计一个程序,要求用户进程复制出一个子进程,父进程向子进程发出信号,子进 程收到此信

10、号,结束子进程。 2、功能模块图 3、函数功能 main()函数:定义整型变量ret. fork()函数:复制进程,返回值存在变量result中。 raise()函数:发送SIGSTOP使子进程暂停。 kill()函数:发送SIGKILL杀死子进程。 4、主要源程序 #include #include #include #include #include #include int main () pid_t result; int ret; result=fork(); int newret; if(result0) perror(创建子进程失败); exit(1); else if (res

11、ult=0) raise(SIGSTOP); exit(0); else printf(子进程的进程号(PID)是: %dn,result); if(waitpid(result,NULL,WNOHANG)=0) if(ret=kill(result,SIGILL)=0) printf(用kill函数返回值是:%d,发出的SIGKILL信号结束的进程 进程号:%dn,ret,result); elseperror(kill函数结束子进程失败); 5、运行结果三、 结论(应当准确、完整、明确精练;也可以在结论或讨论中提出建议、设想、尚待解决问题等。)为了争强我们的C程序的实际操作与设计能力我编写

12、了这个课程设计,从程序的暂停构思到程序的算法设计及程序的编写再到最后的调试,我绞尽脑汁。虽然有遇到很多困难,但是我都克服了,我运用学习到的LINUX知识攻克了所有难关。经过这次的锻炼,我学习到了比书本上的知识更重要的知识,那就是实践。在实践中不畏惧艰辛,勇往直前,同过上网查资料以及相关文献的查阅,向牛逼人士虚心请教,这样才能攻无不克,战无不胜!通过这次的课程设计,拓宽了我们的知识面,打破了课堂以及书本的局限,在一会工作的道路上也要保持这种积极向上的心态,只要坚持不懈地努力下去,人生道路上的任何艰难险阻都可以不足为惧。在互帮互助的过程中,我们交流着自己的思想,体会到了团队精神的主要性。在今后的工

13、作生涯中,更是生活在一个团体里,如果没有团队精神,工作将是乏味的,效率自然也是很差的。这次的锻炼为今后的毕业设计做了个完美的铺垫,让我熟悉了如何去完成一个项目。激发了我自学的能力,在设计时遇到的许多问题都通过自学的方式轻松解决,这不仅帮助我完成了一项作业,更是激励了我的自信心,让我更有把握,更有信心,更有兴趣继续学下去。虽然IT的道路并不是那么丰富多彩,但只要有兴趣的话,工作再苦再累也是值得的。在最后,我希望自己可以把专业知识把握得更透彻,勤加练习。在21世纪这个信息时代,我们就是时代的先驱,我们要比别人走得更艰难也更遥远。路漫漫其修远兮,吾将上下而求索;天降大任于斯人也,必将苦其心志,劳其筋骨,饿其体肤。做好吃亏的准备,迎接最美好的明天。我会继续我们的兴趣编写程序的,相信在越来越多的尝试之后,自己会不断进步和提高。4、 参考文献1 邱世华.Linux操作系统之奥秘.北京:电子工业出版社,20082 李洋,汪虎松.RedHatLinux9系统与网络管理教程.北京:电子工业出版社,20063 骆耀祖,刘远东,骆珍仪.Linux网络服务器管理教程.北京:电子工业出版社,20074 柳青.Linux应用教程.北京:清华大学出版社,20085 李成大.操作系统Linux篇.北京:人民邮电出版社,2005五、 指导教师评语 签名: 年 月 日课程设计成绩(五级分制)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1