linuxC高级程序设计试卷

上传人:M****1 文档编号:508894009 上传时间:2023-05-24 格式:DOCX 页数:7 大小:29.20KB
返回 下载 相关 举报
linuxC高级程序设计试卷_第1页
第1页 / 共7页
linuxC高级程序设计试卷_第2页
第2页 / 共7页
linuxC高级程序设计试卷_第3页
第3页 / 共7页
linuxC高级程序设计试卷_第4页
第4页 / 共7页
linuxC高级程序设计试卷_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《linuxC高级程序设计试卷》由会员分享,可在线阅读,更多相关《linuxC高级程序设计试卷(7页珍藏版)》请在金锄头文库上搜索。

1、湖南人文科技学院计算机系科学与技术专业07级2010-2011学年第一学期linuxc高级程序设计课程补考试卷题号一二三四五六七八九十总分合分人复查人缔份考核方式:(闭卷)考试时量:120分钟下列命令中正确的是。A.chmodu+x,g+wexerlB.chmod646exerlC.chmoda-x,g+wexerlD.chmodg+wexerl7.在vi编辑器中执行存盘退出命令是。A.qB.wq!C.q!D.WQ8当打开vi编辑器编辑文件时,vi处于()模式。A命令模式B编辑模式C实模式D虚模式名姓号学师教课任得分评卷人选择题(每小题2分,共30分)1 ./root目录是:A.系统的根目录B

2、.超级用户的主目录C.动态连接库D.系统管理程序2 .下列不是可执行程序运行时内存结构的是A.代码区B.数据区C.栈堆区D.变量区9 .为了将当前目录下的归档文件myftp.tgz解压缩,可以使用:A.tarxvzfmyftp.tgzB.tarxvfmyftp.tgzC.tarvzfmyftp.tgzD.tarjvzfmyftp.tgz10 .在Linux系统中,硬件设备大部分是安装在目录下的。A./mntB./devC./procD./swap11.用vi编辑并保存文件后,要退出vi编辑器时,可以转换到命令模式输入()A:qB:aC:bD:c12.下列说法错误的是。3.在Linux操作系统中

3、,当要使用光驱时,首先需要使用()命令加载光驱Amount/dev/fd0/mnt/floppyCmount/dev/cdrom/mnt/cdrom4 .命令rmf/tmp/temp”的功能是(A删除/tmp/temp文件,但是需要键入B直接删除/tmp/temp文件,不用确认,C创建/tmp/temp文件,但是需要键入D直接创建/tmp/temp文件,不用确认,5 .任何时候用户需要回到上一级目录使用命令A.cdC.cd.Bmount/dev/floppy/mnt/floppyDmount/mnt/floppy/mnt/fd0)y”进行确认因为有-f选项y”进行确认因为有-f选项OB.pwd

4、D.cd.6.文件exer1的访问权限为744,现要取消文件所有者的执行权限,同时增加同组用户的写权限,A.静态变量只初始化一次。B.全局变量和静态局部变量在运行时改变其值。C.堆区数据由编译器自动分配释放。D.函数中定义的局部变量内存分配由编译器自动分配释放。13 .在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项是A.-mB.-dC.-fD.p14 .下列有关fork()函数返回值说法错误的是。A.函数成功返回时,一次返回两个值,错误返回时为-1。B.返回值等于0表示子进程。C.返回值大于0表示父进程。D.大于0的返回值为父进程PID。15 .下列进程间通信方式中能

5、实现不同计算机间进程通信的是_A.管道B.消息队列C.套接字D.共享内存得分I评卷Q二、填空题(每空2分,共20分)16 .管道分无名管道和有名管道,用于父进程和子进程间的通信的管道是:17 .常用的socket类型有两种:和数据报类型。18 .为了获得父进程的ID号,可是使用函数。19 .在Linux下调试c程序时,在提示符(gdb)下输入b10表示21.用GCC编译过程可以被细分为四个阶段:预处理、编译、汇编和20.关闭防火墙命令是:。22 .Linux中文件编程可以使用两类函数:和C语言库函数。23 .使用alarm函数可以设置一个时间值(闹钟时间),当设置的时间到了时,产生信号。24

6、.标准设备文件有:标准输入文件,标准输出文件和。25 .编译生成可调试可执行文件时,需加参数。得分评卷人三、程序填空题(每空4分,共16分)26 .下列是建立管道通信程序,父进程等待子进程退出。请补充完整。#defineMAX_DATA_LEN256intmain()pid_tpid;intpipe_fd2;charbufMAX_DATA_LEN;chardata尸PipeTestProgram;intreal_read,real_write;memset(void*)buf,0,sizeof(buf);if(pipe(pipe_fd)0)printf(%dbytesreadfromthepi

7、peis%sn,real_read,buf);close(pipe_fd0);exit(0);elseif(pid0)close(pipe_fd0);if(real_write=write(pipe_fd1,data,strlen(data)!=-1)printf(Parentwrote%dbytes:%sn,real_write,data);close(pipe_fd1);C2J;exit(0);(1)(2)27.下列是建立守护进程程序。请补充完整。intmain()pid_tpid;inti,fd;char*buf=ThisisaDaemonn;pid=fork();if(pid0)(1;

8、setsid();chdir(/);umask(0);for(i=0;igetdtablesize();i+)(2);/*这时创建完守护进程,以下开始正式进入守护进程工作*/(1)(2)得分评卷人四、程序阅读题(每题4分,共8分)29.阅读程序,请写出程序实现的功能。#include#include#include名姓号学师教课任28.阅读程序,请写出程序实现的功能。#include#include#include#include#includevoidcreate_file(char*filename)if(creat(filename,0755)0)printf(createfile%sf

9、ailure!nfilename);exit(EXIT_FAILURE);elseprintf(createfile%ssuccess!n,filename);intmain(intargc,char*argv)inti;if(argc2)perror(youhaventinputthefilename,pleasetryagain!n);exit(EXIT_FAILURE);功能:#include#includevoidmain()pid_tpc,pr;pc=fork();if(pc=0)printf(thisischildprocesswithpidof%dn,getpid();sleep

10、(10);elseif(pc0)pr=wait(NULL);printf(Icatchedachildprocesswithpidof%dn,pr)exit(0);功能:得分评卷人五、编程题(共26分)30.编写strcat函数(已知strcat函数的原型是char*strcat(char*strDest,constchar*strSrc);(满分10分)(其中strDest是目的字符串,strSrc是源字符串。不调用C的字符串库函数,请编写函数strcato)31.使用fork()创建一个子进程,然后让其子进程暂停5s(使用了sleep()函数)接下来对原有的父进程使用waitpid()函数,并使用参数WNOHANG使该父进程不会阻塞。若有子进程退出,则waitpid()返回子进程号;若没有子进程退出,则waitpid()返回0,并且父进程每隔一秒循环判断一次(编程可不写头文件),(满分16分)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号