linux系统编程阶段考试
一、 选择题
1Linux系统是一个(        )的操作系统   
A.单用户、单任务    B.单用户、多任务        C.多用户、单任务        D.多用户、多任务

2缺省时,所有的套接字是(        )模型的
A.阻塞    B.非阻塞        C.异步的        D.I/O复用的

3.如果忘记了ls命令的用法,可以采用(      )命令获得帮助
A.ls        B.help ls        C.man ls        D.get ls

4.要给文件file1加上其他人可执行属性的命令是(        )
A.chmod a+x        B.chown a+x        C.chmod o+x        D.chown o+x

5.添加用户“user”的命令是(      )
A.user user        B.useradd user        C.add user        D.adduser

6. 关于shutdown与close的区别的描述错误的是(        )
A.终止网络连接的正常方法是调用close
B.shutdown有两个限制可由函数close来避免
C.Close终止了数据传送的两个方向:读和写
D.close将描述字的访问计数减1,仅在此计数为0时才关闭套接口;用shutdown我们可以激发TCP的正常连接终止序列,而不管访问计数

7.查看系统当中所有进程的命令是(        )
A.ps all        B.ps aix        C.ps auf        D.ps aux

8. 在linux系统下,有这样一条SHELL命令cc progl.c&,其中符号“&”的意思是(        )
A.后台执行
B.等待用户输入参数
C.不显示错误信息
D.非法字符

9. 以下程序的输出结果是(          )
main()
{
    int a=12,b=12;
    printf("%d,%d\n",--a,++b);
}
(1.0)
  A10 10
  B12 12
  C11 10
  D11 13

10. 下面程序把数组元素中的最大值放入a[0]中。则在if 语句中的条件表达式应该是(      ) 
main( )
{
    int a[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)
  Ap>a
  B*p>a[0]
  Cp>*a
  D *p[0]> *a[0]

11. 下面哪条命令可以把f1.txt复制为f2.txt(        )
A. | f2.txt
B. | f2.txt
C. > f2.txt
D. | f2.txt

12.对于所有用户都能读的文件权限是(        )
A.277                B.444                C.643                D.640


13. 下列哪个不是TCP/IP模型协议的是(        )
A.应用层
B.表示层
C.网络层
D.物理层



14. 设有以下说明和定义(        )
main()
{
    typedef union
    {
        long i;
        int k[5];
        char c;
    }DATE;
    struct date
    { 
        int cat;
        DATE cow;
        double dog;
    } too;
    DATE max;
则下列语句的执行结果是
printf ("%d",sizeof (struct date ) +sizeof(max)); (1.0)
  A26
  B30
  C18
D52
15.设有如下函数定义(        )
int f(char *s)
{
    char *p=s;
    while(*p!='\0')
    p++;
    return(p-s);
}
如果在主程序中用下面的语句调用上述函数,则输出结果为
printf("%d\n",f("goodbey!"));
  A3
  B6
  C8
D0
16.设有以下定义:
int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int (*prt)[3]=a,*p=a[0]
linux认证考试费用则下列能够正确表示数组元素a[1][2]的表达式是(    )
  A.*((*prt+1)
  B.*(*(p+5))
  C.(*prt+1)+2
D.*(*(a+1)+2)
17.下列程序的输出结果是(              )
main()
{
    int a[5]={2,4,6,8,10},*p,**k;
    p=a;
    k=&p;
    printf("%d ",*(p++));
    printf("%d\n",**k);
} (1.0分)
  A.4 4
  B.2 2
  C.2 4
D.4 6
18.若有以下的定义:
int a[]={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中的Document and settings有相同作用的目录是(        )
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. 有以下程序
int fun(int x,int y,int *cp,int *dp)
{
    *cp=x+y;
    *dp=x-y;
}
main()
{
    int a, 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是网络通信中应用程序对应的进程和网络协议之间的接口。
Dsocket位于协议之上,屏蔽了不同网络协议之间的差异。

24.如果我想以修改时间排序浏览一个目录下文件的所有信息,命令是(             
A.tail -200        B.ls –a        C.ls –lt        D.more 目录路径

25. RedHat Linux 下用一条命令创建/A/S/D目录结构的命令是: (          )
    A. mkdir /A/S/D        B. mkdir –p A/S/D
    C. mkdir –p /A/S/D    D.mkdir –r /A/S/D