Linux课程考查要求.docx

上传人:b****5 文档编号:11855713 上传时间:2023-04-06 格式:DOCX 页数:16 大小:551.11KB
下载 相关 举报
Linux课程考查要求.docx_第1页
第1页 / 共16页
Linux课程考查要求.docx_第2页
第2页 / 共16页
Linux课程考查要求.docx_第3页
第3页 / 共16页
Linux课程考查要求.docx_第4页
第4页 / 共16页
Linux课程考查要求.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

Linux课程考查要求.docx

《Linux课程考查要求.docx》由会员分享,可在线阅读,更多相关《Linux课程考查要求.docx(16页珍藏版)》请在冰豆网上搜索。

Linux课程考查要求.docx

Linux课程考查要求

Linux课程考查

一、要求:

1.在Linux环境下创建一个以自己学号作为用户名的用户账号,并切换到以自己学号为用户名的用户下(或者登录时选择自己学号的用户登录Linux),完成课程考查,即所有截图中要包含自己的学号用户;

2.Word文档文件名为:

学号.doc或学号.docx。

电子版提交到作业系统的“课程考查”中。

同时将电子版打印,打印文档加课程考查封面上课时上交。

(学号指自己的学号,如:

2130609100,用户创建参见讲议实验八中“手动添加用户”)

二、选题说明

请按照学号的最后一位选择对应的题目作为课程考查。

对应关系为:

学号最后一位为1选择题目1;

学号最后一位为2选择题目2;

学号最后一位为3选择题目3;

学号最后一位为4选择题目4;

学号最后一位为5选择题目5;

学号最后一位为6选择题目6;

学号最后一位为7选择题目7;

学号最后一位为8选择题目8;

学号最后一位为9选择题目9;

学号最后一位为0选择题目10;

注意千万不要弄错,否则理论课和实验课考查成绩为0分。

三、具体题目

题目1、给出如下C程序,文件名为yanghui.c,

1#include

2intmain()

