第1-4章习题参考答案

第1-4章习题参考答案

ID:1052486

大小:60.00 KB

页数:8页

时间:2017-11-07

第1-4章习题参考答案_第1页
第1-4章习题参考答案_第2页
第1-4章习题参考答案_第3页
第1-4章习题参考答案_第4页
第1-4章习题参考答案_第5页
资源描述:

《第1-4章习题参考答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第1章一、简答题1.关于Linux的版本有两种不同的称呼:一种是内核版本,一种是发行版本。2.简述Linux操作系统的特点3.系统调用、库函数的区别和练习从用户角度观察,系统调用和库函数都以C函数形式出现,提供给用户一种功能实现的接口,需要用户输入指定的参数,调用结束得到指定的返回值。从实现者角度观察,库函数是在系统调用上层的函数,库函数一般指程序员可以使用的通用函数。系统调用由两部分组成:(1)核心函数:是实现系统调用功能的代码,作为操作系统的核心驻留在内存中,是一种共享代码。运行在核心态。(2)接口函数:是提供给应用程序

2、的API,以库函数的形式存在于Linux的lib.a中,该库中存放了所有系统调用的接口函数的目标代码,用汇编语言书写。其主要功能是把系统调用号,入口参数地址传给相应的核心函数,并使用户态下运行的应用程序陷入核心态。4.完成如下命令(1)新建用户tom和用户组student#useraddtom#passwdtom#groupaddstudent(2)新建文件file#touchfile(3)将文件file改名为test,然后将test拷贝到/home#mvfiletest#cptest/home(4)将/home/test文

3、件的拥有着修改为tom,将文件所属组该为student#chowntom:student/home/test第2章一、填空题1.Vi的三中工作模式:插入模式、命令模式、末行模式。2.Gcc生成可执行文件的四个步骤:预处理、编译、汇编、链接。3.Makefile用来描述程序或工程中各个文件之间的相互联系4.make。命令用来及时makefile文件中的命令5.库分为静态库和共享库。二、简答题1.静态库和共享库的区别(1)静态库的代码在编译时就已连接到开发人员开发的应用程序中。(2)共享库只是在程序开始运行时才载入,在编译时,只

4、是简单地指定需要使用的库函数。(3)静态库文件以.a结尾,共享库文件以.so结尾。2.Makefile文件的显式规则是什么?目标文件:依赖文件列表更新目标文件使用的命令三、编程题1.编写makefile:当前目录下有文件a1.ca2.ca3.c,其中a1.c中带有main函数,其他文件为用户自定义函数供main函数调用,编写完成对这几个文件的编译工作生成可执行文件aCC=gccBIN=a$(BIN):a1.oa2.oa3.o$(CC)-o$(BIN)$^a1.o:a1.c$(CC)-ca1.ca2.o:a2.c$(

5、CC)-ca2.ca3.o:a3.c$(CC)-ca3.cclean:rm-f*.o$(BIN)2.编写makefile:当前目录下有很多独立的程序文件:aa.cbb.Ccc.c(即每个文件中都有main函数),分别要生成对应的我可执行文件aabbcc,为了方便用户操作,写一个makefile使得调用make命令会重新编译最新修改的程序文件CC=gccALL:aabbccaa:aa.c$(CC)-oaaaa.cbb:bb.c$(CC)-obbbb.ccc:cc.c$(CC)-occcc.cclean:rm-faabbcc第3

6、章一、选择题1.下列那个命令不是现实多个环境变量的CAsetBexportCpwdDenv2.获取某个环境变量值使用函数AA.getenvB.putenvC.setenvD.unsetenv二、填空题1.命令行参数是main。函数的参数2.Main函数的参数若有两个参数则第一个参数代表命令行参数个数、第二个参数代表指向各命令行参数字符串的指针数组。3.Linux中日期时间的表示方法有:算术类型、结构体类型、字符串类型。4.使用time函数获得的时间是算术类型、代表自1970年1月1日零时到当前时间的秒数。5.把算数类型时间表

7、示转换成结构体类型使用()函数localtime。6.把算数类型时间表示转换成字符串类型使用()函数ctime。7.Maketime函数把()类型时间表示转换成()类型时间表示结构体、算术。8.如果一个C程序的入口表示为main(intargc,char*argv[]),编译该程序后的可执行程序为a.out,那么在命令“./a.out–ffoo”后,main中的参数argv[1]指向的字符串是(“-f”)。三、编程题1.如果一个用户输入一个参数,则打印“noargs”,如果输入两个参数并且第二个命令行参数是-a,则打印“Iw

8、illdealwith-a”,如果是-l则打印“Iwilldealwith-l”#includeintmain(intargc,char*argv[]){if(argc==1)printf("noargs");elseif(argc==2){if(strcmp(arg

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。