搜档网
当前位置:搜档网 › Linux系统及编程基础有答案

Linux系统及编程基础有答案

Linux系统及编程基础有答案
Linux系统及编程基础有答案

一.单项选择题(1*20)

二.填空题(1*20)

三.简答题(4*10)

四.程序设计(2*10)

一、填空题

1.Linux操作系统是Unix操作系统的一个克隆版本。

2.Linux的命令运行环境是_shell_____,它是一个命令解释器,在用户和操作系统之间提供了一个交互的接口。

3.Linux系统中有四种基本的文件类型,它们是普通文件、目录文件、设备文件、链接文件。

4.Linux系统通过_ 目录_将系统中的所有文件分级、分层组织在一起,形成了Linux文件系统的树形层次结构。

5.在Linux系统中建立新目录的命令是mkdir__。

7.Linux编程可分为__shell____编程和__高级语言__编程。

8.Linux系统提供了许多文本编辑程序,比较常用的有_vi__和_emacs_。

9.要使用make,必须编写一个叫_ makefile _的文件。

10._autoconf__是一个用于生成可以自动配置软件源代码包,以适应多种类Unix 系统的shell脚本的工具。

11._automake__是一个从文件Makefile.am中自动生成Makefile.in文件的工具。12.Linux系统的文件是一个简单的_字节序列_____。

13.对于Linux而言,所有对设备和文件的操作都使用_文件描述符___来进行。14.调用_open()_函数可以打开或创建一个文件。

15.执行文件的存取权限分为属主_、_同组用户__和_其他用户三类,每类分为_读_____、__写____和_执行__权限。

16.每一个进程都有一个目录与之连接,它称为__当前工作目录____。

17.当打开一个流时,标准输入输出函数返回一个_FILE结构指针_____。18.有三个流是在执行程序时自动打开的,它们是_标准输入_____、__标准输出____和_标准误输出____。

19.有3种类型的无格式I/O函数可用来读写流,__字符I/O函数____、_行I/O 函数_____和_块I/O函数_____。

20.每一个流对象内部都保持着两个指示器,一个为_错误指示器_____,当读写文件出错时该指示器被设置;另一个为_文件结束指示器_____,当遇到文件尾时该指示器被设置。

21.流有3种不同的缓冲类型,它们是_全缓冲_____、_行缓冲_____和_无缓冲_____。

22.进程在其生存期内可能处于三种基本状态,分别是__运行态____、__就绪态____和__等待态____。

23.为了让Linux来管理系统中的进程,每个进程用一个_task_struct_____数据结构来表示。

24.在Linux系统中,进程有两种运行模式,分别是_系统模式_____和__用户模式____。

25.创建一个新进程的唯一方法是由某个已存在的进程调用__fork()____或_vfork()_____函数,被创建的新进程称为__子进程____,已经存在的进程称为__

父进程____。

26.系统中的每一个进程都要唯一的非负整数作为其标识,它被称为进程标识号____。

27.进程间的通信有如下一些目的,_数据传输_____、__共享数据____、_通话事件_____、_资源共享_____和_进程控制_____。

28.Linux支持Unix System v中的三种进程间通信机制,分别是_消息队列_____、_信号器_____和__共享内存____。

29.在实际应用中,一个用户进程常常需要对多个信号作出处理,为了方便对信号进行处理,在Linux系统中引入了___信号量___的概念。

30.命名管道又称为__先进先出队列____。

31.每一个System v IPC资源有2个唯一的标志与之相连,即__关键字____和__标示符____。

32.消息队列是一条由消息连接而成的__链表____,它保存在内核中,通过消息队列的_引用标识符_____来访问。

33.信号量实际上是一个_整数计数器_____,主要用来控制多个进程对_共享资源_____的访问。

34.___共享内存___机制是最快的一种进程通信机制。共享内存

35.线程可分为___用户___态线程和___内核___态线程。

36.如果线程可在进程执行期间的任意时刻被创建,并且线程的数量事先没有必要指定,这样的线程称为_动态_____线程。

37.按照POSIX标准,POSIX提供了两种类型的同步机制,它们是__互斥锁____和_条件变量_____。

38.互斥锁的特点是_原子性_____、_唯一性_____和_非聚集性等待_____。39.每个POSIX线程由一个相连的_属性对象_____来表示。

40.TCP/IP协议参考模型分为__4____层。

41.利用套接字进行通信的进程采用_C/S_____模式。

42.Linux支持伯克利(BSD)风格的套接字编程,它同时支持____面向连接__和__无连接类型____的套接字。

