大学职业资格刷题搜题APP
下载APP
课程
题库模板
WORD模板下载
EXCEL模板下载
题库创建教程
创建题库
登录
logo - 刷刷题
创建自己的小题库
搜索
程序语言基础知识题库 - 刷刷题
程序语言基础知识题库
题数
8
考试分类
中级软件设计师>程序语言基础知识
售价
¥0
手机预览
收藏
分享
复制链接
新浪微博
分享QQ
微信扫一扫
微信内点击右上角“…”即可分享
去刷题
简介
中级软件设计师-程序语言基础知识
...更多
章节目录
题目预览(可预览10题)
【单选题】
[1/8]若一种程序设计语言规定其程序中的数据必须具有类型,则有利于()。在翻译程序的过程中为数据合理分配存储单元②对参与表达式计算的数据对象进行检查③定义和应...
A.
①②③
B.
①②④
C.
②④⑤
D.
③④⑤
参考答案:
B
参考解析:

数据是程序操作的对象,类型说明数据占用的内存和存放形式。数据类型不仅可用于在基础机器中完成对值的布局,还可以用于检查表达式中对运算的应用是否正确。

【单选题】
[2/8]函数t、f的定义如下所示,其中,a是整型全局变量。设调用函数t前a的值为5,则在函数中以传值调用(callbyvalue)方式调用函数f时,输出为(1...
A.
12
B.
16
C.
20
D.
24
参考答案:
B
参考解析:

本题主要考查函数调用时参数的传递方式。如果采用传值方式调用,则形参值的变化不会影响实参;如果采用引用方式调用,则形参值的变化会直接反映到实参。本题中如果在函数t中采用传值方式调用函数f,a的值传给形参r,在函数f中,a的值变为6,r的值为10并返回赋给变量x,由于a是全局变量,退出函数f后a的值依然为6,所以函数t的输出结果为16。如果函数t采用传值方式调用函数f,则形参r就是对实参a的引用,对r的修改就是对a的修改,在执行a=r+1时,a和r的值都变为6,执行r=r*2,a和r的值都变为12,并将r的值返回给x,因此函数t的输出结果为24。

【单选题】
[3/8]算术表达式采用逆波兰式表示时不用括号,可以利用(1)进行求值。与逆波兰式ab-cd+*对应的中缀表达式是(2)。空白(1)处应选择()
A.
数组
B.
C.
队列
D.
散列表
参考答案:
B
参考解析:

逆波兰式表示方式把运算符写在运算对象的后面,不需要使用括号。由于逆波兰式表示中的各个运算是按顺序执行的,因此,它的计值很容易实现。为此,仅需从左到右依次扫视表达式中的各个符号,每遇到一个运算对象,就把它压入栈顶暂存起来;每遇到一个二元(或一元)运算符时,就取出栈顶的两个(或一个)运算对象进行相应的运算,并用运算结果去替换栈顶的这两(或一)个运算对象,然后再继续扫视余留的符号,如此等等,直到扫视完整个表达式为止。当上述过程结束时,整个表达式的值将留于栈顶。a-b+c*d对应的逆波兰式为ab-cd*+。(a-b)*c+d对应的逆波兰式为ab-c*d+。(a-b)*(c+d)对应的逆波兰式为ab-cd+*。a-b*c+d对应的逆波兰式为abc*-d+。

【单选题】
[4/8]若C程序的表达式中引用了未赋初值的变量,则()。
A.
编译时一定会报告错误信息,该程序不能运行
B.
可以通过编译并运行,但运行时一定会报告异常
C.
可以通过编译,但链接时一定会报告错误而不能运行
D.
可以通过编译并运行,但运行结果不一定是期望的结果
参考答案:
D
参考解析:

全局变量和静态局部变量在定义时如果没有初始化,编译时会自动初始化为0;而普通的局部变量,如果没有初始化,则其值是一个随机数。在C程序表达式中,只要引用的变量定义了,就可以通过编译并运行,但运行结果不一定是期望的结果。

【单选题】
[5/8]若二维数组arr[1..M,1..N]的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i,j]在该数组空间的地址为()。
A.
base+((i-1)*M+j-1)*K
B.
base+((i-1)*N+j-1)*K
C.
base+((j-1)*M+i-1)*K
D.
base+((j-1)*N+i-1)*K
参考答案:
C
参考解析:

