linux阶段考试.docx
- 文档编号:11433359
- 上传时间:2023-03-01
- 格式:DOCX
- 页数:17
- 大小:21.80KB
linux阶段考试.docx
《linux阶段考试.docx》由会员分享,可在线阅读,更多相关《linux阶段考试.docx(17页珍藏版)》请在冰豆网上搜索。
linux阶段考试
linux系统编程阶段考试
一、选择题
1.Linux系统是一个( )的操作系统
A.单用户、单任务 B.单用户、多任务 C.多用户、单任务 D.多用户、多任务
2.缺省时,所有的套接字是( )模型的
A.阻塞B.非阻塞C.异步的D.I/O复用的
3.如果忘记了ls命令的用法,可以采用( )命令获得帮助
A.?
ls B.helpls C.manls D.getls
4.要给文件file1加上其他人可执行属性的命令是( )
A.chmoda+x B.chowna+x C.chmodo+x D.chowno+x
5.添加用户“user”的命令是( )
A.useruser B.useradduser C.adduser D.adduser
6.关于shutdown与close的区别的描述错误的是( )
A.终止网络连接的正常方法是调用close
B.shutdown有两个限制可由函数close来避免
C.Close终止了数据传送的两个方向:
读和写
D.close将描述字的访问计数减1,仅在此计数为0时才关闭套接口;用shutdown我们可以激发TCP的正常连接终止序列,而不管访问计数
7.查看系统当中所有进程的命令是( )
A.psall B.psaix C.psauf D.psaux
8.在linux系统下,有这样一条SHELL命令ccprogl.c&,其中符号“&”的意思是( )。
A.后台执行
B.等待用户输入参数
C.不显示错误信息
D.非法字符
9.以下程序的输出结果是()
main()
{
inta=12,b=12;
printf("%d,%d\n",--a,++b);
}
(1.0分)
A.1010
B.1212
C.1110
D.1113
10.下面程序把数组元素中的最大值放入a[0]中。
则在if语句中的条件表达式应该是()
main()
{
inta[10]={6,7,2,9,1,10,5,8,4,3},*p=a,i;
for(i=0;i<10;i++,p++)
if(__________)
*a=*p;
printf("%d",*a);
}(1.0分)
A.p>a
B.*p>a[0]
C.p>*a
D.*p[0]>*a[0]
11.下面哪条命令可以把f1.txt复制为f2.txt( )
A.cpf1.txt|f2.txt
B.catf1.txt|f2.txt
C.catf1.txt>f2.txt
D.copyf1.txt|f2.txt
12.对于所有用户都能读的文件权限是( )
A.277 B.444 C.643 D.640
13.下列哪个不是TCP/IP模型协议的是( )
A.应用层
B.表示层
C.网络层
D.物理层
14.设有以下说明和定义()
main()
{
typedefunion
{
longi;
intk[5];
charc;
}DATE;
structdate
{
intcat;
DATEcow;
doubledog;
}too;
DATEmax;
则下列语句的执行结果是
printf("%d",sizeof(structdate)+sizeof(max));(1.0分)
A.26
B.30
C.18
D.52
15.设有如下函数定义()
intf(char*s)
{
char*p=s;
while(*p!
='\0')
p++;
return(p-s);
}
如果在主程序中用下面的语句调用上述函数,则输出结果为
printf("%d\n",f("goodbey!
"));
A.3
B.6
C.8
D.0
16.设有以下定义:
inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int(*prt)[3]=a,*p=a[0]
则下列能够正确表示数组元素a[1][2]的表达式是()
A.*((*prt+1)
B.*(*(p+5))
C.(*prt+1)+2
D.*(*(a+1)+2)
17.下列程序的输出结果是()
main()
{
inta[5]={2,4,6,8,10},*p,**k;
p=a;
k=&p;
printf("%d",*(p++));
printf("%d\n",**k);
}(1.0分)
A.44
B.22
C.24
D.46
18.若有以下的定义:
inta[]={1,2,3,4,5,6,7,88,9,10},*p=a;
则值为3的表式是()
A.p+=2,*(p++)
B.p+=2,*++p
C.p+=3,*p++
D.p+=2,++*p
19.下列目录中与windows中的Documentandsettings有相同作用的目录是()
A./home B./etc C./dev D./tmp
20.下列描述错误的是( )
A. UDP不一定提供可靠的数据传输。
B.TCP提供可靠的数据传输,并在相互进行通信的设备或服务之间保持一个虚拟连接。
C. TCP在数据包招收无序、丢失或在交付期间被破坏时,负责数据恢复。
D.UDP协议保证数据准确无误地到达目的地。
21.在vi中退出不保存的命令是( )
A.:
q
B.:
w
C.:
wq
D.:
q!
22.有以下程序
intfun(intx,inty,int*cp,int*dp)
{
*cp=x+y;
*dp=x-y;
}
main()
{
inta,b,c,d;
a=30;b=50;
fun(a,b,&c,&d);
printf("%d,%d\n",c,d);
}
输出结果是()
A.50,30
B.30,50
C.80,-20
D.80,20
23.下列对套接字SOCKET描述不正确的是( )
A.socket在所有的网络操作系统中都是必不可少的。
B.socket只能用于多机通信。
C.socket是网络通信中应用程序对应的进程和网络协议之间的接口。
D.socket位于协议之上,屏蔽了不同网络协议之间的差异。
24.如果我想以修改时间排序浏览一个目录下文件的所有信息,命令是( )
A.tail-200 B.ls–a C.ls–lt D.more目录路径
25.RedHatLinux下用一条命令创建/A/S/D目录结构的命令是:
( )
A.mkdir/A/S/D B.mkdir–pA/S/D
C.mkdir–p/A/S/D D.mkdir–r/A/S/D
26.为了达到使文件的所有者有读(r)和写(w)的许可,而其他用户只能进行只读访问,在设置文件的许可值时,应当设为:
( )。
A.566B.644C.655D.744
27.使用$cd~命令后,我们会进入( )目录。
A./B.~C.用户的主目录D./tmp
28.下面哪个判断ABCD四个表达式的是正确( )inta=4;
(A)a+1+=(a++);(B)a+=(++a);(C)(a++)+=a;(D)(++a)+=(a++);
29.一个文件的权限是-rw-rw-r--,这个文件所有者的权限是( )。
A.read-onlyB.writeC.read-write
30.在Linux系统中,硬件设备大部分是安装在( )目录下的。
A./mntB./devC./procD./swap
31.有以下程序,其中函数F的功能是将多个字符串按字典顺序排序
#include
voidf(char*p[],intn)
{
char*t;
inti,j;
for(i=0;i<5;i++)
for(j=i+1;j<5;j++)
if(strcmp(p[i],p[j])>0)
{
t=p[i];
p[i]=p[j];
p[j]=t;
}
}
main()
{
char*p[5]={"abc","aabdfg","abbd","dcdbe","cd"};
f(p,4);
printf("%d\n",strlen(p[2]));
}
程序运行后的输出结果是( )
A.2
B.3
C.6
D.4
32.将新建文件的默认权限设置为600是( )。
A.umask077B.umask–S177C.umask600
D.chmod600
33.比较重要的系统配置资料,一般来说大部分位于( )目录下。
A./etcB./bootC./homeD./usr
34.在vi编辑器里,命令“dd”用来删除当前( )。
A.字符B.行C.变量D.字
35.要改变文件的拥有权,使用命令( )。
A.chgrpB.chownC.chshD.chmod
答案:
C
36、下面不可以用于复制文件描述符的是( )。
A:
dup(filedes)
B:
fcntl(filedes,F_DUPFD,0)
C:
dup2(filedes,filedes2)
D:
filedes=filedes2
37.设intx;,则经过( )后,语句*px=0;可将x值置为0。
A.int*px; B.intconst*px=&x;
C.int*constpx=&x; D.constint*px=&x;
答案:
A
38、下列不是系统V的IPC是( )
A:
消息队列B:
信号量
C:
管道D:
共享内存
答案:
ABD
39:
下列哪个引用是不正确的?
( )
inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
a[p-a];(B)*(&a[i]);(c)p[i];(D)*(*(a+i));
答案:
ABC
答案:
B
40.以下不是多线程编程模型优点( )
A在多处理器系统中开发程序的并行性。
B在等待慢速外设IO操作结束的同时,程序可以执行其他操作。
C能清晰地表示程序中独立事件间的相互关系。
D可以节约系统内存开消。
答案:
D
41.以下不是一个半相关套接字的内容是( )
A协议
B本地地址
C本地端口
D套接字文件描述符
答案:
D
答案:
D
42.以下不是进程与线程区别( )
A:
一个程序至少一个进程,一个进程至少有一个线程
B:
线程的划分尺度小于进程,使得多线程程序的并发性高
C:
进程在执行过程中拥有独立的内存单元,而多个线程共享内存。
D:
操作系统将多线程与多进程都看做多个独立的应用,来实现高度和管理以及资源分配。
43.下列4个选项中,哪个结果为6?
( )
inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
(A)*p+6;(B)*(p+6);(C)*p+=5;(D)p+5;
44.有以下程序
#include
main()
{
inta,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
输出结果是( )
(1.0分)
A.2,1
B.3,2
C.4,3
D.2,-1
45.在下列选项中,没有构成死循环的程序段是( )
A.inti=100;while(i){i=i%100+1;if(i>100)break;}
B.for(;;);
C.intk=1000;do{++k;}while(k>=10000);
D.ints=36;while(s);--s;
46.若ij已定义为int类型,则以下程序段中内循环体的总的执行次数是( )
for(i=5;i;i--)
for(j=0;j<4;j++){...}
A.20
B.25
C.24
D.30
47.以下程序输出的结果是( )
#include
main()
{
charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;
for(k=1;k<3;k++)
printf("%s\n",&w[k][k]);
}
A.ABCDFGHKLM
B.ABCDEFGIJ
C.EFGJKO
D.FGHKL
48.字符'0'的ASCII码的十进制数为48,且数组的第0个元素在低位,则以下程序的输出结果是( )
main()
{
union
{
inti[2];
longk;
charc[4];
}r,*s=&r;
s->i[0]=0x39;
s->i[1]=0x38;
printf("%c\n",s->c[0]);
}(1.0分)
A.39
B.9
C.38
D.8
49.若有以下类型说明语句
charw;intx;floaty;doublez;
则表达式w*x+z-y的结果是( )类型
A.float
B.char
C.int
D.double
50.有以下程序
main()
{
chara1='M',a2='m';
printf("%c\n",(a1,a2));
}
以下叙述中正确的是( )
A.程序输出大写字母M
B.程序输出小写字母m
C.格式说明符不足,编译出错
D.程序运行时产生出错信息
答案:
D
二、填空题
1、表达式8&3的结果是( )。
2、静态库与共享库的区别()。
3、printf函数的结果何时才被真正输出?
()。
4、写出最少5个进程间通信的途径()。
5、线程用于实现同步的3个对象()。
6、写出下述程序结果:
( )
intm[][3]={1,4,7,2,5,8,3,6,9};
inti,j,k=2;
for(i=0;i<3;i++){
printf(“%d”,m[k][i]);
}
7、写出结果( )
intsum(inta)
{
intc=0;
staticintb=3;
c+=1;
b+=2;
return(a+b+c);
}
intmain()
{
inta=2;
for(inti=0;i<5;i++)
{
printf("%d,",sum(a));
}
return0;
}
三、编码题
1、用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题)。
2、编写将字符串转换成整数的函数myatoi,只处理输入字符串仅由0-9,'-','+',和空格的情况.
函数原型为:
intmyatoi(char*str);
3、编写一段程序,用于创建一个僵尸进程,然后调用system执行ps命令以验证该进程是僵尸进程。
4、给定一个日期,求出该日为星期几(已知2002-3-28为星期四)
5、打印魔方阵。
所谓魔方阵是指这样的的方阵:
它的每一行、每一列和对角线之和均相等。
输入n,要求打印由自然数1到n*n的自然数构成的魔方阵(n为奇数)。
例如,当n=3时,魔方阵为:
816
357
492
魔方阵中各数排列规律为:
①将“1”放在第一行的中间一列;
②从“2”开始直到n×n为止的各数依次按下列规则存放:
每一个数存放的行比前一个数的行数减1,列数同样加1;
③如果上一数的行数为1,则下一个数的行数为n(最下一行),如在3×3方阵中,1在第1行,则2应放在第3行第3列。
④当上一个数的列数为n时,下一个数的列数应为1,行数减1。
如2在第3行第3列,3应在第2行第1列。
⑤如果按上面规则确定的位置上已有数,或上一个数是第1行第n列时,则把下一个数放在上一个数的下面。
如按上面的规定,4应放在第1行第2列,但该位置已被1占据,所以4就放在3的下面。
由于6是第1行第3列(即最后一列),故7放在6下面。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 阶段 考试