linux C 高级程序设计试卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖南人文科技学院计算机系科学与技术专业07 级
2010 ---20 11 学年第一学期linux c高级程序设计
课程
补考试卷
考核方式: (闭卷) 考试时量:120 分钟
一、选择题(每小题2分,共30分)
1. /root目录是:
A. 系统的根目录
B. 超级用户的主目录
C. 动态连接库
D. 系统管理程序
2. 下列不是可执行程序运行时内存结构的是。
A. 代码区
B. 数据区
C. 栈堆区
D. 变量区
3. 在Linux操作系统中,当要使用光驱时,首先需要使用()命令加载光驱
A mount /dev/fd0 /mnt/floppy
B mount /dev/floppy /mnt/floppy
C mount /dev/cdrom /mnt/cdrom
D mount /mnt/floppy /mnt/fd0
4. 命令”rm –f /tmp/temp ”的功能是()。
A 删除/tmp/temp文件,但是需要键入”y”进行确认
B 直接删除/tmp/temp文件,不用确认,因为有-f选项
C 创建/tmp/temp文件,但是需要键入”y”进行确认
D 直接创建/tmp/temp文件,不用确认,因为有-f选项
5. 任何时候用户需要回到上一级目录使用命令。
A. cd ~
B. pwd
C.cd .
D. cd ..
6. 文件exer1的访问权限为744,现要取消文件所有者的执行权限,同时增加同组用户的写权限,
下列命令中正确的是。
A. chmod u+x, g+w exer1
B. chmod 646 exer1
C. chmod a-x, g+w exer1
D. chmod g+w exer1
7.在vi编辑器中执行存盘退出命令是。
A . q
B . wq!
C . q!
D . WQ
8当打开vi编辑器编辑文件时,vi处于()模式。
A 命令模式
B 编辑模式
C 实模式
D 虚模式
9.为了将当前目录下的归档文件myftp.tgz解压缩,可以使用:
A. tar xvzf myftp.tgz
B. tar xvf myftp.tgz
C. tar vzf myftp.tgz
D. tar jvzf myftp.tgz
10. 在Linux系统中,硬件设备大部分是安装在______目录下的。
A. /mnt
B. /dev
C. /proc
D. /swap
11.用vi编辑并保存文件后,要退出vi编辑器时,可以转换到命令模式输入()
A :q
B :a
C :b
D :c
12.下列说法错误的是。
A. 静态变量只初始化一次。
B. 全局变量和静态局部变量在运行时改变其值。
C. 堆区数据由编译器自动分配释放。
D. 函数中定义的局部变量内存分配由编译器自动分配释放。
13.在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项是。
A . -m
B . -d
C. -f D . –p
14. 下列有关fork()函数返回值说法错误的是。
A. 函数成功返回时,一次返回两个值,错误返回时为-1。
B. 返回值等于0表示子进程。
C. 返回值大于0表示父进程。
D. 大于0的返回值为父进程PID 号。
15.下列进程间通信方式中能实现不同计算机间进程通信的是。
A.管道
B.消息队列
C.套接字
D.共享内存二、填空题(每空2分,共20分)
16.管道分无名管道和有名管道,用于父进程和子进程间的通信的管道是:。
17.常用的socket类型有两种:和数据报类型。
18.为了获得父进程的ID号,可是使用函数。
19.在Linux下调试c程序时,在提示符(gdb)下输入b10表示。
21.用GCC编译过程可以被细分为四个阶段:预处理、编译、汇编和。
20.关闭防火墙命令是:。
22.Linux中文件编程可以使用两类函数:和C语言库函数。
23.使用alarm函数可以设置一个时间值(闹钟时间),当设置的时间到了时,产生信号。
24.标准设备文件有:标准输入文件,标准输出文件和。
25.编译生成可调试可执行文件时,需加参数。
三、程序填空题(每空4分,共16分)
26.下列是建立管道通信程序,父进程等待子进程退出。请补充完整。
#define MAX_DATA_LEN 256
int main() {
pid_t pid;
int pipe_fd[2];
char buf[MAX_DA TA_LEN];
char data[]="Pipe Test Program";
int real_read,real_write;
memset((void*)buf,0,sizeof(buf));
if(pipe(pipe_fd)<0)
{
printf("pipe create error\n");
exit(1);
}
if((pid=fork())==0)
{
(1);
if((real_read=read(pipe_fd[0],buf,MAX_DATA_LEN))>0)
printf("%d bytes read from the pipe is'%s'\n",real_read,buf);
close(pipe_fd[0]);
exit(0);
}else if(pid>0){
close(pipe_fd[0]);
if((real_write=write(pipe_fd[1],data,strlen(data)))!=-1)
printf("Parent wrote%d bytes:'%s'\n",real_write,data);
close(pipe_fd[1]);
(2);
exit(0);
}
}
(1) (2)
27.下列是建立守护进程程序。请补充完整。
int main()
{
pid_t pid;
int i,fd;
char*buf="This is a Daemon\n";
pid=fork();
if(pid<0){