一、填空题
1、linux中,对串口参数进行配置的数据结构名是 __termios____。
2、gcc的编译流程分为4个步骤:预处理、 __编译____、汇编、 __
链接____。
3、获取当前进程ID的方法是 __getpid()____。
4、对文件的打开操作有open和fopen,它们哪个是标准库函数
__fopen()____它的返回值是 __指向FILE的指针____。
5、一个由c语言占用的内存分为代码区和数据区,数据区又可以分
为 __静态数据区____和动态数据区,动态数据区分为堆、 __栈____。
6、linux的管道通信可以分为匿名管道、 ___有名管道___和 __标
准管道____。
7、linux中的网络编程是通过套接字接口来进行的,常见的套接字
有三种类型: ___流式套接字___、 __数据报套接字____和 __原始套接字____。
8、在linux中,用户空间的进程可以直接通过 ___系统调用___来获socket通信在哪一层
取操作系统内核提供的服务。
9、linux中,对串口进行操作的函数中,激活串口配置的函数是
__tcsetattr()____。
10、linux中使用较多的进程间通信方式包括管道、信号、信号量、
___消息队列___、 __共享内存____。
11、makefile规则是make进行处理的依据,它包括了 __依赖文
件____、 ___目标体___及其之间的命令语句。
12、互斥锁和信号量为linux中的线程同步机制,其中 ___信号量
___适合于同时可用的资源为多个的情况。
13、系统调用分为进程控制、进程间通信、文件系统管理、系统管
理、存储管理、网络管理、socket管理、用户管理等。
14、终端分为3种模式规范模式、非规范模式和原始模式
二、选择题
1. 下面关于linux下串口操作正确的描述是【  C  】
A.串口的奇偶校验必须使能B.不能通过linux api 设置串口的停止位
C.串口配置好后,其读写操作和普通文件就是一样的了
D.串口文件可以通过lseek改变读写指针
2. 下列关于makefile说法错误的是【  B  】
A.创建目标体的命令必须以制表符开头
B. makefile变量名可
以包含“#”字符串
C. makefile变量对大小写敏感
D. “-C dir”表示读入
指定目录dir下的makefile
3. 下列关于linux多线程编程不正确的是【  D 】
A. 不同进程的线程间不能用信号量来同步;
B. pthread线程库符合POSIX接口;
C. 必须包含头文件pthread.h;
D. phtread_join( )作用是将参数中的指定线程挂起;
4. 下列关于linux网络编程不正确的说法是【  C  】
A. send()既可用在tcp中,也可用在udp中;
B. sendto()既可用在tcp中,也可用在udp中;
C. 不管是客户端还是服务器端必须调用bind;
D. 每一个socket都用一个半相关描述{本地地址、本地端口}
5. 从文件描述符fd中读出200个字节到首地址为buff的缓冲区的正
确底层IO操作是【  B  】
A. read(buff,200,fd);
B.
read(fd,buff,200);
C. read(fd,200,buff);
D.
read(200,buff,fd);
6. 使用下面哪条命令可以查询目标文件所依赖的动态链接库。
【  B  】
A. nm;
B. readelf;
C. ld;
D. objcopy
7. 下面关于linux进程控制不正确的描述的是【  A  】
A. wait( )调用一定会使得父进程阻塞
B. exit()会清理IO缓冲,而_exit()不会清理IO缓冲
C. 在执行execl函数后,原调用进程的内容除了进程号外,其他全部被新的进程替换了
D. fork( )的返回值在父子进程中是不一样的
8. 将max.c生成动态链接库的正确命令是。【  B  】
A. gcc  –c  max.c
B. gcc  -fpic  –shared  –o  libmax.so  max.c
C. gcc  –o  libmax.so  max.c
D. gcc  –static  –o  libmax.so  max.c
9. 下面关于linux进程通信正确的是【  C  】
A. 信号量是进程间通信机制中唯一同步机制
B. 消息队列读取函数msgrcv()只能读取队头的消息
C. 共享内存的实现分为两个步骤:创建或打开共享内存和映射共享内存
D. 信号量既可以解决进程间的同步问题,但不能解决进程间的互斥问题。
10. linux网络编程中,下面哪个函数是客户端、服务端所必须调用
的。【  C  】
A. listen( )
B. accept( )
C. socket( )
D. bind( )
11.使用下面哪个函数返回值可知道文件操作已到文件末尾【C】A.fopen  B.ftell  C.feof    D.fseek
三、判断题
1. select主要解决了多路IO复用的问题。(√)
2. 嵌入式linux的底层IO函数(如read())带有缓冲区,可直接
对文件进行读写操作。( X)不带缓冲区
3. 嵌入式linux的标准IO函数(如fread())不带有缓冲区,可直
接对文件进行读写操作。( X)不可直接对文件操作
4. linux api是linux操作系统直接提供的函数接口。(X )不
是直接
5. 参数“-static”的作用是告诉gcc及库进行静态链接。(√)
6. internet上的数据在网络上是以高位字节优先的顺序在网络上传
输的。(√)
7. 创建线程的实质就是确定该线程函数的入口点,通常使用的函数
是pcreate_thread。( X)  pthread_create
8. 当linux线程出现错误的时候,可以使用exit( )终止线程。(X )
pthread_exit
9. fork( )函数是linux中一个非常重要的函数,在子进程中其返回
值等于0。(√)
10. linux中不是所有的socket都要调用bind函数进行端口绑定。
(√)
11. 标准IO函数fread读取成功时返回的是成功读取的记录数。(X )
记录数的数目
12. 底层IO函数read读取成功返回的的时成功读取字节数(√)
13. 在linux中,每个api都会对应一个或多个系统调用(X)可以
不对应

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。