43.__数据流____套接字定义了一种可靠的面向连接的服务,实现了无差错、无重复的顺序数据传输。__数据报____套接字定义了一种无连接的服务,数据通过相互独立的报文进行传输。

44.在计算机内存中有2种存储整数的方式,低位字节存储在这个整数的开始地址位置,是___little-endian___方式,高位字节存储在开始地址位置,是__big-endian____方式。

45.数据库语言一般可分为以下两种,一种是__交互式命令语言____,它具有语法简明,可独立使用等特点;另一种则嵌入到某种程序设计语言中,如C、FORTRAN、PASCAL、COBOL等,称为__宿主型语言____。

46.一个典型的关系型数据库通常由一个或多个被称为_表格_____的对象组成。47.在SQL命令中,_select_____语句主要被用来对数据库进行查询并返回符合用户查询标准的结果数据;_create_____语句被用来建立新的数据库表格;_insert_____语句向数据库表格中插入或添加新的数据行;_update_____语句更新或修改满足规定条件的现有记录;delete______语句删除数据库表格中的行或记录;_truncate_____;_delete_____语句删除某个表格以及该表格中的所有记录。48.对于密码1234的用户USER1,为了用MySQL开启选定的数据库db1,需

要输入_gramt select on db1 * to user1 identifield by “1234”_____。

49.在MySQL中查看系统中当前存在的数据库命令是_show database_____,显示当前数据库中有哪些表的命令是_show tables_____。

50.X窗口系统主要由_x服务器_、x协议_、_x库_和_x客户_组成。

51.用Xlib编程时,客户程序连接和解除连接一个X服务器时要使用__XOpenDisplay____和___XCloseDisplay___函数。

52.比较知名的X工具包包括_xt_____、_openlook__、_metif_____、_Qt_____和GTK+___,GNOME库提供了GNOME应用软件中使用的最高级函数。在它的下面是___GKT+___库,而___GTK+__库又是由GIMP工具箱和GIMP绘图工具箱___GDK___库组成。

53.利用gcc编译器和GTK+程序,要在命令行中指定GTK+库,可以使用___gtk-config脚本___命令。

54.要创建一个简单的GNOME程序,首先要为GNOME构件定义_GTK_____对象,然后利用_GNOME函数____来初始化程序和定义用户的构件。

55.存放在磁盘等存储设备上文件的组织方法被称为__文件结构____,主要体现在对文件和__目录____的组织。

56.内核__是Linux运行的心脏,决定着系统性能和稳定性。

57.查看当前磁盘的使用信息,使用___df___工具。

58.使用__du__命令可以查看系统的磁盘使用情况,默认情况下以__字节____为单位显示大小。

59.在shell中,使用___history___命令来显示用户执行过的全部命令。60.__日志____文件是一个数据库文件,记录了每个用户登录,注销以及系统的启动、停机事件。

二、选择题

1.在( A )目录下存放的都是系统启动时要用到的程序,在引导Linux的时候,会用到这里的一些信息。A./boot B./bin C./dev D./etc 2.Linux的工作目录用( A )表示。

A.. B.,C.* D.#

3.利用( B )命令可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件,以便于网络传输是非常有用的。

A.gzip B.tar C.cd D.ls

4.在Linux下想获得一个命令的帮助,可以使用( C )命令。

A.cd B.ls C.man D.gzip

5.( C )命令用来重新启动计算机。

A.shutdown B.halt C.reboot D.quit

6.用gcc编译C程序生成可执行文件的过程中,看起来像是一步就完成了,但实际上它要经历如下的四个步骤( A)。

A.预处理、编译、汇编、链接B.预处理、汇编、编译、链接

C.链接、预处理、编译、汇编D.编译、预处理、汇编、链接

7.在Makefile文件中,使用变量的值方法是(B )。

A.$变量名B.$(变量名) C.#变量名D.#(变量名)

8.由autoconf生成的脚本通常被命名为( A )。

A.configure B.gcc C.makefile D.make

9.Automake首先读入( )文件,然后生成( A )。

A.Makefile.am、Makefile.in B.Makefile.in、Makefile.am

C.Makefile.am、Makefile D.Makefile、Makefile.in

10.Linux包含了一个( C )的调试程序,它是一个用来调试C和C++程序的强力调试器,它使用户在程序运行时观察程序的内部结构和内存的使用情况。

A.gcc B.make C.gdb D.autoconf

11.( B )函数是从文件中读取指定长度的数据到内存。

A.open B.read C.write D.create

