1、 1 课程设计报告 课程名称课程名称 系统软件实践系统软件实践 设计题目设计题目 Linux C Linux C 程序设计程序设计 专业、专业、班级班级 学学 号号 姓姓 名名 指导教师指导教师 设计时间设计时间 2013 年年 10 月月 12 日日-2013 年年 11 月月 7 日日 2013 年 11 月 7 日 2 一、一、 引言(引言(简要说明设计题目的目的、意义、内容、主要任务等简要说明设计题目的目的、意义、内容、主要任务等) 1.目的 1.巩固和复习 c 语言的基础知识,进一步加深对 c 语言的理解和掌握 2.课程设计提供了一个既动脑又动手,独立实践的机会,将课本上得理论知识和
2、实际 3.有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能 力; 4.熟悉 linux 的基本操作,并且能够在 linux 环境下编写 c 语言程序、 5.培养在项目开发中团队合作精神,创新意识及能力 2.意义 综合应用 c 程序设计课程的理论基础和知识, 掌握程序设计的一般方法, 树立正 确 的设计思想,培养了分析问题和解决问题的能力学会了从实际的要求出发,合理的选择算法, 正确的使用测试方法,培养了程序设计能力学会运用帮助和查阅有关技术资料的能力。 3.内容 程序一: 设计一个程序,要求计算学生的总成绩和平均成绩,并用 make 工程管理器编译。 (程序有
3、主函数 main 和自定义函数 fun_sum 和 fun_avg,再把函数声明都分割成独立的头文件,可将此 程序分割成下列 4 个文件。 )编写 makefile 文件。 程序二: 以 root 身份打开/tmp/temp 这个文件,如果这个文件不存在则创建它,然后用 write 写入字 符串“Linux Programmer!”。再次调用 open 打开这个文件,读出刚才写入的字符串“Linux Programmer!”,并显示。 程序三: 利用命名管道实现两个进程间的通信。 4. 主要任务 1)分析题目的要求, 2)总结各个程序所涉及的相关知识点 3)各种算法的涉及 4)画出部分模块的流
4、程图 5)程序代码的设计与实现 二、二、 正文(课程设计的主要内容,正文(课程设计的主要内容,包括实验与观测方法和结果、仪器包括实验与观测方法和结果、仪器设备、计算方法、编设备、计算方法、编 程原理、数据处理、设计说明与依据、加工整理和图表、形成的论点和导出的结论等。正程原理、数据处理、设计说明与依据、加工整理和图表、形成的论点和导出的结论等。正 文内容必须实事求是、客观真切、准确完备、合乎逻辑、层次分明、语言流畅、结构严谨,文内容必须实事求是、客观真切、准确完备、合乎逻辑、层次分明、语言流畅、结构严谨, 符合各学科、专业的有关要求。符合各学科、专业的有关要求。) 程序一: 程序描述: 设计一
5、个程序,要求计算学生的总成绩和平均成绩,并用 make 工程管理器编 译。编写 makefile 文件。 程序设计分析: 该程序包含主函数部分,自定义函数部分 func()函数,函数声明部分 makefile 文件四个 部分,主函数部分主要用于函数结构的输入和输出,自定义函数部分是用于主要的操作,函数 声明是用来对各个函数进行声明的。首先进入主函数,定义变量 person=0,avg=0.0,然后进行 手动输入人数和各个同学的成绩,然后调用自定义 函数 func()进行主要的操作,再次输入相 同的成绩,调用刚才的输出结果再进行运算。 四个部分的详细代码如下: 3 主函数 main #inclu
6、de “main.h“ int main(void) int person=0; float avg=0.0; printf(“请输入人数:n“); scanf(“%d“, printf(“请输入各个同学的成绩:n“); printf(“总成绩为:%fn“,func(person); printf(“请再次输入相同的成绩:n“); avg = func(person)/person; printf(“平均成绩为:%fn“,avg); return 0; 自定义函数: #include “main.h“ float func(int people) int i = 0; float sum=0.0; float apeo