Linux课程设计

  • 格式:doc
  • 大小:281.00 KB
  • 文档页数:19

下载文档原格式

  / 19
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、引言(简要说明设计题目的目的、意义、内容、主要任务等)

1.目的

1)巩固和复习c语言的基础知识,进一步加深对c语言的理解和掌握

2)课程设计提供了一个既动脑又动手,独立实践的机会,将课本上得理论知识和实际

3)有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的

4)能力;

5)熟悉linux的基本操作,并且能够在linux环境下编写c语言程序、

6)培养在项目开发中团队合作精神,创新意识及能力

2.意义

1)综合应用c程序设计课程的理论基础和知识,掌握程序设计的一般方法,树立正确的设计思想,培养了分析问题和解决问题的能力

2)学会了从实际的要求出发,合理的选择算法,正确的使用测试方法,培养了程序设计能力

3)学会运用帮助和查阅有关技术资料的能力。

3.内容

程序一:

制作一个可供小学数学运算的程序:10以内加减法,能根据输入题数出题,判断题是

否正确,最后计算分数。例如:请输入题数:2

1+5=

2+4=

由用户输入答案,程序根据答案判断正误,输出正确率(%)。并用make工程管理器编

译。(注意分割文件,可参考第一题的提示。)编写makefile文件。

程序二:

设计一个程序,要求新建一个文件“hello”,利用write函数将“Linux下c软件设

计”字符串写入该文件。

程序三:

利用命名管道实现两个进程间的通信。

程序四:

服务器通过socket连接后,向客户端发送字符串“连接上了”。在服务器上显示客

户端的IP地址或域名。

4.主要任务

1)分析题目的要求,

2)总结各个程序所涉及的相关知识点

3)各种算法的涉及

4)画出部分模块的流程图

5)程序代码的设计与实现

二、正文(课程设计的主要内容,包括实验与观测方法和结果、仪器设备、计算方

法、编程原理、数据处理、设计说明与依据、加工整理和图表、形成的论点和导出的结论等。正文内容必须实事求是、客观真切、准确完备、合乎逻辑、层次分明、语言流畅、结构严谨,符合各学科、专业的有关要求。)

程序一:

源代码:

start.c文件:

该文件主要处理算法和逻辑,学生开始答题,运算逻辑的和结果

以及答题结果。

#include

#include

void print_random(int count, int *a)

{

int ii = 1;

int i=*a;

a++;

int j=*a;

a++;

int c;

int total=0;

int d=0;

int ok = 0;

printf("本题库中只有%d题,请认真答题,每题5分\n",count);

while(1){

printf("第%d题:", ii);

printf("%d ", i);

printf("+");

printf("%d ", j);

printf("=?");

printf("\n");

printf("请您输入结果:");

scanf("%d",&c);

d=i+j;

if(c==d){

printf("正确\n");

ok++;

total+=5;

}else{

printf("错误%d\n",d);

total+=0;

}

if(ii==count){

break;

}

ii++;

i=*a;

a++;

j=*a;

a++;

d=0;

}

printf("正确率为:%d%\n",ok*100/count);

printf("您最后的总分是:%d",total);

printf("\n");

}

main.c 文件:

该文件主要包含主函数,逻辑的控制,以及学生确定题的数量

还包括生成题库的函数。

#include

#include

void gen_random(int count,int *a)

{

int i;

for (i = 0; i < count*2; i++){

*a = rand() % 10;

a++;

}

}

int main(void)

{

printf("请您输入数量:");

int c;

scanf("%d",&c);

int a[200];

gen_random(c,a);

printf("%d",a[2]);

print_random(c,a);

return 0;

}

Makefile文件:

main:start.o main.o

gcc start.o main.o -o xxlx

isDelta.o:start.c

gcc start.c -c

main.o:main.c

gcc main.c -c

运行结果图:

程序二:

程序描述:此程序主要实现了文件的打开,关闭,读取和写入。

1.creat

函数 creat 的作用是在目录中建立一个空文件,该函数的使用方法如下所示。

int creat(char * pathname, mode_t mode);

函数的参数 pathname 表示需要建立文件的文件名和目录名,mode 表示这个文件的

权限。

文件权限的设置见本章第一节所述。文件创建成功时返回创建文件的编号,否则返

回-1。

使用这个函数时,需要在程序的前面包含下面三个头文件。

#include

#include

#include

如果创建文件不成功,可用 errno 捕获错误编号然后输出。creat 函数可能发生的

错误如

下所示。

EEXIST:参数 pathname 所指的文件已存在。

EACCESS:参数 pathname 所指定的文件不符合所要求测试的权限。