2015年下半年上午 程序员 试题及答案与解析-软考考试真题-基础知识 联系客服

发布时间 : 星期二 文章2015年下半年上午 程序员 试题及答案与解析-软考考试真题-基础知识更新完毕开始阅读8303cc2bf11dc281e53a580216fc700aba685205

全国计算机技术与软件专业技术资格(水平)考试库

china_nejcer

能正确访问该文件且效率较高的方式为(25)。

(24)

A.\\document1\\

B.E:\\document1\\document2 C.document2\\

D.E:\\document2\\document1 (25)

A.\\document1\\test.docx

B.document1\\document2\\test.docx C.document2\\test.docx

D.E:\\document1\\document2\\test.docx 【参考答案】(24)B、(25)C

【答案解析】按查找文件的起点不同可以将路径分为绝对路径和相对路径。从根目录开始的路径称为绝对路径:从用户当前工作目录开始的路径称为相对路径,相对路径是随着当前工作目录的变化而改变的。

在Windows操作系统中,绝对路径是从根目录开始到文件所经过的文件夹名构成的,并以“\\”开始,表示根目录;文件夹名之间用符号“\”分隔。按题意,“test.docx”的绝对路径表示为:E:\\document1\\document2。相对路径是从当前文件夹开始到文件所经过的文件夹名。编程时采用相对路径名document2\\test.docx,不仅能正确地访问该文件而且效率也更高。

? 第26题.己知有5个进程共享一个互斥段,如果最多允许2个进程同时进入互斥段,

则相应的信号量的变化范围是(26)。

A.-5~1 B.-4~1 C.-3~2 D.-2~3 【参考答案】C

【答案解析】因为系统中有5个进程共享一个互斥段,如果最多允许2个进程同时进入互斥段,则信号量S的初值应设为2,当第一个进程进入互斥段时,信号量S减1等于1;当第二个进程进入互斥段时,信号量S减1等于0;……:当第5个进程进入互斥段时,信号量S减1等于-3。可见,信号量的变化范围是-3~2。

? 第27题.进程的三态模型如下图所示,其中的a、b和c处应分别填写(27)。

2015年下半年上午-程序员-上午试题及答案与解析(软考真题-基础知识)9/28

全国计算机技术与软件专业技术资格(水平)考试库

china_nejcer

A.就绪、阻塞和运行 B.就绪、运行和阻塞 C.阻塞、就绪和运行 D.运行、就绪和阻塞 【参考答案】A

【答案解析】进程具有三种基本状态:运行、就绪和阻塞。处于这三种状态的进程在一定条件下,其状态可以转换。当CPU空闲时,系统将选择处于就绪态的一个进程进入运行态;而当CPU的一个时间片用完时,当前处于运行态的进程就进入了就绪态;进程从运行到阻塞状态通常是由于进程释放CPU,等待系统分配资源或等待某些事件的发生。例如,执行了P操作系统暂时不能满足其对某资源的请求,或等待用户的输入信息等:当进程等待的事件发生时,进程从阻塞到就绪状态,如I/O完成。

? 第28题.在计算机系统中,除了机器语言,(28)也称为面向机器的语言。

A.汇编语言 B.通用程序设计语言 C.关系数据库查询语言 D.函数式程序设计语言 【参考答案】A

【答案解析】汇编语言是与机器语言对应的程序设计语言,因此也是面向机器的语言。 从适用范围而言,某些程序语言在较为广泛的应用领域被使用来编写软件,因此成为通用程序设计语言,常用的如C/C++,Java等。

关系数据库查询语言特指SQL,用于存取数据以及查询、更新和管理关系数据库系统中的数据。

函数式编程是一种编程范式,它将计算机中的运算视为函数的计算。函数编程语言最重要的基础是λ演算(lambdacalculus),其可以接受函数当作输入(参数)和输出(返回值)。