12.( C )函数是是将内存中的数据写入文件。

A.open B.read C.write D.create

13.假设用户user是file1文件的拥有者,file1文件的存取权限被设为-r-xr—r--,这表明user只有(A )的权力。

A.读和执行B.读和写C.写和执行D.只读

14.( A )函数提供了进一步管理低级文件描述符的各种手段,用它可以对已打开的文件描述符执行各种控制操作。

A.chmod B.fcntl C.chown D.umask

15.当访问一个目录文件时,同普通文件一样,需要将其打开。打开目录文件的函数是( C )。

A.closedir B.mkdir C.opendir D.readdir

16.下面的函数不能用于打开流的是( D )。

A.fopen B.freopen C.fdopen D.ffopen

17.下列哪个函数不能一次读入一个字符( A )。

A.fget B.fgetchar C.getchar D.getc

18.块I/O有时也称为( D )。

A.字符I/O B.行I/O C.列I/O D.二进制I/O

19.( A )函数能够对输入输出数据进行诸如数据类型、精度、位置等格式的控制。

A.格式化I/O B.字符I/O C.行I/O D.块I/O

20.下列函数不属于格式输出的是( C )。

A.printf B.fprintf C.scanf D.sprintf

21.可运行进程是一个只等待( B)资源的进程,进程可以忽略大部分信号,但下列信号中( )是不能忽略的。

A.内存B.CPU C.键盘D.终端

22.Fork函数在父进程中的返回值是(A )。

A.创建的子进程的进程标识号B.0 C.-1 D.1

23.在Linux中,下列不属于正常结束进程的方法是( D )。

A.在main函数中调用return B.调用exit函数C.调用_exit函数D.调用abort函数

24.一个进程调用wait或waitpid函数,可能产生3中情况,下列不属于这3种情况的是( D)。

A.如果所有子进程都还在运行,进程挂起

B.如果恰有子进程结束,它的终止状态字正等待父进程提取,立即得到该终止状态字并返回,其返回值为该子进程的进程号

C.如果该进程没有子进程,立即返回,返回值为-1

D.如果该进程没有子进程,立即返回,返回值为0

25.返回调用进程的进程标识号的系统函数是( A)。

A.getpid B.getpgrp C.getppid D.setpid

26.程序和进程是两个不同的概念,以下不能描述这个观点的是( B )。

A.程序指出了处理器执行操作的步骤,而进程是一个程序在一个数据集合上的一次执行。

B.同一个程序运行10次,产生的是同一个进程。

C.进程是动态的,是程序的执行过程。

D.多个不同的进程可以包含相同的程序。

27.一个进程是( C )。

A.处理机一次或多次执行的一个程序B.一个独立的程序+数据集C.PCB结构与程序和数据的组合D.一个独立的程序

28.为了描述进程的动态变化过程,采用了一个与进程相联系的( C ),根据它而感知进程的存在及对进程进行控制。

A.进程状态字B.进程优先数C.进程控制块D.进程起始地址29.进程的并发性是指( B )。

A.多个进程在同一系统按照规定的顺序执行B.多个进程在同一时刻同时发生

C.各进程依次执行D.多个进程在同一时间间隔内同时发生

30.进程可以忽略大部分信号,但下列信号中( D )是不能被忽略的。

A.SIGHUP B.SIGNT C.SIGSTOP D.SIGQUIT

31.在kill(pid,signum)函数中,pid参数表示kill函数发送信号对象的进程号或进程组号。Pid>0表示( A )。

A.向进程号为pid值的进程发送信号

B.向进程组号为pid绝对值的进程发送信号

C.向与发送信号的进程有相同进程组号的进程发送信号

D.未定义

32.可以使用( D )命令得到IPC机制中所有对象的状态。

A.Is B.cd C.kill D.ipcs

33.打开或创建消息队列的函数是(A )。

A.msgget B.msginit C.msgcreate D.msg

34.创建或打开信号量集的相同函数是( C )。

A.seminit B.sem C.semget D.semcreate

35.创建共享内存的函数是( D)。

A.shminit B.seminit C.semget D.shmget

36.在POSIX中,线程是用( B)动态地创建。

A.pthread_self B.pthread_create C.create_pthread D.pthread_new 37.要结束一个线程,需要调用( C )函数。

A.exit B.pthread_quit C.pthread_exit D.return

38.可以使用下面的(C )函数将一个线程挂起。

A.pthread_self B.pthread_pause C.pthread_join D.pthread_exit 38.( A )用来初始化一个互斥锁。