数据arr共M行N列,下标均从1开始。元素arr[i,j]在数据arr的第i行第j列,如果数组元素按列存储,则1~j-1列共有(j-1)*M个元素,a[i,j]之前共(j-1)*M+i-1个元素,元素arr[i,j]在该数组空间的地址为base+((j-1)*M+i-1)*K。

【单选题】
[6/8]算术表达式采用逆波兰式表示时不用括号,可以利用(1)进行求值。与逆波兰式ab-cd+*对应的中缀表达式是(2)。空白(2)处应选择()
A.
a-b+c*d
B.
(a-B.*c+d
C.
(a-B.*(c+D.
D.
a-b*c+d
参考答案:
C
参考解析:

逆波兰式表示方式把运算符写在运算对象的后面,不需要使用括号。由于逆波兰式表示中的各个运算是按顺序执行的,因此,它的计值很容易实现。为此,仅需从左到右依次扫视表达式中的各个符号,每遇到一个运算对象,就把它压入栈顶暂存起来;每遇到一个二元(或一元)运算符时,就取出栈顶的两个(或一个)运算对象进行相应的运算,并用运算结果去替换栈顶的这两(或一)个运算对象,然后再继续扫视余留的符号,如此等等,直到扫视完整个表达式为止。当上述过程结束时,整个表达式的值将留于栈顶。a-b+c*d对应的逆波兰式为ab-cd*+。(a-b)*c+d对应的逆波兰式为ab-c*d+。(a-b)*(c+d)对应的逆波兰式为ab-cd+*。a-b*c+d对应的逆波兰式为abc*-d+。

【单选题】
[7/8]如图所示为一个有限自动机(其中,A是初态、C是终态),该自动机识别的语言可用正规式()表示。 【图片】
A.
(0|1)*01
B.
1*0*10*1
C.
1*(0)*01
D.
1*(0|10)*1*
参考答案:
A
参考解析:

在正规式中,符号"*"表示重复若干次(包括0次),符号"1"表示"或"。在状态A,可以输入1或0,如果输入1还可以回到状态A,如果输入0直接到达状态B;在状态B,可以输入0或1,如果输入0则还回到状态B,如果输入1则进入状态C,在状态C,可以输入0或1,如果输入0到达状态B,如果输入1到达状态A,但由于C是终态,自动机可识别的语言是由0、1构成的字符串的集合,但该集合必须以01结尾,因此选项A正确。

【单选题】
[8/8]函数t、f的定义如下所示,其中,a是整型全局变量。设调用函数t前a的值为5,则在函数中以传值调用(callbyvalue)方式调用函数f时,输出为(1...
A.
12
B.
16
C.
20
D.
24
参考答案:
D
参考解析:

本题主要考查函数调用时参数的传递方式。如果采用传值方式调用,则形参值的变化不会影响实参;如果采用引用方式调用,则形参值的变化会直接反映到实参。本题中如果在函数t中采用传值方式调用函数f,a的值传给形参r,在函数f中,a的值变为6,r的值为10并返回赋给变量x,由于a是全局变量,退出函数f后a的值依然为6,所以函数t的输出结果为16。如果函数t采用传值方式调用函数f,则形参r就是对实参a的引用,对r的修改就是对a的修改,在执行a=r+1时,a和r的值都变为6,执行r=r*2,a和r的值都变为12,并将r的值返回给x,因此函数t的输出结果为24。

刷刷题-刷题-导入试题 - 刷刷题刷刷题-刷题-导入试题 - 刷刷题刷刷题-刷题-导入试题 - 刷刷题
刷刷题-刷题-导入试题 - 刷刷题
刷刷题-刷题-导入试题 - 刷刷题
刷刷题-单词鸭