? 第29题.编译过程中使用(29)来记录源程序中各个符号的必要信息,以辅助语义的

正确性检查和代码生成。

A.散列表 B.符号表

2015年下半年上午-程序员-上午试题及答案与解析(软考真题-基础知识)10/28

全国计算机技术与软件专业技术资格(水平)考试库

china_nejcer

C.单链表 D.决策表 【参考答案】B

【答案解析】编译过程中符号表的作用是连接声明与引用的桥梁,记住每个符号的相关信息,如作用域和绑定等,帮助编译的各个阶段正确有效地工作。符号表设计的基本设计目标是合理存放信息和快速准确查找。符号表可以用散列表或单链表来实现。

? 第30、31题.函数f()、g()的定义如下所示,已知调用f时传递给其形参x的值

是10。若在f中以传值方式调用g,则函数f的返回值为(30);若以引用方式调用g,则函数f的返回值为(31)。

(30)

A.10 B.15 C.25 D.30 (31)

A.10 B.15 C.25 D.30

【参考答案】(30)C、(31)D

【答案解析】若实现函数调用时,将实参的值传递给对应的形参,则称为是传值调用。这种方式下形式参数不能向实参传递信息。引用调用的本质是将实参的地址传给形参,函数中对形参的访问和修改实际上就是针对相应实际参数变量所作的访问和改变。

根据题目说明,当调用函数f时,形参x首先得到10,接下来以传值方式调用函数g,也就是将f中x的值传给g的参数x。在这种情况下,系统为f中的x与g中的x分别分配存储单元。执行g中的“x=x+5”运算后,g中x的值变为15,返回值15存入f的变量y(即y的值变为10),而f中x的值没有变,因此函数f的返回值为25(x=10,y=15)。

在引用方式调用g时,g中对其形参x的修改可视为是对调用g时实参的修改,因此调用g之后,f中的y得到返回值15,f中的x也被修改为15,所以f的返回值为30。

? 第32题.算术表达式a+b-c*d的后缀式是(32)(-、+、*表示算术的减、加、乘运

算,运算符的优先级和结合性遵循惯例)。

A.ab+cd*-

2015年下半年上午-程序员-上午试题及答案与解析(软考真题-基础知识)11/28

全国计算机技术与软件专业技术资格(水平)考试库

china_nejcer

B.abc+-d* C.abcd+-* D.ab+c-d* 【参考答案】A

【答案解析】后缀式(逆波兰式〉是波兰逻辑学家卢卡西维奇发明的一种表示表达式的方法。这种表示方式把运算符写在运算对象的后面,例如,把a+b写成ab+,所以也称为后缀式。 算术表达式a+b-c*d的后缀式为ab+cd*-。 用二叉树表示a十b-c*d如下图所示。

? 第33、34题.设数组A[1…m,1…n]的每个元素占用1个存储单元,对于数组元素A[ij]

(1≤i≤m,1≤j≤n),在按行存储方式下,其相对于数组空间首地址的偏移量为(33);在按列存储方式下,其相对于数组空间首地址的偏移量为(34)。

(33)

A.i*(n-1)-j B.(i-1)*n+j-1 C.i*(m-1)+j D.(i-1)*m+j-1 (34)

A.j*(n-1)+I B.(j-1)*n+i-1 C.j*(m-1)+I D.(j-1)*m+i-1

【参考答案】(33)B、(34)D

【答案解析】数组A[1…m,1…n]的元素排列如下。

解答该问题需先计算排列在a[i,j]之前的元素个数。

按行方式存储下,元素a[i,j]之前有i-1行,每行n个元素,在第i行上a[i,j]之前有j-1个元素,因此,a[i,j]之前共有(i-1)*n+j-1个元素。

在按列存储方式下,元素a[i,j]之前有j-1列,每列m个元素,在a[i,j]所在列(即

2015年下半年上午-程序员-上午试题及答案与解析(软考真题-基础知识)12/28