A.pthread_mutex_init B.pthread_mutex_create C.pthread_mutex_begin D.pthread_mutex_lock

40.在使用一个线程属性对象之前,必须对其进行初始化,(D )函数完成对线程属性对象初始化。

A.pthread_init B.pthread_attr_create C.pthread_attr_destroy D.pthread_attr_init

41.下列不属于应用层协议的是( C )。

A.FTP B.HTTP C.TCP D.DNS

42.考虑一个整数1234,在little-endian方式下,在内存中存放方式是( )。

A.12 34 B.34 12 C.12 43 D.43 21

43.用于返回本地套接字地址的函数是( B )。

A.socket B.getsockname C.getpeername D.getsocket

44.要创建一个倾听套接字,必须首先调用(B )函数来创建一个主动套接字,然后调用(A )函数将它与服务器套接字地址绑定在一起,最后调用(D )函数。

A.bind B.socket C.create D.listen

45.在数据报套接字上发送和接收数据的正常方法是使用( B )和(D )。

A.send B.sendto C.recv D.recvfrom

46.所有的SQL语句在结尾处都要使用( C )符号。

A.,B.: C.; D..

47.当向数据库表格中添加新纪录时,在关键词insert into后面输入所要添加的( B)。

A.数据库B.表格C.列D.值

48.( )是MySQL自带的主要管理实用程序。

A.mysqladmin B.mysqldump C.mysqlimport D.mysqlshow

49.在C语言访问MySQL数据库的程序中,( )函数成功返回一个指向MySQL 结构的指针。

A.mysql_init B.mysql_real_connect

C.mysql_options D.mysql_error

50.从C向一个MySQL数据库的连接包括( )步。

A.1 B.2 C.3 D.4

51.GTK+是GNOME应用软件使用的构件集,它的外观和感觉最初是来源于( B )。

A.Xt B.Motif C.Openlook D.Qt

52.创建一个新的GTK窗口结构的函数是( B )。

A.gtk_init B.gtk_windows_new C.gtk_widget_show D.gtk_main 53.ex.c是一个GTK程序,下列编译命令正确的是( B )。

A.gcc -o ex ex.c gtk-config -cflags --libs

B.gcc -o ex ex.c 'gtk-config -cflags -libs'

C.gcc -o ex ex.c 'gtk-config -cflags -libs

D.gcc -o ex ex.c "gtk-config -cflags -libs"

54.当把鼠标指针放置在按钮上时,按下鼠标键,产生的GTK按钮信号是( A )。A.pressed B.released C.clicked D.enter

55.GNOME程序的初始化函数为( A )。

A.gnome_init B.gnome_app_new C.gtk_init D.gtk_main

56.下面对Linux特点说法正确的是( A )。

A.开源性,具有世界范围内的遵循标准

B.单用户,能完成单用户所有功能与特色,不支持多用户

C.只支持命令模式界面,防止病毒和攻击

D.移植性较差

57.下面对文件扩展名说法正确的是( C )。

A..zip是图像文件B..o是C语言程序文件

C..sh是Shell脚本D..ps是PhotoShop文件

58.下面对Linux中目录结构说法错误的是(B )。

A.Linux采用树状目录结构

B.与Windows相同,Linux中也分为多个根目录

C.Linux目录从根目录“/”开始,向下扩展成整个整个目录结构

D.Linux目录也是一种文件,也包含相应的索引节点

59.下列哪个选项所述的方法不可以终止一个进程( B )。

A.使用Kill命令B.使用top命令的K键功能

C.使用delete命令D.使用killall命令

60.系统的用户账户信息保存在( D )文件中。

A./etc/shadow B. /etc/group C. /etc/gpasswd D. /etc/passwd

三、简答题及程序设计

1.在Linux 系统中,什么是目录,文件结构是什么样的?24

2.Linux文件系统中包括的主要文件类型有哪些?13

3.何谓Shell?Shel的工作原理及步骤。47

4.Linux系统中进程通信的基本原理,实现进程管理的常用命令。

5.优先数调度和时间片轮转两种调度算法的设计与实现88 96

6.死锁的产生原因,预防和避免死锁的方法,死锁的检测方法,车辆行驶死锁问题的设计与实现。113

7.Linux支持的管道通信方式及实现。121

8.页故障率反馈模型的内容。

9.散列结构的内容,在Linux下用C语言实现散列结构的保存记录、查找记录和删除记录的的实现。154

10.成组链接法的基本原理,空闲盘块的申请算法及空闲盘块的回收算法的实现。164 165

相关主题