3{inta[16][16];

4inti,j;

5for(i=1;i<16;i++)

6{a[i][1]=1;a[i][i]=1;}

7for(i=3;i<16;i++)

8for(j=2;j

9a[i][j]=a[i-1][j-1]+a[i-1][j];

10for(i==1;i<16;i++)

11{for(j=1;j<=i;j++)

12printf("%5d",a[i][j]);

13printf("\n");

14}

15}

该源程序中第10行有错,但不希望更改源程序。

请写出用gcc编译生成带调试信息的可执行程序yanghui的命令行,再使用gdb来调试它得到如下正确的结果?

写出具体的步骤(含各种命令行书写格式)。

1

11

121

1331

14641

15101051

……

11378286715128717161716128771528678131

11491364100120023003343230032002100136491141

考查材料的提交:

用Word文档记录实验过程(截图),包括C程序的编译、调试运行、查看实验结果(C程序、调试命令、调试时输出正确结果图)。

题目2、设计一个Shell程序,在/目录创建class2013,再在/class2013目录下建立50个目录,即21306091001~21306091050,并设置每个目录的权限,其中其他用户的权限为:

读;文件所有者的权限为:

读、写、执行;文件所有者所在组的权限为:

读、执行。

之后创建用户名为21306091001~21306091050的50个用户,每个用户的对应自己的用户主目录(如:

21306091001的用户对应的用户主目录为/class2013/21306091001)。

考查材料的提交:

用Word文档记录实验过程(截图),包括Shell程序的创建、运行、查看实验结果(Shell程序、目录结构、用户与目录对应关系)。

题目3、

1#include

2#include

3staticvoidmy_exit1(void);

4staticvoidmy_exit2(void);

5

6intmain(void)

7{

8if(atexit(my_exit2)!

=0)

9{

10printf("registermy_exit2failed\n");

11return-1;

12}

13

14if(atexit(my_exit1)!

=0)

15{

16printf("registermy_exit1failed\n");

17return-1;

18}

19

20printf("mainisdone\n");

21return0;

22}

23

24staticvoidmy_exit1(void)

25{

26printf("firstexithandler\n");

27}

28

29staticvoidmy_exit2(void)

30{

31printf("secondexithandler\n");

32}

考查材料的提交:

用Word文档记录实验过程(截图,如下图是用软件名为“截图”的软件截的图),包括Shell程序的创建、运行、查看实验结果(Shell程序、目录结构、用户与目录对应关系)。

题目4、建立一个mystatic的静态库,并运行查看结果。

static.h头文件

static1.c

static2.c

test_static.c

考查材料的提交:

用Word文档记录实验过程(截图),包括C程序的创建、运行、查看实验结果(C程序、运行结果),分析运行结果产生的原因。

题目5、给出如下C程序,文件名为ex_fork.c,请分析在Linux下程序运行的结果,并说明原因。

1#include

2#include

3#include

4#include

5intmain()

6{

7pid_tpid;

8char*message;

9intn=3;

10

11printf("forkprogramstarting\n");

12pid=fork();

13switch(pid)

14{

15case-1:

16perror("forkfailed");

17exit

(1);

18case0:

19message="Thisisthechild";

20n=4;

21break;

22default:

23message="Thisistheparent";

24n++;

25break;

26}

27

28for(;n>0;n--){

29puts(message);

30sleep

(1);

31}

32

33exit(0);

34}

考查材料的提交:

用Word文档记录实验过程(截图),包括C程序的创建、运行、查看实验结果(C程序、运行结果),分析运行结果产生的原因。

题目6、给出如下C程序,文件名为ex_vfork.c,请分析在Linux下程序运行的结果,并说明原因。

1#include

2#include

3#include

4#include

5intmain()

6{

7pid_tpid;

8char*message;

9intn=2;

10

11printf("forkprogramstarting\n");

12pid=vfork();

13switch(pid)

14{

15case-1:

16perror("forkfailed");

17exit

(1);

18case0:

19message="Thisisthechild";

20n=6;

21break;

22default:

23message="Thisistheparent";

24n++;

25break;

26}

27

28for(;n>0;n--){

29puts(message);

30sleep

(1);

31}

32

33exit(0);

34}

考查材料的提交:

用Word文档记录实验过程(截图),包括C程序的创建、运行、查看实验结果(C程序、运行结果),分析运行结果产生的原因。

题目7、运行程序,查看运行结果,并分析产生运行结果的原因。

1#include

2#include

3#include

4#include

5#include

6

7intmain()

8{

9pid_tpid;

10char*message;

11intn=2;

12intexit_code;

13

14printf("forkprogramstarting\n");

15pid=fork();

16

17switch(pid)

18{

19case-1:

20perror("forkfailed");

21exit

(1);

22case0:

23message="Thisisthechild";

24n=5;

25exit_code=37;

26break;

27default:

28message="Thisistheparent";

29n++;

30exit_code=0;

31break;

32}

33

34for(;n>0;n--)

35{

36puts(message);

37sleep

(1);

38}

39

40if(pid!

=0)

41{

42intstat_val;

43pid_tchild_pid;

44

45child_pid=wait(&stat_val);

46

47printf("Childhasfinished:

PID=%d\n",child_pid);

48if(WIFEXITED(stat_val))

49printf("Childexitedwithcode%d\n",WEXITSTATUS(stat_val));

50else

51printf("Childterminatedabnormally\n");

52}

53

54exit(exit_code);

55}

考查材料的提交:

用Word文档记录实验过程(截图),包括C程序的创建、运行、查看实验结果(C程序、运行结果),分析运行结果产生的原因。

题目8、SIGINT信号处理,运行程序,查看运行结果,并分析产生运行结果的原因。

1#include

2#include

3#include

4#include

5#include

6

7intmain()

8{

9pid_tpid;

10char*message;

11intn=2;

12

13printf("forkprogramstarting\n");

14pid=fork();

15

16switch(pid)

17{

18case-1:

19perror("forkfailed");

20exit

(1);

21case0:

22message="Thisisthechild";

23n=5;

24break;

25default:

26message="Thisistheparent";

27n++;

28break;

29}

30

31for(;n>0;n--)

32{

33puts(message);

34sleep

(1);

35}

36

37if(pid!

=0)

38{

39kill(pid,SIGINT);

40}

41

42return0;

43}

考查材料的提交:

用Word文档记录实验过程(截图),包括C程序的创建、运行、查看实验结果(C程序、运行结果),分析运行结果产生的原因。

题目9、SIGALRM信号处理,运行程序,查看运行结果,并分析产生运行结果的原因。

1#include

2#include

3#include

4#include

5

6staticvoidonTimer(intsig)

7{

8printf("Thetimeristimeout.\n");

9}

10

11staticunsignedintmysleep(unsignedintseconds)

12{

13if(signal(SIGALRM,onTimer)==SIG_ERR)

14{

15printf("Failtocallsignal()\n");

16returnseconds;

17}

18

19alarm(seconds);

20pause();

21

22returnalarm(0);

23}

24

25intmain()

26{

27printf("Begin...\n");

28mysleep(10);

29printf("End...\n");

30

31return0;

32}

考查材料的提交:

用Word文档记录实验过程(截图),包括C程序的创建、运行、查看实验结果(C程序、运行结果),分析运行结果产生的原因。

题目10、Kill对sigaction信号处理,运行程序,按下Ctrl+C组合键,之后按Ctrl+\组合键,查看运行结果,并分析产生运行结果的原因。

1#include

2#include

3#include

4

5voidgotit(intsig)/*定义信号回调函数*/

6{

7printf("signal%discaptured.\n",sig);

8

9sleep(20);/*睡眠20秒*/

10}

11

12intmain()

13{

14structsigactionact;

15

16act.sa_handler=gotit;

17sigemptyset(&act.sa_mask);

18sigaddset(&act.sa_mask,SIGQUIT);/*在信号回调函数中屏蔽SIGQUIT员*/

19act.sa_flags=0;

20

21sigaction(SIGINT,&act,0);/*设置SIGINT信号的回调函数*/

22while

(1){

23printf("HelloWorld!

\n");

24sleep

(1);

25}

26}

考查材料的提交:

用Word文档记录实验过程(截图),包括C程序的创建、运行、查看实验结果(C程序、运行结果),分析运行结果产生的原因。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 交通运输

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

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