首页 > 全部 > 四级网络工程师 > 计算机四级网络工程师(操作系统原理)模拟试卷20

计算机四级网络工程师(操作系统原理)模拟试卷20

本单篇文档共9292字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机四级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
四级网络工程师 章节练习 4189人下载
价格: 2.00 原价:¥9.00
收藏

计算机四级网络工程师(操作系统原理)模拟试卷20

操作系统原理——单选题

1.对于如下C语言程序int main()

{

pid_t pid;

int a= 20;

pid = fork();

if (pid==0)

printf(\\(A)

A. This is the son process, a=19 This is the dad process, a=21

B. This is the son process, a=18

C. This is the dad process, a=22

D. This is the dad process, a=19 This is the son process, a=21

解析:在UNIX类操作系统中,父进程通过调用fork()函数创建子进程,子进程获得与父进程地址空间相同的一份拷贝,包括文本、数据和bss段、堆以及用户栈,fork()函数被调用一次,却返回2次:一次是在调用进程中,一次是在新创建的子进程中,所以题目程序中的变量a,在父进程和子进程中存在2份,初值都是20,程序运行后子进程输出a=19,父进程输出a=21。故本题答案选择A选项。

2.对于如下C语言程序

int main()

{

pid_t pid;

int a = 20;

pid = fork();

if (pid ==0)

printf(\\(A)

A. This is the son process, a=21 This is the dad process, a=19

B. This is the son process, a=22

C. This is the dad process,a=18

D. This is the dad process, a=21 This is the son process, a=19

解析:在UNIX类操作系统中,父进程通过调用fork()函数创建子进程,子进程获得与父进程地址空间相同的一份拷贝,包括文本、数据和bss段、堆以及用户栈,fork()函数被调用一次,却返回2次:一次是在调用进程中,一次是在新创建的子进程中,所以题目程序中的变量a,在父进程和子进程中存在2份,初值都是20,程序运行后子进程输出a=21,父进程输出a=19。故本题答案选择A选项。

3.对于如下C语言程序

int main()

{

pid_t pid;

int a=1;

pid = fork();

if (pid==0)

printf(\\(A)

A. This is the son process, a=2

This is the dad process, a=0

B. This is the son process, a=2

C. This is the dad process,a=0

D. This is the dad process, a=2

This is the son process, a=0

解析:在UNIX类操作系统中,父进程通过调用fork()函数创建子进程,子进程获得与父进程地址空间相同的一份拷贝,包括文本、数据和bss段、堆以及用户栈,fork()函数被调用一次,却返回2次:一次是在调用进程中,一次是在新创建的子进程中,所以题目程序中的变量a,在父进程和子进程中存在2份,初值都是1,程序运行后子进程输出a=2,父进程输出a=0。故本题答案选择A选项。

4.对于如下C语言程序

int main()

{

pid_t pid;

int a=1;

pid = fork();

if (pid ==0)

printf(\\(A)

A. This is the son process, a=0

This is the dad process, a=2

B. This is the son process, a=0

C. This is the dad process, a=2

D. This is the dad process, a=0

This is the son process, a=2

解析:在UNIX类操作系统中,父进程通过调用fork()函数创建子进程,子进程获得与父进程地址空间相同的一份拷贝,包括文本、数据和bss段、堆以及用户栈,fork()函数被调用一次,却返回2次:一次是在调用进程中,一次是在新创建的子进程中,所以题目程序中的变量a,在父进程和子进程中存在2次,初值都是1,程序运行后子进程输出a=0,父进程输出a=2。故选择A选项。

5.对于如下C语言程序:

int main()

{

fork();

printf(\\(B)

A. 7

B. 14

C. 3

D. 28

解析:计算机程序设计中的fork()函数的返回值:若成功调用一次则返回两个值,子进程返回0,父进程返回子进程标记;否则,出错返回-1。第一个fork()函数调用后将有两个进程,输出2个Hello;第二个fork()函数调用后将有4个进程,输出4个Hello;第三个fork()函数调用后将有8个进程,输出8个Hello;总计为2+4+8=14个Hello。故选择B选项。

6.对于如下C语言程序:

int main()

{

fork();

printf(\\(A)

A. 6

B. 2

C. 4

D. 8

解析:计算机程序设计中的fork()函数的返回值:若成功调用一次则返回两个值,子进程返回0,父进程返回子进程标记;否则,出错返回-1。第一个fork()函数调用后将有两个进程,输出2个Hello;第二个fork()函数调用后将有4个进程,输出4个Hello;总计为6个Hello。故选择A选项。

7.对于如下c语言程序:

int main()

{

fork();

fork();

printf(\\(B)

A. 16

B. 20

C. 10

D. 4

解析:计算机程序设计中的fork()函数的返回值:若成功调用一次则返回两个值,子进程返回0,父进程返回子进程标记;否则,出错返回-1。在第一个prinf打印输出hello之前有2个fork()函数,所以运行成功后会打印4(22)行hello;在第2个print打印输出hello之前有4个fork()函数,所以运行成功后会打印16(24)行hello;所以一共输出20行hello。

8.对于如下C语言程序:

int main()

{

fork();

fork();

printf(\\(C)

A. 2

B. 4

C. 8

D. 6

解析:计算机程序设计中的fork()函数的返回值:若成功调用一次则返回两个值,子进程返回0,父进程返回子进程标记;否则,出错返回-1。每个printf输出“hello”都调用了2个fork()函数,故每个printf输出的“hello”是4行,一共输出8行“hello”。故选择C选项。

9.对于如下C语言程序

本文档预览:3600字符,共9292字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
计算机四级网络工程师(操作系统原理)模拟试卷20

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号